LLVM/project ec4a1cc — llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-amdgcn.ptr.s.buffer.load.ll

[AMDGPU][GlobalISel] Pre-commit tests for split s.buffer.load offset overflow

Add divergent-offset ptr.s.buffer.load tests where the 256- and 512-bit
loads are split into 128-bit pieces at an offset of 4092, causing
overflow on the immediate field.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+217-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ptr.s.buffer.load.ll
+217-01 files

LLVM/project 28eed40 — llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-amdgcn.s.buffer.load.ll regbankselect-amdgcn.ptr.s.buffer.load.ll

[AMDGPU][GlobalISel] Fix immediate offset overflow when splitting s.buffer.load

When we're splitting a very large (>128 bit) s.buffer.load into
128-bit buffer loads, we add offsets to each split load. Currently,
when dealing with ptr.s.buffer.load, the code wouldn't subtract enough
from the immediate offset, so that when we added that +128 or +256,
we'd overflow the 12-bit immediate, causing silent overflow.

This commit fixes the issue by correctly calling the offset
splitter with a "alignment" that ensures that all those intermediate
loads don't overflow.

This matches the behavior in SDag and RegisterBankInfo.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+30-34llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
+24-24llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ptr.s.buffer.load.ll
+16-20llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ptr.s.buffer.load.ll
+8-8llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
+4-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+82-875 files

LLVM/project 94d82d0 — llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU amdgcn-demanded-vector-elts.ll

[AMDGPU] Reduce resource align when shrinking buffer loads

Since the `align` on buffer intrinsics includes the offset argument,
the demand, `simplifyAMDGCNMemoryIntrinsicDemanded` needs to account
for the value added to that offset, which might reduce the alignment
of the load.

AI disclosure: Claude wrote the code, I looked at it and wrote the
commit message.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+14-2llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+5-5llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
+19-72 files

LLVM/project 1ded4f1 — llvm/test/Transforms/InstCombine/AMDGPU amdgcn-demanded-vector-elts.ll

[AMDGPU] Pre-commit tests for buffer load shrinking with align

Buffer load demanded elements analysis isn't shrinking the `align`
annotated on the intrinsic correctly.

AI disclosure: Claude wrote these, I wrote this message

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+78-0llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
+78-01 files

LLVM/project 0f7faf8 — llvm/lib/Transforms/IPO Attributor.cpp, llvm/test/Transforms/Attributor light-preserved-analyses.ll

Attributor: Preserve the function analyses in the light module pass (#240714)

AttributorLightPass preserved FunctionAnalysisManagerCGSCCProxy, which
is meaningless for a module pass, instead of
FunctionAnalysisManagerModuleProxy. When the pass changed anything,
the module proxy was invalidated, which clears all cached function
analyses, so e.g. IPSCCP recomputed the assumption cache, TTI and TLI
of every function. The pass neither adds nor removes functions, and it
already invalidates the analyses of the functions it changes.

CTMark instructions:u with -attributor-enable=light changes by O3
-0.02%,
ThinLTO -0.10% (kimwitu++ -0.50%, sqlite3 -0.38%).

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+13-0llvm/test/Transforms/Attributor/light-preserved-analyses.ll
+1-1llvm/lib/Transforms/IPO/Attributor.cpp
+14-12 files

LLVM/project 39a6ebb — llvm/include/llvm/Transforms/IPO Attributor.h

Applying reviewers feedback

Co-authored-by: Shilei Tian <i at tianshilei.me>
DeltaFile
+2-1llvm/include/llvm/Transforms/IPO/Attributor.h
+2-11 files

LLVM/project 528affb — libc/test/UnitTest LibcTest.h FPMatcher.h, libc/test/src/sys/socket/linux socket_test_support.h

[libc][test] Align custom matchers with GoogleMock (#240616)

LibcTest custom matchers implemented stateful match(T) and
explainError()
methods writing directly to tlog, whereas GoogleMock's polymorphic
is_gtest_matcher protocol expects const MatchAndExplain(T,
MatchResultListener *), DescribeTo, and DescribeNegationTo methods.

Add a hermetic MatchResultListener wrapper around TestLogger in
LibcTest.h, allow the GoogleTest/GoogleMock hook method names in
libc/.clang-tidy, and update custom matchers across libc/test and
libc/utils to implement MatchAndExplain(..., MatchResultListener *)
const
so they work directly with GoogleMock's EXPECT_THAT and ASSERT_THAT
without macro redefinitions.

Part of #91630

Assisted-by: Gemini
DeltaFile
+201-166libc/utils/MPFRWrapper/MPFRUtils.cpp
+56-39libc/test/UnitTest/ErrnoSetterMatcher.h
+44-36libc/test/UnitTest/FPMatcher.h
+40-35libc/utils/MPFRWrapper/MPFRUtils.h
+24-42libc/test/src/sys/socket/linux/socket_test_support.h
+46-20libc/test/UnitTest/LibcTest.h
+411-33813 files not shown
+603-52919 files

LLVM/project 2ebb2ae — llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG large-switch.ll

[SimplifyCFG] Fix and improve code size check when merging switches into predecessors (#240837)

The function `isValueEqualityComparison` had a surprising check
`incoming_edges * outgoing_edges < 128` to prevent code size explosion.

However it had two issues:

- The function was used in a few places that didn't need the check.
- It only considered `switch`, so conditional `br` wasn't considered.

Move the check to the only place where it's needed, and make it check
conditional `br`s as well. A conditional `br` is not different than a 2-way
switch, so it doesn't make sense to distinguish them.

Also fix the function documentation.

The function becomes easier to understand as it now does what it advertises: if
the instruction is a value equality comparison it returns the value being
compared. (with no surprise checks)

    [7 lines not shown]
DeltaFile
+44-44llvm/test/Transforms/SimplifyCFG/large-switch.ll
+10-8llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+54-522 files

LLVM/project 7702851 — clang/lib/CIR/Dialect/IR CIRDialect.cpp, clang/unittests/CIR ControlFlowTest.cpp

[CIR] Make cir.condition exit to the loop, not to itself

The loop-exit successor of `cir.condition` was
`RegionSuccessor(getOperation())`, which names the condition op instead
of the loop around it. An operation successor names the op that control
resumes after, and the loop's own `getSuccessorRegions` names the loop
for the same edge. MLIR's dataflow analyses use that op. DeadCodeAnalysis
recorded the exit as a predecessor of the point after `cir.condition`, so
dense analyses never saw control leave a `cir.while`, `cir.for` or
`cir.do` without a cleanup region. The forward state after such a loop
kept its initial value, and the backward state at the condition ignored
the code after the loop. The fix names the loop. The control-flow unit
test hid the mismatch because it compared op and terminator successors
by region only. It now compares whole successors, so it fails without
the fix.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+11-9clang/unittests/CIR/ControlFlowTest.cpp
+1-1clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+12-102 files

LLVM/project 17570c2 — clang/lib/CIR/CodeGen CIRGenBuiltin.cpp, clang/test/CIR/CodeGen amdgpu-frame-address.cpp

[CIR][AMDGPU] Fix address space of __builtin_frame_address result (#233724)
DeltaFile
+29-0clang/test/CIR/CodeGen/amdgpu-frame-address.cpp
+3-2clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+32-22 files

FreeBSD/ports 5aa3905 — x11/nvidia-kmod pkg-plist Makefile, x11/nvidia-kmod-devel Makefile

x11/nvidia-kmod-devel: Add missing firmware

PR:             300575
DeltaFile
+4-1x11/nvidia-kmod/Makefile
+1-1x11/nvidia-kmod-devel/Makefile
+2-0x11/nvidia-kmod/pkg-plist
+7-23 files

LLVM/project 6998f89 — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Don't copy the triple to check for GPUs (#240718)

AA::isGPU and the GPU address space helpers copied the module's target
triple on every call, unnecessarily allocating a string.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-7llvm/lib/Transforms/IPO/Attributor.cpp
+4-71 files

LLVM/project d2e13a6 — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Reserve the initial worklist of the fixpoint iteration (#240723)

CTMark instructions:u with -attributor-enable=light changes by O3
-0.02%,
ThinLTO -0.02%. attributor-light is 0.3-1.0% faster.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-0llvm/lib/Transforms/IPO/Attributor.cpp
+1-01 files

FreeBSD/src 6066c79 — sys/dev/acpica acpi_video.c

acpi_video: dim the internal panel while the lid is closed

Register an acpi_lid_event consumer that saves the current _BQC level and
drives _BCM to the lowest level _BCL offers when the lid closes, putting
the saved level back when it opens.  Only an output already classified as
an internal panel is touched, and only a level this handler dimmed is
restored, so a brightness change made while the lid was shut survives.

Disabled by default; set hw.acpi.video.lid_blank=1 to enable.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D60827
DeltaFile
+98-0sys/dev/acpica/acpi_video.c
+98-01 files

FreeBSD/src 09a79e9 — sys/dev/acpica acpi_video.c

acpi_video: fall back to _BCL when _DOD matches no output

vid_enum_outputs() only registers a child whose _ADR appears in the
graphics controller's _DOD. _DOD is filled in from the graphics driver's
ACPI opregion on some platforms, so with no such driver attached it can
describe no device at all while the panel still implements _BCL, _BCM and
_BQC. The match then fails for every child and the machine is left with
no brightness control.

Fall back to registering the first child that implements _BCL when _DOD
matched nothing, so such a machine gets a working
hw.acpi.video.lcd0.brightness and the brightness keys that ride on it.

MFC after: 1 week

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D60826
DeltaFile
+25-3sys/dev/acpica/acpi_video.c
+25-31 files

LLVM/project 7d1f834 — clang/lib/CIR/Dialect/IR CIRDialect.cpp, clang/unittests/CIR ControlFlowTest.cpp

[CIR] Make cir.condition exit to the loop, not to itself

The loop-exit successor of `cir.condition` was
`RegionSuccessor(getOperation())`, which names the condition op instead
of the loop around it. An operation successor names the op that control
resumes after, and the loop's own `getSuccessorRegions` names the loop
for the same edge. MLIR's dataflow analyses use that op. DeadCodeAnalysis
recorded the exit as a predecessor of the point after `cir.condition`, so
dense analyses never saw control leave a `cir.while`, `cir.for` or
`cir.do` without a cleanup region. The forward state after such a loop
kept its initial value, and the backward state at the condition ignored
the code after the loop. The fix names the loop. The control-flow unit
test hid the mismatch because it compared op and terminator successors
by region only. It now compares whole successors, so it fails without
the fix.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+19-9clang/unittests/CIR/ControlFlowTest.cpp
+1-1clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+20-102 files

FreeBSD/ports 56cd76a — devel/py-autoflake Makefile distinfo

devel/py-autoflake: Update 2.3.3 => 2.4.0

Changelog:
https://github.com/PyCQA/autoflake/releases/tag/v2.4.0

PR:             300639
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4

(cherry picked from commit f75fdb1ea4842f905b6b7f9967b85cd131abdfad)
DeltaFile
+3-3devel/py-autoflake/distinfo
+2-2devel/py-autoflake/Makefile
+5-52 files

FreeBSD/ports f75fdb1 — devel/py-autoflake Makefile distinfo

devel/py-autoflake: Update 2.3.3 => 2.4.0

Changelog:
https://github.com/PyCQA/autoflake/releases/tag/v2.4.0

PR:             300639
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4
DeltaFile
+3-3devel/py-autoflake/distinfo
+2-2devel/py-autoflake/Makefile
+5-52 files

OPNSense/core 97be972 — src/etc rc.newwanipv6, src/etc/inc util.inc interfaces.inc

interfaces: introduce DAD sleep for 6to4/6rd trackers; closes #11179

Add the sleep in the fringe cases only and consolidate the wait
as + 2 to simplify and make it more reliable.
DeltaFile
+5-3src/etc/inc/interfaces.inc
+1-1src/etc/rc.newwanipv6
+1-1src/etc/inc/util.inc
+7-53 files

LLVM/project ebd26ea — llvm/lib/Target/SPIRV SPIRVMetadata.h SPIRVCallLowering.cpp, llvm/test/CodeGen/SPIRV/opencl/metadata kernel_arg_name.ll

[SPIR-V] Emit OpName for kernel parameters from kernel_arg_name metadata (#240766)

clang discards IR value names, so parameter names were lost in some
cases
DeltaFile
+50-0llvm/test/CodeGen/SPIRV/opencl/metadata/kernel_arg_name.ll
+9-2llvm/lib/Target/SPIRV/SPIRVMetadata.cpp
+5-2llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
+1-0llvm/lib/Target/SPIRV/SPIRVMetadata.h
+65-44 files

FreeBSD/src 5523a8b — sys/dev/axgbe xgbe-sysctl.c

axgbe: bound the sysctl parser writes in get_val()

Reject tokens and option counts that exceed the fixed parser buffers,
and fix the terminating NUL offset. Have the sysctl handlers propagate
parser errors before applying settings.

Handle SYSL_U32 options and reject failed numeric conversions instead of
using an uninitialized value. Fix the duplex case falling through to an
error, and initialize the link-setting strings for unexpected speeds.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D61339
DeltaFile
+49-21sys/dev/axgbe/xgbe-sysctl.c
+49-211 files

FreeBSD/src c89613d — sys/dev/axgbe xgbe-sysctl.c

axgbe: return positive errno values from the sysctl handlers

Return positive errno values from the FreeBSD sysctl handlers so that
userland reports the proper error instead of "Unknown error: -22".

Convert the negative phy_config_aneg() result at the sysctl boundary,
matching axgbe_if_media_change(), and retain the PHY code's internal
error convention.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D61400
DeltaFile
+20-20sys/dev/axgbe/xgbe-sysctl.c
+20-201 files

FreeBSD/ports e3065b7 — devel/py-apispec Makefile distinfo

devel/py-apispec: Update 6.10.0 => 6.10.1

Changelog:
https://github.com/marshmallow-code/apispec/blob/6.10.1/CHANGELOG.rst

- Update maintainer's email.

PR:             300638
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4

(cherry picked from commit 2b35c3ae81c9c563f0cd30dc01a8aee8c562e8e5)
DeltaFile
+3-3devel/py-apispec/distinfo
+2-2devel/py-apispec/Makefile
+5-52 files

FreeBSD/ports 2b35c3a — devel/py-apispec Makefile distinfo

devel/py-apispec: Update 6.10.0 => 6.10.1

Changelog:
https://github.com/marshmallow-code/apispec/blob/6.10.1/CHANGELOG.rst

- Update maintainer's email.

PR:             300638
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4
DeltaFile
+3-3devel/py-apispec/distinfo
+2-2devel/py-apispec/Makefile
+5-52 files

LLVM/project f3153e2 — llvm/unittests/Transforms/Vectorize VPlanVerifierTest.cpp

Remove old dominance unit test
DeltaFile
+0-18llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
+0-181 files

LLVM/project ba50e17 — clang/lib/StaticAnalyzer/Checkers/WebKit PtrTypesSemantics.cpp, clang/test/Analysis/Checkers/WebKit nodelete-annotation.cpp

[alpha.webkit.NoDeleteChecker] Handle lambdas and implicit destructors (#240297)

TrivialFunctionAnalysisVisitor had no VisitLambdaExpr, so every
LambdaExpr fell through to VisitStmt and was rejected. Any lambda
written inside a nodelete function was reported, even one as harmless as

    callLambda([&] { obj->doTrivialWork(); });

The existing deleteInLambda tests passed only because everything failed.

Add VisitLambdaExpr. The capture initializers do run where the closure
is created, so visit them. The body does not, but a closure that could
destruct an object is not safe to hand out from a nodelete function
either, so check it too -- visiting it directly rather than through
IsFunctionTrivial, since the body is written inside the function being
analyzed and the blame belongs on the offending statement rather than on
the whole lambda. A generic lambda's own body is a dependent pattern
with unresolved calls, so walk the instantiated operator()
specializations instead; one that is never instantiated cannot destruct

    [21 lines not shown]
DeltaFile
+93-2clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
+73-7clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+166-92 files

FreeBSD/src b15b789 — usr.sbin/pwd_mkdb Makefile pwd_mkdb.8, usr.sbin/pwd_mkdb/tests Makefile Makefile.depend

pwd_mkdb: validate login names

vipw(8) never looked at names, it just hands the file to pwd_mkdb,
and pwd_mkdb only cared abuot the field layout. So something like
`user1$(id$IFS-A)` in master.passwd went straight into the db.

Do the same check pw(8) does, in scan(), so vipw, chpass and hand
edits all hit it. NIS +/- entries get checked after the prefix.
Bail out rather then warn; a file with junk names wont rebuild
anymore, whcih is kinda the point.

Add tests while here.

Reported by:    Harry Sintonen (Reversec)
Sponsored by:   Entersekt

Approved by:    bapt
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D61405
DeltaFile
+108-0usr.sbin/pwd_mkdb/tests/pwd_mkdb_test.sh
+37-0usr.sbin/pwd_mkdb/pwd_mkdb.c
+22-1usr.sbin/pwd_mkdb/pwd_mkdb.8
+10-0usr.sbin/pwd_mkdb/tests/Makefile.depend
+5-0usr.sbin/pwd_mkdb/Makefile
+3-0usr.sbin/pwd_mkdb/tests/Makefile
+185-11 files not shown
+187-17 files

LLVM/project 2a25e24 — llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlan.h

Address review comments
DeltaFile
+6-5llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+0-3llvm/lib/Transforms/Vectorize/VPlan.h
+2-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+8-83 files

LLVM/project 82d6b30 — clang/lib/CIR/CodeGen CIRGenClass.cpp CIRGenModule.h, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Use the global address space for the VTT parameter (#240548)

Match classic CodeGen, which types the VTT as a pointer into the target
global address space

Let cir.vtt.address_point carry that address space
DeltaFile
+49-0clang/test/CIR/CodeGenCUDA/vtt-addrspace.cu
+10-10clang/lib/CIR/CodeGen/CIRGenModule.h
+11-9clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+12-2clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+11-0clang/test/CIR/IR/invalid-vtable.cir
+5-3clang/lib/CIR/CodeGen/CIRGenClass.cpp
+98-241 files not shown
+100-257 files

LLVM/project 73b2fd3 — llvm/unittests/Transforms/Vectorize/SandboxVectorizer DependencyGraphTest.cpp

[SandboxVec][DAG] Fix bad IR in test (NFC) (#240873)
DeltaFile
+1-1llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
+1-11 files