LLVM/project 1306e15 — clang/lib/Analysis UnsafeBufferUsage.cpp

[-Wunsafe-buffer-usage] Speed up warning a bit (#226605)

Checking a type is faster than calling ignoreUnsafeBufferIn...(). The
latter has to get the Stmt's begin loc, look up diagnostic state and
suppression, etc. And the type check lets us skip most Stmts cheaply, so
do that first.

In a sampling profile of 48 Chromium TUs (which are built with
-Wunsafe-buffer-usage), UnsafeBufferUsageReporter's
ignoreUnsafeBufferInLibcCall() and ignoreUnsafeBufferInContainer() were
1.35% and 1.29% of the total compile time, and 3.75% for
checkUnsafeBufferUsage() as a whole.

For 60 random Chromium TUs drawn with probability proportional to their
compile time, sum over all TUs:

    CPU time: 242.9 s => 237.5 s, -2.2%
    instructions: 2452.6e9 => 2371.8e9, -3.3%

No behavior change.
DeltaFile
+16-14clang/lib/Analysis/UnsafeBufferUsage.cpp
+16-141 files

FreeBSD/ports f3fcd9e — devel/gumbo pkg-plist Makefile

devel/gumbo: Update 0.14.0 => 0.14.1

Changelog:
https://codeberg.org/gumbo-parser/gumbo-parser/src/tag/0.14.1/CHANGES.md

PR:             298931
Sponsored by:   UNIS Labs (vvd, commit patch)
DeltaFile
+3-3devel/gumbo/distinfo
+1-1devel/gumbo/pkg-plist
+1-1devel/gumbo/Makefile
+5-53 files

FreeBSD/ports bf625a7 — devel/eric6 Makefile bsd.eric6.mk, devel/es-eric6 Makefile

devel/eric6: Schedule for removal

Depends on deprecated Qt5 WebEngine

PR:             296230
Approved by:    fluffy (maintainer)

(cherry picked from commit 07adc0bc2e81c945fc52c59376d36dadb4eaab83)
DeltaFile
+3-0devel/eric6/bsd.eric6.mk
+1-1devel/eric6/Makefile
+1-0russian/eric6/Makefile
+1-0german/eric6/Makefile
+1-0devel/es-eric6/Makefile
+7-15 files

FreeBSD/ports 07adc0b — devel/eric6 Makefile bsd.eric6.mk, devel/es-eric6 Makefile

devel/eric6: Schedule for removal

Depends on deprecated Qt5 WebEngine

PR:             296230
Approved by:    fluffy (maintainer)
DeltaFile
+3-0devel/eric6/bsd.eric6.mk
+1-1devel/eric6/Makefile
+1-0russian/eric6/Makefile
+1-0german/eric6/Makefile
+1-0devel/es-eric6/Makefile
+7-15 files

LLVM/project 99667dd — llvm/test/CodeGen/X86/apx bls-egpr.ll

[X86][APX] Precommit test for BLSI/BLSMSK i8 patterns with EGPR (NFC) (#226793)

The i8 BLSI/BLSMSK patterns always select the VEX forms, so when only
extended GPRs (r16-r31) are available the operands get spilled instead
of using the EVEX forms.

Tests for #226796

Assisted-by: Claude Code

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+137-0llvm/test/CodeGen/X86/apx/bls-egpr.ll
+137-01 files

LLVM/project f4c1a20 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 fp-intrinsics-flags.ll fpcw-dead-eflags.ll

X86: Mark EFLAGS dead on the FP control word OR (#227017)

Fix custom inserters to add dead flags.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+74-0llvm/test/CodeGen/X86/fpcw-dead-eflags.ll
+5-2llvm/lib/Target/X86/X86ISelLowering.cpp
+1-1llvm/test/CodeGen/X86/fp-intrinsics-flags.ll
+80-33 files

LLVM/project 2257b64 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

comment fix
DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+1-11 files

LLVM/project 1f90d49 — llvm/include/llvm/CodeGen SelectionDAG.h, llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

Revert "helper"

This reverts commit fd5362699f8ec71960007213176b83817dd3f19f.
DeltaFile
+5-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+0-5llvm/include/llvm/CodeGen/SelectionDAG.h
+5-72 files

LLVM/project a4d89f1 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

DAG: Use poison for some vector element folds
DeltaFile
+7-4llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+7-41 files

LLVM/project 2d7d840 — llvm/include/llvm/CodeGen SelectionDAG.h, llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

helper
DeltaFile
+2-5llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+5-0llvm/include/llvm/CodeGen/SelectionDAG.h
+7-52 files

FreeBSD/doc 81a3f30 — website/content/en/status/report-2023-10-2023-12 ci.adoc, website/content/en/status/report-2024-01-2024-03 ci.adoc

website: fix HTML validation errors - wrong links

Fixed links in status reports to stop validation errors

Approved by: doceng (implicit)
PR: 297509
DeltaFile
+2-2website/content/en/status/report-2025-01-2025-03/ci.adoc
+2-2website/content/en/status/report-2024-10-2024-12/ci.adoc
+2-2website/content/en/status/report-2024-07-2024-09/ci.adoc
+2-2website/content/en/status/report-2024-04-2024-06/ci.adoc
+2-2website/content/en/status/report-2024-01-2024-03/ci.adoc
+2-2website/content/en/status/report-2023-10-2023-12/ci.adoc
+12-1211 files not shown
+26-2617 files

FreeBSD/ports e0dfed6 — sysutils/rubygem-fluentd Makefile distinfo

sysutils/rubygem-fluentd: Update to 1.19.4

Release notes:  https://github.com/fluent/fluentd/releases/tag/v1.19.4
DeltaFile
+3-3sysutils/rubygem-fluentd/distinfo
+1-1sysutils/rubygem-fluentd/Makefile
+4-42 files

FreeBSD/ports 7700354 — net/freerdp3 distinfo Makefile

net/freerdp3: Update 3.32.0 => 3.32.1

Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.32.1
https://github.com/FreeRDP/FreeRDP/blob/3.32.1/ChangeLog

Security:       GHSA-9qqc-m43j-g4r2
Security:       GHSA-3m9q-g533-rqjq
Security:       GHSA-262p-h989-vmpv
Security:       GHSA-5xjc-c64q-m8r6
Security:       GHSA-f3vg-h45x-6wgf
Security:       GHSA-c49c-xm94-5qf3
Sponsored by:   UNIS Labs
MFH:            2026Q3

(cherry picked from commit ed119257692439017f3c002304ad87e04c405116)
DeltaFile
+13-6net/freerdp3/Makefile
+11-3net/freerdp3/distinfo
+24-92 files

LLVM/project fc1e244 —

[ADT] Extract SmallDenseMapStorage from SmallDenseMap (NFC) (#226882)

This patch extracts the inline and heap bucket and occupancy storage
management from SmallDenseMap into a new helper class,
densemap::detail::SmallDenseMapStorage, and updates SmallDenseMap to
use it via composition.

This is part of the effort to replace CRTP in DenseMapBase with
composition (see #168255 and #226664).  With both DenseMapStorage and
SmallDenseMapStorage in place, the next patch will remove CRTP from
DenseMapBase.

Assisted-by: Antigravity
DeltaFile
+0-00 files

LLVM/project 4fce7d6 — clang/include/clang/AST ASTContext.h, clang/lib/AST ASTContext.cpp

[clang] Add one-entry cache for ASTContext::getDeclAttrs() (#226610)

In libc++, almost every decl has attributes, so ASTContext::DeclAttrs
has 50k-150k entries when using libc++. But attributes are often queried
several times in a row for the same decl (e.g. `D->hasAttr<A>() ||
D->hasAttr<B>()`). Numbers for some Chromium TUs:

                                        getDeclAttrs()  same Decl as   table
                                        calls           previous call  size
    blink logical_box_fragment.cc       19.6M           88.4%          156132
    glic_webui_contents_manager.cc      16.0M           86.1%          144545
    tflite kernels/conv.cc               6.1M           91.2%           52623

So add a one-element cache. AttrVecs are allocated separately, so
keeping a pointer to the result is safe.

Build time for 60 random Chromium TUs drawn with probability
proportional to their compile time:


    [8 lines not shown]
DeltaFile
+11-0clang/lib/AST/ASTContext.cpp
+4-0clang/include/clang/AST/ASTContext.h
+15-02 files

OpenZFS/src e056f4d — module/zfs dmu_recv.c dmu_send.c, tests/zfs-tests/tests Makefile.am

don't send spill or oversized blocks as WRITE_EMBEDDED

send_do_embed() treated every embedded BP as a DRR_WRITE_EMBEDDED
candidate. Spill blocks (DMU_OT_SA) have to go as DRR_SPILL, and an
embedded block larger than SPA_OLD_MAXBLOCKSIZE cannot be represented
on the receiver unless the stream carries large_blocks: dump_dnode()
clamps the object's block size to 128K in the DRR_OBJECT record, so
the receive then rejects the DRR_WRITE_EMBEDDED.

Skip those cases in send_do_embed() so do_dump() emits a spill record
or splits the block into SPA_OLD_MAXBLOCKSIZE chunks instead.
On receive, accept only BP_EMBEDDED_TYPE_DATA for DRR_WRITE_EMBEDDED.

Add ZTS send_embedded_spill_block (canned pool with an embedded
spill) and send_embedded_large_block (1M zstd block, send with and
without -L).

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Kamil Monicz <kamil at monicz.dev>

    [2 lines not shown]
DeltaFile
+102-0tests/zfs-tests/tests/functional/rsend/send_embedded_large_block.ksh
+84-0tests/zfs-tests/tests/functional/rsend/send_embedded_spill_block.ksh
+18-0module/zfs/dmu_send.c
+13-4tests/zfs-tests/tests/functional/rsend/rsend.kshlib
+2-2module/zfs/dmu_recv.c
+3-0tests/zfs-tests/tests/Makefile.am
+222-62 files not shown
+223-68 files

LLVM/project cb4b7ec — clang/test/OpenMP structured-bindings-codegen.cpp parallel_master_taskloop_simd_firstprivate_codegen.cpp

[OpenMP] Preserve host capture lifetimes in frontend lowering

Mark captured alloca/global storage nofreeobj when Clang emits a synchronous
host parallel call. This preserves lifetime across outlining without claiming
that escaped capture slots are noalias or immutable, and without extending the
lifetime guarantee to pointers loaded from those slots.

Mark OpenMPIRBuilder's fresh host capture aggregate noalias and nofreeobj.
This covers the lowering path used by Flang and Clang's IRBuilder mode.

Replace callback Attributor seeding with frontend and translation tests,
including escaped captures, heap references, firstprivate pointers, debug
wrappers, serialized regions, and optimized load hoisting with OpenMPOpt
disabled. Refresh the affected parameter-attribute checks.
DeltaFile
+1,897-1,897clang/test/OpenMP/task_codegen.cpp
+527-527clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
+286-286clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
+283-283clang/test/OpenMP/parallel_codegen.cpp
+235-235clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
+221-221clang/test/OpenMP/structured-bindings-codegen.cpp
+3,449-3,44979 files not shown
+5,551-5,31285 files

LLVM/project 8ece767 — llvm/include/llvm/ADT DenseMap.h

[ADT] Extract SmallDenseMapStorage from SmallDenseMap (NFC) (#226882)

This patch extracts the inline and heap bucket and occupancy storage
management from SmallDenseMap into a new helper class,
densemap::detail::SmallDenseMapStorage, and updates SmallDenseMap to
use it via composition.

This is part of the effort to replace CRTP in DenseMapBase with
composition (see #168255 and #226664).  With both DenseMapStorage and
SmallDenseMapStorage in place, the next patch will remove CRTP from
DenseMapBase.

Assisted-by: Antigravity
DeltaFile
+262-219llvm/include/llvm/ADT/DenseMap.h
+262-2191 files

FreeBSD/ports ed11925 — net/freerdp3 distinfo Makefile

net/freerdp3: Update 3.32.0 => 3.32.1

Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.32.1
https://github.com/FreeRDP/FreeRDP/blob/3.32.1/ChangeLog

Security:       GHSA-9qqc-m43j-g4r2
Security:       GHSA-3m9q-g533-rqjq
Security:       GHSA-262p-h989-vmpv
Security:       GHSA-5xjc-c64q-m8r6
Security:       GHSA-f3vg-h45x-6wgf
Security:       GHSA-c49c-xm94-5qf3
Sponsored by:   UNIS Labs
MFH:            2026Q3
DeltaFile
+13-6net/freerdp3/Makefile
+11-3net/freerdp3/distinfo
+24-92 files

FreeBSD/ports 3443a6f — sysutils/eppctl Makefile

sysutils/eppctl: fix CPE records

Sponsored by:   tipi.work
DeltaFile
+2-1sysutils/eppctl/Makefile
+2-11 files

FreeBSD/ports 810e74e — misc/py-xformers Makefile

misc/py-xformers: fix build on arm64

... by fixing typo in arch name in Makefile
DeltaFile
+1-1misc/py-xformers/Makefile
+1-11 files

FreeBSD/src 2f49e40 — lib/clang llvm.build.mk, lib/clang/include/llvm/Config Targets.def Disassemblers.def

llvm: add LoongArch target support, not enabled by default

Note there is ongoing work to add LoongArch support to the base system,
but having target support in llvm is an essential component.

This must be explicitly enabled using WITH_LLVM_TARGET_LOONGARCH.

Reviewed by:    dim
MFC after:      1 week
Differential Revision: https://reviews.freebsd.org/D59899
DeltaFile
+49-6lib/clang/libllvm/Makefile
+3-4share/man/man5/src.conf.5
+6-0lib/clang/llvm.build.mk
+0-3tools/build/options/WITH_LLVM_TARGET_BPF
+3-0lib/clang/include/llvm/Config/Targets.def
+3-0lib/clang/include/llvm/Config/Disassemblers.def
+64-136 files not shown
+74-1412 files

LLVM/project 81cdde2 — llvm/test/CodeGen/AArch64/GlobalISel select-usubo.mir select-usube.mir

AArch64: Mark the NZCV def dead for unused overflow results (#227018)

Avoid implicitly depending on later recomputed dead flags.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+4-4llvm/test/CodeGen/AArch64/GlobalISel/select-usubo.mir
+4-4llvm/test/CodeGen/AArch64/GlobalISel/select-usube.mir
+4-4llvm/test/CodeGen/AArch64/GlobalISel/select-uaddo.mir
+4-4llvm/test/CodeGen/AArch64/GlobalISel/select-uadde.mir
+4-4llvm/test/CodeGen/AArch64/GlobalISel/select-ssubo.mir
+4-4llvm/test/CodeGen/AArch64/GlobalISel/select-ssube.mir
+24-243 files not shown
+35-339 files

LLVM/project 221fe11 — clang/test/CodeGenHLSL matrix-layout-attr-overrides-default.hlsl, clang/test/CodeGenHLSL/BasicFeatures MatrixToAndFromVectorConstructors.hlsl MatrixImplicitTruncation.hlsl

[HLSL] Preserve matrix layout as AST storage metadata (#225519)

fixes #213996
fixes #211977
fixes https://godbolt.org/z/rhTYx1KGf

Keep matrix layout metadata on noncanonical matrix types without
affecting type identity, overload resolution, deduction, or mangling.

Normalize matrix values to column-major register representation when
loading from memory, and convert them back to the destination layout
when storing. Preserve layout metadata through typedefs, arrays,
records, resources, serialization, AST import, and template
substitution.

This change also starts the reversal of encoding row\column major via
indexing changes in codegen and instead ops for a stable index but
transpose intrinsics for swapping matrix majorness.
DeltaFile
+329-150clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
+251-110clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
+222-96clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
+34-48clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
+27-23clang/test/CodeGenHLSL/builtins/mul.hlsl
+33-15clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
+896-44227 files not shown
+1,158-63033 files

LLVM/project a29c090 — llvm/lib/Transforms/Vectorize LoopVectorize.cpp LoopVectorizationLegality.cpp, llvm/test/Transforms/LoopVectorize early-exit-tail-folding.ll

[VPlan] Support tail folding uncountable early exits
DeltaFile
+103-154llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
+66-110llvm/test/Transforms/LoopVectorize/RISCV/early-exit.ll
+47-77llvm/test/Transforms/LoopVectorize/early-exit-tail-folding.ll
+35-12llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+22-4llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+8-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+281-3576 files

LLVM/project a0f704d — llvm/lib/Analysis ScalarEvolution.cpp

[SCEV] Skip invalidation with empty ValueExprMap (NFC). (#226845)

forgetLoop, forgetValue and forgetValues walk the def-use chains from
the forgotten instructions and erase each visited value's SCEV. This can
be expensive.

If ValueExprMap is empty, there's nothing to forget and skipping the
walk reduces compile-time a bit:
stage1-O3: -0.05%
stage1-ReleaseThinLTO: -0.05%
stage1-ReleaseLTO-g: -0.03%
stage1-aarch64-O3: -0.04%
stage2-O3: -0.05%
stage2-clang: -0.01%


https://llvm-compile-time-tracker.com/compare.php?from=899d817c7950c997402cd229935cd822acf45b08&to=c43f92b9840b62f75ab8a45b7379188d78d81135&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/226845
DeltaFile
+5-0llvm/lib/Analysis/ScalarEvolution.cpp
+5-01 files

FreeBSD/ports 4f60ff5 — sysutils/eppctl pkg-descr Makefile

sysutils/eppctl: fix package list

Update package description with a proper name of AMD CPPC.

Bump PORTREVISION.

Sponsored by:   tipi.work
DeltaFile
+3-2sysutils/eppctl/Makefile
+1-1sysutils/eppctl/pkg-descr
+4-32 files

LLVM/project 0767e7c — lldb/packages/Python/lldbsuite/test lldbtest.py

[lldb][test] Don't add pdb to explicitly tagged debug info categories (#226999)

`LLDBTestCaseFactory` appends `"pdb"` to `dbginfo_categories` whenever
the class sets `TEST_WITH_PDB_DEBUG_INFO=True`. When a test method is
tagged with explicit debug info categories
(`@add_test_categories(["dwarf"])`), `dbginfo_categories` is the set
intersection of the method's categories and the known debug info
categories, not a list, so the class failed to load with

```
      AttributeError: 'set' object has no attribute 'append'
```
and dotest reported the whole file as UNRESOLVED.

Only add "pdb" when the method is not tagged, which is also the only
case where the default categories are used.

rdar://188589961
DeltaFile
+4-4lldb/packages/Python/lldbsuite/test/lldbtest.py
+4-41 files

LLVM/project 517839b — llvm/lib/Analysis VectorUtils.cpp, llvm/test/Transforms/LoopVectorize intrinsic.ll

[VectorUtils] Allow trivial vectorization of llvm.pdep and llvm.pext intrinsics (#227019)
DeltaFile
+60-0llvm/test/Transforms/LoopVectorize/intrinsic.ll
+2-0llvm/lib/Analysis/VectorUtils.cpp
+62-02 files

LLVM/project 33eb30d — clang/lib/CodeGen/TargetBuiltins RISCV.cpp, clang/test/CodeGen/RISCV rvp-intrinsics.c

[Clang][RISCV] Add packed widening shift intrinsics (#224790)

This PR adds support for the Packed Widening Shift intrinsics:

- `__riscv_pwsll_s_u16x4`
- `__riscv_pwsll_s_u32x2`
- `__riscv_pwsla_s_i16x4`
- `__riscv_pwsla_s_i32x2`
DeltaFile
+186-0llvm/test/CodeGen/RISCV/rvp-widening-shift.ll
+90-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+80-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+27-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+20-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+12-0clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
+415-03 files not shown
+439-09 files