LLVM/project 604173d — llvm/lib/Target/SPIRV SPIRVGlobalRegistry.cpp, llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_untyped_pointers untyped-ptr-ptr-ops.ll

[SPIR-V] Avoid duplicate untyped pointer types per storage class (#232184)

Each type is cached under one key, and adding it under a pointee key
dropped its untyped pointer entry

Then the next lookup made a second copy and select mixing the copies
crashed
DeltaFile
+9-0llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_untyped_pointers/untyped-ptr-ptr-ops.ll
+1-0llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+10-02 files

LLVM/project 884fb10 — llvm/include/llvm/Analysis RegionInfoImpl.h RegionInfo.h, llvm/include/llvm/CodeGen MachineRegionInfo.h

[Analysis] Remove virtual functions in RegionInfoBase (#231958)

MSVC C4661 warns about no suitable definition being provided for an
explicit template instantiation request. In the LLVM dylib build, MSVC
instantiates the extern template base of a dllexported class. This
triggers C4661 for base class templates whose members are only declared,
with their definitions in a separate header.

The above applies to the two derived classes for `RegionInfoBase`,
`RegionInfo` and `MachineRegionInfo`. However, the only virtual method
of importance for `RegionInfoBase` can be moved to the `RegionTraits`
template specializations, removing the need to have class-level
annotations in the derived classes. The other virtual method was the
destructor, which is no longer virtual and kept private, so the base
class can only be destroyed via its friend (derived) classes.

The effort to build LLVM as a dylib is tracked in #109483.
DeltaFile
+25-15llvm/include/llvm/CodeGen/MachineRegionInfo.h
+18-12llvm/lib/CodeGen/MachineRegionInfo.cpp
+13-16llvm/include/llvm/Analysis/RegionInfo.h
+13-9llvm/lib/Analysis/RegionInfo.cpp
+1-1llvm/include/llvm/Analysis/RegionInfoImpl.h
+70-535 files

LLVM/project e45e8f0 — clang/lib/CodeGen CGExpr.cpp, clang/test/CodeGen attr-counted-by-or-null-for-pointers.c attr-sized-by-or-null-for-pointers.c

[Clang][counted_by] Don't re-evaluate the base of a counted_by pointer access for -fsanitize=array-bounds

When indexing a 'counted_by' pointer field with -fsanitize=array-bounds,
EmitCountedByBoundsChecking was handed an invalid address and re-emitted
the field's l-value to locate the count. That re-evaluated the struct
base, duplicating its side-effects:

  struct p { int count; int *buf __counted_by(count); };
  struct p *q;
  int f(int i) { return q++->buf[i]; }   // 'q' incremented twice
  int g(int i) { return get()->buf[i]; } // 'get' called twice

i.e. enabling the sanitizer changed the program's behavior.

When the subscript base is exactly the field load, emit the field's
l-value once, load the pointer from it (as the default case of
EmitPointerWithAlignment does, through EmitLoadOfLValue so that a
'__ptrauth'-qualified field is still authenticated), and pass the
field's address to the bounds check. When there's an intervening cast (e.g.

    [6 lines not shown]
DeltaFile
+136-26clang/test/CodeGen/attr-counted-by-base-exprs.c
+50-13clang/lib/CodeGen/CGExpr.cpp
+12-12clang/test/CodeGen/attr-sized-by-or-null-for-pointers.c
+12-12clang/test/CodeGen/attr-sized-by-for-pointers.c
+24-0clang/test/CodeGen/attr-counted-by-ptrauth.c
+6-6clang/test/CodeGen/attr-counted-by-or-null-for-pointers.c
+240-691 files not shown
+246-757 files

LLVM/project 96610d2 — clang/test/CodeGen attr-counted-by-union-storage.c attr-counted-by-base-exprs.c, clang/test/Sema builtin-counted-by-ref.c

[Clang][counted_by][NFC] Add missing tests for counted_by and __builtin_counted_by_ref

Add Sema coverage for __builtin_counted_by_ref:
  - a bit-field counter on a 'counted_by' pointer (not just a FAM),
  - the '_or_null' and 'sized_by' variants, which return 'void *',
  - qualified, enum, and typedef counter types, which determine the
    returned pointee type,
  - nested, anonymous, by-value, and subscripted bases.

Add CodeGen coverage for the base-expression shapes reaching a counted_by
flexible array member, for both __builtin_dynamic_object_size and
-fsanitize=array-bounds: call and side-effecting bases (which __bdos
must not re-evaluate), pointer chains, conditional bases, negative
constant indices, enum counters, and mixed index widths.

Assisted-by: Claude Opus 5.5
DeltaFile
+306-0clang/test/CodeGen/attr-counted-by-base-exprs.c
+105-0clang/test/Sema/builtin-counted-by-ref.c
+21-0clang/test/CodeGen/attr-counted-by-union-storage.c
+432-03 files

LLVM/project cbece0e — clang/test/Sema builtin-counted-by-ref.c

Rename test functions for clarity and consistency
DeltaFile
+6-6clang/test/Sema/builtin-counted-by-ref.c
+6-61 files

LLVM/project 5811bed — lldb/test/API/functionalities/thread/concurrent_events TestConcurrentTwoWatchpointsOneSignal.py

[lldb] Disable flaky TestConcurrentTwoWatchpointsOneSignal (#231566)
DeltaFile
+3-0lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentTwoWatchpointsOneSignal.py
+3-01 files

LLVM/project 056ff34 — llvm/lib/Transforms/Vectorize VPlanUtils.cpp

[VPlan] Add missed maybe_unused to createSIVSteps (NFC) (#232216)

This was missed in bb12c270d7 ([VPlan] Strip IR trunc around IntOrFp
inductions, #231837).
DeltaFile
+2-2llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+2-21 files

LLVM/project 80017ba — llvm/docs/TableGen BackGuide.md, llvm/include/llvm/TableGen Record.h

TableGen: Store classes and defs in a StringMap (#231573)

Classes and defs were kept in a std::map ordered by name, which makes
every lookup a series of string comparisons over names that often share
long prefixes. Store them in a StringMap instead, and have getClasses()
and getDefs() return a list sorted by name, built when first needed
after records are added.

Gigainstructions executed by llvm-tblgen --null-backend

```
             before   after
  AMDGPU.td   18.17   16.98   -6.6%
  X86.td       6.15    5.84   -5.1%
  AArch64.td   3.32    3.00   -9.7%
  RISCV.td     8.26    7.44   -9.9%
```

Including the backends, all tablegen runs in a build of all targets and

    [3 lines not shown]
DeltaFile
+36-10llvm/lib/TableGen/Record.cpp
+14-12llvm/include/llvm/TableGen/Record.h
+8-8mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
+8-8llvm/utils/TableGen/CTagsEmitter.cpp
+5-7mlir/tools/mlir-tblgen/OpGenHelpers.cpp
+3-8llvm/docs/TableGen/BackGuide.md
+74-535 files not shown
+86-6911 files

LLVM/project 1bc9e5c — clang/test/Sema builtin-counted-by-ref.c

Rename test functions for clarity and consistency
DeltaFile
+6-6clang/test/Sema/builtin-counted-by-ref.c
+6-61 files

FreeNAS/freenas 567462b — src/middlewared/middlewared/common/license __init__.py, src/middlewared/middlewared/pytest/unit/plugins/docker test_docker_license_delegate.py

Use failover.is_single_master_node in license delegates

This commit makes some changes where license delegates decided whether the node is the active controller by reading failover.status.get_local and the VIP rows themselves; they now use the existing failover.is_single_master_node check, same as the TNC heartbeat.
DeltaFile
+5-25src/middlewared/middlewared/pytest/unit/plugins/truenas/test_license_delegates.py
+2-7src/middlewared/middlewared/common/license/__init__.py
+1-2src/middlewared/middlewared/pytest/unit/plugins/docker/test_docker_license_delegate.py
+8-343 files

LLVM/project 035df74 — clang/test/SemaCUDA spirv-amdgcn-atomic-ops.cu atomic-ops.cu, clang/test/SemaHIP atomic-deprecated.hip

Modify test run-lines
DeltaFile
+65-65clang/test/SemaCUDA/spirv-amdgcn-atomic-ops.cu
+65-65clang/test/SemaCUDA/atomic-ops.cu
+2-2clang/test/SemaHIP/atomic-deprecated.hip
+132-1323 files

LLVM/project e915504 — libcxx/test/libcxx/transitive_includes cxx29.csv cxx26.csv

[libcxx] Include <ctime> directly in header that uses struct tm (#231158)

Following https://github.com/llvm/llvm-project/pull/229601, this patch
proposes a fix similar to
https://github.com/llvm/llvm-project/pull/229957
This will fix users of `<ctime>` that previously got it as indirect
include via libcxx/include/__locale_dir/support/no_locale/characters.h
DeltaFile
+3-0libcxx/test/libcxx/transitive_includes/cxx29.csv
+3-0libcxx/test/libcxx/transitive_includes/cxx26.csv
+3-0libcxx/test/libcxx/transitive_includes/cxx23.csv
+3-0libcxx/test/libcxx/transitive_includes/cxx20.csv
+3-0libcxx/test/libcxx/transitive_includes/cxx17.csv
+3-0libcxx/test/libcxx/transitive_includes/cxx14.csv
+18-03 files not shown
+25-09 files

FreeBSD/ports 8d0e71b — www/grist-core Makefile

www/grist-core: fix runtime error that locales cannot be loaded
DeltaFile
+2-1www/grist-core/Makefile
+2-11 files

FreeBSD/ports 4ba52f8 — security/trivy Makefile distinfo

security/trivy: update to 0.76.0

Chnages:        https://github.com/aquasecurity/trivy/releases
DeltaFile
+5-5security/trivy/distinfo
+1-2security/trivy/Makefile
+6-72 files

OpenBSD/ports 8aVgbwQ — devel/py-entrypoints distinfo Makefile, devel/py-entrypoints/pkg DESCR

   update to py3-entrypoints-0.4.2
   this is maintenance-only mode upstream now, we can probably drop it
VersionDeltaFile
1.19+11-11devel/py-entrypoints/Makefile
1.2+8-3devel/py-entrypoints/pkg/DESCR
1.5+2-2devel/py-entrypoints/distinfo
+21-163 files

LLVM/project 75a92c2 — llvm/lib/Target/Mips MipsTargetMachine.cpp, llvm/lib/Target/Mips/MCTargetDesc MipsMCOptions.h

[Mips,RISCV,Sparc] Make options per-context (#232210)

Follow-up to #232170: drop perContext = false from MipsOptions,
MipsMCOptions, RISCVMCOptions, and SparcOptions. Their readers use
MCTargetOptions::LibraryOptions, and MipsOs16 uses its module's
LLVMContext.

LLM-aided
DeltaFile
+11-6llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+9-4llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
+7-4llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
+5-4llvm/lib/Target/Mips/MipsTargetMachine.cpp
+8-0llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCOptions.h
+8-0llvm/lib/Target/Mips/MCTargetDesc/MipsMCOptions.h
+48-1811 files not shown
+68-3217 files

OPNSense/core 2174b3c — src/opnsense/mvc/app/library/OPNsense/Firewall ForwardRule.php

Firewall: NAT: Destination NAT - cleanup some more for https://github.com/opnsense/core/pull/10944

The backwards compat code was introduced ~10 years ago, which seems to be rather irrelevant these days.
Simplify port handling and fix typo in wellknown port handling
DeltaFile
+10-16src/opnsense/mvc/app/library/OPNsense/Firewall/ForwardRule.php
+10-161 files

LLVM/project fee0804 — mlir/include/mlir/Dialect/Math/TransformOps MathTransformOps.h MathTransformOps.td, mlir/lib/Dialect/Math/TransformOps MathTransformOps.cpp

[mlir][math] Expose math patterns as transforms (#230042)

Adds math dialect transform ops to start exposing individual patterns.

Initially, f32 expansion and polynomial approximation patterns are
added.
The existing approximation test is converted from a test pass to the new
transform ops to unify usage.

Assisted-by: Claude
DeltaFile
+0-71mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
+67-0mlir/lib/Dialect/Math/TransformOps/MathTransformOps.cpp
+48-0mlir/test/python/dialects/transform_math_ext.py
+39-0mlir/include/mlir/Dialect/Math/TransformOps/MathTransformOps.td
+30-0mlir/include/mlir/Dialect/Math/TransformOps/MathTransformOps.h
+22-2mlir/test/Dialect/Math/polynomial-approximation.mlir
+206-7312 files not shown
+285-7918 files

OpenBSD/src zMKrAe2 — usr.bin/tmux tmux.h tmux.1

   Add -f to switch-mode to read choices from a file, GitHub issue 5738.
VersionDeltaFile
1.6+80-6usr.bin/tmux/window-switch.c
1.61+59-4usr.bin/tmux/cmd-choose-tree.c
1.1187+22-2usr.bin/tmux/tmux.1
1.1464+2-1usr.bin/tmux/tmux.h
+163-134 files

OpenBSD/ports SIJazgp — graphics/ImageMagick distinfo Makefile

   update to ImageMagick-6.9.13-59
VersionDeltaFile
1.234.2.1+5-2graphics/ImageMagick/Makefile
1.87.2.1+2-2graphics/ImageMagick/distinfo
+7-42 files

OpenBSD/ports 6XFrWtH — graphics/ImageMagick distinfo Makefile

   update to ImageMagick-6.9.13-59 (inc. bunch of security fixes from -58)
VersionDeltaFile
1.236+5-2graphics/ImageMagick/Makefile
1.89+2-2graphics/ImageMagick/distinfo
+7-42 files

LLVM/project be077ce — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.h AArch64TargetTransformInfo.cpp

[AArch64][SME] NFC: Inline getCompatibilityForChangeToStreamingMode.

This removes the need for the `StreamingIncompatibility` enum and
makes the code a little simpler.

This PR also moves hasPossibleIncompatibleOps to AArch64TTIimpl,
so that we can query the costmodel in a follow-up PR.
DeltaFile
+39-62llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+3-0llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
+42-622 files

LLVM/project 23c5322 — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Transforms/Inline/AArch64 sme-pstatesm-attrs.ll

[AArch64][SME] NFC: Add inline test for gather. (#231897)

Also combine case statements (is NFC change).
DeltaFile
+21-1llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
+0-6llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+21-72 files

FreeBSD/ports e937070 — databases/mongodb90 Makefile, databases/mongodb90/files patch-bazel_rules__rust_freebsd__host__triple.patch

databases/mongodb90: build on aarch64

And use --batch just like mongodb80.
DeltaFile
+11-2databases/mongodb90/Makefile
+1-1databases/mongodb90/files/patch-bazel_rules__rust_freebsd__host__triple.patch
+12-32 files

LLVM/project c4fad29 — llvm/lib/IR Attributes.cpp, llvm/unittests/IR AttributesTest.cpp

IR: Speed up AttrBuilder merge (#232204)

AttrBuilder::merge added the attributes of the other builder one at a
time, each with a binary search and a vector insert into the sorted
list. Both lists are sorted, so merge them in one pass, as the TODO
suggested. This speeds up Attributor manifesting attributes.

Instructions spent in amdgpu-attributor
  (opt, parse cost subtracted, median of 3 runs):
  rocPRIM test_device_scan, gfx942:          1963M -> 1923M (-2.0%)
  Blender Cycles HIP kernel, gfx1100:        636M -> 632M (within noise)
  rocPRIM 16 tests, full LTO, closed world:  7415M -> 7273M (-1.9%)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+33-0llvm/unittests/IR/AttributesTest.cpp
+26-3llvm/lib/IR/Attributes.cpp
+59-32 files

LLVM/project 4eb44be — clang/test/Driver aarch64-v98a.c, llvm/lib/Target/AArch64 AArch64InstrInfo.td

Revert "fixup! Change extension name + combine classes"

This reverts commit d7e23bf95f9d159ccad71f7f882769dc316f0320.
DeltaFile
+15-15llvm/test/MC/AArch64/SVE/ldapro-stlro.s
+9-9llvm/unittests/TargetParser/TargetParserTest.cpp
+3-3llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
+3-3llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
+3-3clang/test/Driver/aarch64-v98a.c
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+35-357 files not shown
+42-4213 files

LLVM/project 79005f6 — llvm/include/llvm/IR IntrinsicInst.h, llvm/lib/IR Verifier.cpp BasicBlock.cpp

[DebugInfo] Remove more dead debug intrinsic handling (NFC) (#232180)

This patch removes more leftover code for legacy debug intrinsics:

- llvm::skipDebugIntrinsics, which is now an identity function at all
  call sites, along with its unit test.
- Debug intrinsic checks in BasicBlock iteration helpers,
  User::replaceUsesOfWith, and Verifier::visitDIAssignIDMetadata.
- Unused location-operand and address methods on DbgVariableIntrinsic
  and DbgAssignIntrinsic that became dead after dropping the check in
  User::replaceUsesOfWith.

Note that debug info is now represented with DbgRecord rather than
debug intrinsics outside the DirectX backend.  Bitcode auto-upgrade
converts debug intrinsics to DbgRecords on load, and the DirectX
backend only materializes debug intrinsics late in DXILDebugInfo,
which strips DIAssignID metadata and does not use the removed code
paths.

Assisted-by: Antigravity
DeltaFile
+0-68llvm/lib/IR/IntrinsicInst.cpp
+0-41llvm/unittests/IR/InstructionsTest.cpp
+0-13llvm/lib/IR/Verifier.cpp
+3-10llvm/lib/IR/BasicBlock.cpp
+4-7llvm/lib/Transforms/Scalar/Scalarizer.cpp
+0-10llvm/include/llvm/IR/IntrinsicInst.h
+7-1494 files not shown
+7-16310 files

LLVM/project d1ed1de — clang/lib/APINotes APINotesManager.cpp

[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#232179)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

    // FIXME: Replace the uses of is(), get() and dyn_cast() with
    //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast.
Note that loadAPINotes() returns false only after storing a nonnull
APINotesReader * in Readers[*Dir].

Assisted-by: Antigravity
DeltaFile
+1-1clang/lib/APINotes/APINotesManager.cpp
+1-11 files

OPNSense/core 51d6a72 — src/etc/inc interfaces.inc

Update src/etc/inc/interfaces.inc

Co-authored-by: Franco Fichtner <franco at opnsense.org>
DeltaFile
+1-1src/etc/inc/interfaces.inc
+1-11 files

OpenBSD/ports 4CBXpRt — security/py-cryptodome distinfo Makefile, security/py-cryptodome/pkg PLIST

   update to py3-cryptodome-4.0.0, this is a nice major update with a move away
   from GMP to their own constant-time big integers library, and a lot of other
   improvements. See https://www.pycryptodome.org/src/changelog for more info.
VersionDeltaFile
1.29+53-117security/py-cryptodome/pkg/PLIST
1.48+5-9security/py-cryptodome/Makefile
1.27+2-2security/py-cryptodome/distinfo
+60-1283 files