LLVM/project 0b5e65f — llvm/include/llvm/CodeGen TargetRegisterInfo.h, llvm/include/llvm/MC MCRegisterInfo.h

[TableGen] Share identical super-register class masks (#224633)

For a register class and one sub-register index, the register info
emitter generates a bit mask with a bit set for every class whose
registers have that sub-register in this class. A class gets one mask
for each sub-register index for which such classes exist. These masks
were stored in the SubClassMasks array right after the class's sub-class
mask and read by striding from it, so the position of a mask determined
which class and sub-register index it belonged to. Identical masks of
different classes and sub-register indices therefore could not be
shared. AMDGPU has 15,145 such masks, only 1,035 of them distinct, and
one is repeated 370 times.

This patch emits each distinct mask once, into a pool that follows the
sub-class masks in the SubClassMasks array, and gives each class an
array of offsets into that pool, one per mask. The offsets are relative
to the MCRegisterClass object, which is the convention SubClassMaskOff
and SuperRegIndicesOff already use, so the storage remains a constant
initializer that needs no relocations.

    [52 lines not shown]
DeltaFile
+92-39llvm/utils/TableGen/RegisterInfoEmitter.cpp
+77-0llvm/test/TableGen/RegisterInfoEmitter-superreg-masks.td
+26-2llvm/include/llvm/MC/MCRegisterInfo.h
+12-8llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+3-3llvm/lib/CodeGen/TargetRegisterInfo.cpp
+3-1llvm/unittests/CodeGen/MachineInstrTest.cpp
+213-533 files not shown
+216-569 files

FreeBSD/ports 122e079 — security/vuxml/vuln 2026.xml

security/vuxml: Document multiple vulnerabilities in jackson

Sponsored by:   Netzkommune GmbH
DeltaFile
+100-0security/vuxml/vuln/2026.xml
+100-01 files

OpenBSD/ports qLwDeg6 — sysutils/terragrunt Makefile modules.inc

   Update to terragrunt-1.2.0.
VersionDeltaFile
1.401+702-2,114sysutils/terragrunt/distinfo
1.117+259-829sysutils/terragrunt/modules.inc
1.408+1-1sysutils/terragrunt/Makefile
+962-2,9443 files

FreeBSD/ports 851e404 — devel/jackson-module-jaxb-annotations Makefile distinfo

devel/jackson-module-jaxb-annotations: Update to 2.22.4

Changes:        https://github.com/FasterXML/jackson-modules-base/blob/2.x/release-notes/VERSION-2.x

Sponsored by:   Netzkommune GmbH
DeltaFile
+3-3devel/jackson-module-jaxb-annotations/distinfo
+1-1devel/jackson-module-jaxb-annotations/Makefile
+4-42 files

FreeBSD/ports b0701cd — devel/jackson-jaxrs-providers Makefile distinfo

devel/jackson-jaxrs-providers: Update to 2.22.4

Changes:        https://github.com/FasterXML/jackson-jaxrs-providers/blob/2.x/release-notes/VERSION-2.x

Sponsored by:   Netzkommune GmbH
DeltaFile
+5-5devel/jackson-jaxrs-providers/distinfo
+1-1devel/jackson-jaxrs-providers/Makefile
+6-62 files

FreeBSD/ports a5d6925 — devel/jackson-databind Makefile distinfo

devel/jackson-databind: Update to 2.22.4

Changes:        https://github.com/FasterXML/jackson-databind/blob/2.x/release-notes/VERSION-2.x
Security:       7b3ea5d6-cf3d-11f1-a655-3497f65b111b
Security:       8c1b47e2-cf3d-11f1-a655-3497f65b111b

Sponsored by:   Netzkommune GmbH
DeltaFile
+3-3devel/jackson-databind/distinfo
+1-1devel/jackson-databind/Makefile
+4-42 files

FreeBSD/ports 1bc67da — net-mgmt/semaphore Makefile distinfo

net-mgmt/semaphore: Update to 2.19.17

Release notes: https://github.com/semaphoreui/semaphore/releases/tag/v2.19.17

Sponsored by:   Netzkommune GmbH
DeltaFile
+7-7net-mgmt/semaphore/distinfo
+1-2net-mgmt/semaphore/Makefile
+8-92 files

FreeBSD/ports 66ef522 — devel/jackson-core Makefile distinfo

devel/jackson-core: Update to 2.22.4

Changes:        https://github.com/FasterXML/jackson-core/blob/2.x/release-notes/VERSION-2.x
Security:       6a9d0f14-cf3d-11f1-a655-3497f65b111b

Sponsored by:   Netzkommune GmbH
DeltaFile
+3-3devel/jackson-core/distinfo
+1-1devel/jackson-core/Makefile
+4-42 files

LLVM/project 553fd4b — llvm/lib/Transforms/Scalar IndVarSimplify.cpp, llvm/test/Transforms/IndVarSimplify floating-point-iv.ll

[IndVarSimplify] Ensure the floating-point IV exit comparison runs at each loop iteration (#234133)

When converting a floating-point IV to an integer one, make sure that
the exit fcmp is executed on every iteration, as otherwise the IV may be
incremented past the exit value, leading the integer IV to overflow.
DeltaFile
+46-0llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
+13-4llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+59-42 files

LLVM/project 39d7f6b — llvm/lib/Transforms/InstCombine InstCombineCompares.cpp, llvm/test/Transforms/InstCombine load-cmp.ll

[InstCombine] Check stride preconditions in `foldCmpLoadFromIndexedGlobal` (#234187)

When folding a comparison of a load from a constant global into a
comparison on the index in `foldCmpLoadFromIndexedGlobal`, the
enumeration of offsets `ConstOffset + Idx * Stride` within the global is
assumed to be exhaustive. This holds as long as the stride is positive
for nusw GEPs, and it is a power of two for non-nusw GEPs, as `Idx *
Stride` may wrap. Neither assumption is guaranteed by the decomposed
linear expression, so make sure these are checked explicitly.

Fixes: https://github.com/llvm/llvm-project/issues/233092.
DeltaFile
+45-0llvm/test/Transforms/InstCombine/load-cmp.ll
+11-0llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+56-02 files

LLVM/project 01e762f — llvm/lib/Transforms/Instrumentation AllocToken.cpp, llvm/test/Instrumentation/AllocToken funclet.ll

[AllocToken] Preserve operand bundles when replacing allocation calls (#234445)

With the non-fast ABI, `replaceAllocationCall()` replaces an allocation
call with a new call or invoke that takes an additional token ID
argument. It copies the calling convention, attributes, and metadata of
the original call, but not its operand bundles.

In exception handling (EH) based on catchpad`/`cleanuppad, as used by
the Windows MSVC ABI and WebAssembly, each call inside a catch or
cleanup block carries a "funclet" operand bundle that identifies the
enclosing EH pad. Without the bundle, the IR is invalid: the verifier
may reject it, or the backend may silently replace the call with
unreachable.

Preserve all operand bundles of the original call.
DeltaFile
+118-0llvm/test/Instrumentation/AllocToken/funclet.ll
+5-2llvm/lib/Transforms/Instrumentation/AllocToken.cpp
+123-22 files

LLVM/project 1f6ac81 — llvm/lib/Target/Lanai LanaiMemAluCombiner.cpp LanaiOptions.td, llvm/test/CodeGen/Lanai mem_alu_combiner.ll

[Lanai] Rename -lanai-mem-alu-combiner to avoid a pass name collision (#234513)

opt registers each legacy pass name as an option, and
LanaiMemAluCombinerLegacy, named lanai-mem-alu-combiner, causes a
collision.
DeltaFile
+2-2llvm/lib/Target/Lanai/LanaiOptions.td
+1-1llvm/test/CodeGen/Lanai/mem_alu_combiner.ll
+1-1llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
+4-43 files

OpenBSD/ports 7SJiIH4 — print/py-pypdf Makefile distinfo

   Update to py3-pypdf-6.21.2.
VersionDeltaFile
1.87+2-2print/py-pypdf/distinfo
1.93+1-1print/py-pypdf/Makefile
+3-32 files

LLVM/project f514b16 — clang/test/CodeGen mrecord-mcount.c mnop-mcount.c, llvm/lib/IR Verifier.cpp

[X86] Support -mnop-mcount and -mrecord-mcount on x86 elf targets (#184641)

Support mnop-mcount and mrecord-mcount attributes when used with the
fentry-call=true attribute.

Similar to SystemZ, use the mnop-mcount attribute to place a nop instead
of a call to __fentry__.

Likewise, use the mrecord-mcount attribute to record the location of the
call to fentry (or nop if used with the above) to a section named
__mcount_loc.

This enables the use of -mnop-mcount -mrecord-mcount for x86 in Clang.
DeltaFile
+65-0llvm/test/CodeGen/X86/mrecord-mcount-01.ll
+50-0llvm/test/CodeGen/X86/mnop-mcount-01.ll
+31-10llvm/lib/Target/X86/X86MCInstLower.cpp
+16-0clang/test/CodeGen/mrecord-mcount.c
+16-0clang/test/CodeGen/mnop-mcount.c
+12-0llvm/lib/IR/Verifier.cpp
+190-107 files not shown
+216-4113 files

LLVM/project 0dcebf3 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lsx vhsubw.ll vhaddw.ll

[LoongArch] Lower vector sign extension with VSLLWIL and VEXTH

vsllwil.{h.b/w.h/d.w} with a zero shift amount sign-extends the low
half of the source elements, and vexth.{h.b/w.h/d.w} the high half.
Use them for the custom SIGN_EXTEND legalization and for
SIGN_EXTEND_VECTOR_INREG, instead of computing the sign mask with vslti
and interleaving it with vilvl/vilvh, which takes one more instruction
per step. SIGN_EXTEND_VECTOR_INREG now also handles 4x extensions, which
previously fell back to a shuffle followed by a vslli/vsrai pair.
DeltaFile
+55-80llvm/test/CodeGen/LoongArch/lsx/vec-sext.ll
+35-57llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
+22-27llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+16-19llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
+4-8llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
+4-8llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
+136-1996 files

OpenBSD/ports gBxZoml — sysutils/opentofu Makefile distinfo

   Update to opentofu-1.13.2.
VersionDeltaFile
1.51+2-2sysutils/opentofu/distinfo
1.52+1-1sysutils/opentofu/Makefile
+3-32 files

OpenBSD/ports Jw12hCl — x11/gnome/librsvg distinfo.old Makefile

   Update to librsvg-2.63.3.
VersionDeltaFile
1.137+108-118x11/gnome/librsvg/distinfo
1.20+53-58x11/gnome/librsvg/crates.inc
1.28+2-2x11/gnome/librsvg/distinfo.old
1.260+2-2x11/gnome/librsvg/Makefile
+165-1804 files

LLVM/project 3c9da87 — llvm/test/CodeGen/AMDGPU packed-fneg-fsub-fp16.ll minmax.ll

[AMDGPU] Adjust amdgpu fmax/fmin legalization for GISEL (#223351)

Please see https://github.com/llvm/llvm-project/pull/203150 and
https://github.com/llvm/llvm-project/pull/202917 for more information.

---------

Co-authored-by: shore <shorshen at amd.com>
DeltaFile
+175-499llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
+175-499llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
+103-328llvm/test/CodeGen/AMDGPU/fmaxnum.ll
+98-311llvm/test/CodeGen/AMDGPU/fminnum.ll
+46-140llvm/test/CodeGen/AMDGPU/minmax.ll
+35-96llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-fp16.ll
+632-1,87313 files not shown
+792-2,09719 files

OpenBSD/src OH1m4Qz — usr.bin/tmux tmux.h tty-keys.c

   Apply timeout to window size queries as well, GitHub issue 5777.
VersionDeltaFile
1.496+8-5usr.bin/tmux/tty.c
1.221+4-4usr.bin/tmux/tty-keys.c
1.1468+2-2usr.bin/tmux/tmux.h
+14-113 files

LLVM/project d7a7bd1 — clang/include/clang/AST SemaProxy.h, clang/include/clang/Sema SemaProxy.h

[Clang] Instantiate functions from constant evaluation. (#205557)

This PR is a rework of #173537, which was a rework of #115168; the sole
goal remains to address #73232. I used #173537 as a starting point (for
both code and tests), but attempted to follow the alternative design
requested in the comments therein.

A quick design overview:
- A `SemaProxy` interface is introduced to `AST`, which defines a set of
(possibly mutable) semantic operations that can be triggered by the
evaluation of certain expressions; this class finds its implementation
in `Sema/SemaEval.cpp`. `Sema` creates a unique `SemaProxy` to itself at
construction time, which is made available via
`Sema::getproxyForEval()`.
- Ordinary evaluation (e.g., via `Expr::EvaluateAsConstantExpr`) has no
access to `SemaProxy`, and therefore cannot act on the AST: instead,
variants of these functions (e.g.,
`Expr::EvaluateAsMandatedConstantExpr`) are introduced, which accept a
`SemaProxy &`. This makes clear from the call-side whether an operation

    [36 lines not shown]
DeltaFile
+246-104clang/lib/AST/ExprConstant.cpp
+320-6clang/test/SemaCXX/constexpr-late-instantiation.cpp
+41-0clang/include/clang/Sema/SemaProxy.h
+40-0clang/include/clang/AST/SemaProxy.h
+36-0clang/lib/Sema/SemaProxy.cpp
+14-16clang/lib/AST/ByteCode/Context.cpp
+697-12615 files not shown
+842-16221 files

LLVM/project 7ea2a13 — llvm/include/llvm/Analysis LoopInfo.h, llvm/lib/Analysis LoopInfo.cpp

[IndVarSimplify] Skip exit predication past divergent effects (#183906) (#194202)

This PR makes `IndVarSimplify::predicateLoopExits` skip divergent
effects. As [nikic](https://github.com/nikic) 's suggestion, I reuse the
code about infinite loop detection in `LoopDeletion`

Close #183906
DeltaFile
+241-0llvm/test/Transforms/IndVarSimplify/skip-predication-infinite-subloop.ll
+107-0llvm/test/Analysis/ScalarEvolution/finite-loop-droppable.ll
+97-0llvm/test/Transforms/LoopDeletion/loop-nest-finite.ll
+3-30llvm/lib/Transforms/Scalar/LoopDeletion.cpp
+28-0llvm/lib/Analysis/LoopInfo.cpp
+10-0llvm/include/llvm/Analysis/LoopInfo.h
+486-302 files not shown
+495-308 files

OpenBSD/ports EMNrpID — net/coredns Makefile modules.inc, net/coredns/pkg PLIST

   Update to coredns-1.15.0.
VersionDeltaFile
1.37+768-1,168net/coredns/distinfo
1.28+243-374net/coredns/modules.inc
1.43+1-1net/coredns/Makefile
1.13+2-0net/coredns/pkg/PLIST
+1,014-1,5434 files

LLVM/project abef2e8 — clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/test/CIR/Transforms/abi-lowering amdgpu-calling-conv.cir

[CIR] Support direct-in-registers aggregates and array coercions in call-conv lowering
DeltaFile
+126-2clang/test/CIR/Transforms/abi-lowering/amdgpu-calling-conv.cir
+19-2clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+145-42 files

FreeBSD/ports 7541907 — security/i2pd Makefile distinfo

security/i2pd: update to 3.0.0

Changes:        https://github.com/PurpleI2P/i2pd/releases/tag/3.0.0
DeltaFile
+87-9security/i2pd/pkg-plist
+3-3security/i2pd/distinfo
+1-2security/i2pd/Makefile
+91-143 files

FreeBSD/ports 6b12752 — www/librespeed Makefile distinfo

www/librespeed: update to 6.3.1

Changes:        https://github.com/librespeed/speedtest/releases/tag/v6.3.1
DeltaFile
+3-3www/librespeed/distinfo
+1-1www/librespeed/Makefile
+4-42 files

LLVM/project 5d7d143 — llvm/test/CodeGen/RISCV/GlobalISel fp128.ll

[RISCV][NFC] Added fp128 type testcases (#233095)

**Reference PR -** https://github.com/llvm/llvm-project/pull/233100
DeltaFile
+4,641-516llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
+4,641-5161 files

OpenBSD/ports rYn7O0x — sysutils/cloud-sql-proxy Makefile distinfo

   Update to cloud-sql-proxy-2.26.2.
VersionDeltaFile
1.54+2-2sysutils/cloud-sql-proxy/distinfo
1.56+1-1sysutils/cloud-sql-proxy/Makefile
+3-32 files

LLVM/project 2652a6d — llvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU/Utils AMDGPUPALMetadata.h AMDGPUPALMetadata.cpp

AMDGPU: Include callees in backend_stack_size PAL metadata

The stack size reported in the PAL metadata of a chain function should
include the stack sizes of any callees, since the consumers don't have
access to the call graph (this is especially important for whole wave
functions, because we don't even emit any PAL metadata for them). The
consumers are generally expected to allocate scratch based on the
maximum `.backend_stack_size` emitted for the functions in a pipeline.
They will also have to deal with recursion and indirect calls.

The `.stack_frame_size_in_bytes` metadata remains unchanged, i.e. it
represents just the stack size of the current function (without its
callees).

Assisted-by: AI
DeltaFile
+56-4llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
+9-3llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
+8-2llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h
+6-1llvm/docs/AMDGPUUsage.rst
+2-2llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
+2-2llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable-dvgpr.ll
+83-142 files not shown
+87-178 files

LLVM/project 22ee7ce — llvm/lib/Target/AMDGPU/Utils AMDGPUPALMetadata.h, llvm/test/CodeGen/AMDGPU pal-metadata-3.6.ll pal-metadata-3.6-dvgpr.ll

AMDGPU: Emit .backend_stack_size for entry points

Currently, the `.backend_stack_size` PAL metadata is only emitted for
functions, but some of the consumers expect it to exist for the entry
points too (without it, if the entry point uses more scratch than any
other functions in the pipeline then we will allocate too little
scratch).

The meaning is the same for entry functions as it is for non-entry
functions: the stack size of the current function plus any of its
non-chain callees.

Unlike `.scratch_memory_size`, this does not get rounded up to 16.

Assisted-by: AI
DeltaFile
+7-5llvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
+5-0llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h
+4-0llvm/test/CodeGen/AMDGPU/pal-metadata-3.6.ll
+4-0llvm/test/CodeGen/AMDGPU/pal-metadata-3.6-dvgpr.ll
+4-0llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
+4-0llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.gfx950.ll
+28-514 files not shown
+55-520 files

LLVM/project 7687706 — llvm/lib/Target/AMDGPU SIFrameLowering.h SIFrameLowering.cpp, llvm/test/CodeGen/AMDGPU amdgpu-cs-chain-cc.ll pei-amdgpu-cs-chain.mir

AMDGPU: Reset SP in entry point before chain call

Chain calls are always tail calls and they are expected to completely
take over the caller's stack frame. Chain functions receive a stack
pointer from their caller, but that is only in order to support
reserving space at the bottom of the stack for CWSR.

Currently, when an entry function has its own stack variables, the SP we
pass on to the chain function points after the stack of the caller. This
is wasteful, so the current patch introduces an epilogue for entry
functions if they contain a chain call. The epilogue will reset SP to
point to the bottom of the stack, either by copying it from FP if we've
been reserving space for CWSR or by setting it directly to zero.

Note that we also modify `requiresStackPointerReference` to return false
for tail calls. This means the prologue will only initialize SP if it's
really needed by the current function, relying on the epilogue to handle
it if we only need to set SP for the sake of our chain callee. This
avoids situations where we might unnecessarily initialize the SP with

    [4 lines not shown]
DeltaFile
+47-4llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+8-9llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
+3-7llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
+4-5llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
+3-0llvm/lib/Target/AMDGPU/SIFrameLowering.h
+65-255 files