LLVM/project 78f660cllvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/Transforms/AtomicExpand/X86 expand-atomic-non-integer.ll

[AtomicExpand] Support non-integer atomic loads. (#199310)

This is arguably an enhancement rather than a bugfix.  But
AtomicExpandPass already tries to support some non-integer atomic ops
using cmpxchg by bitcasting to/from an integer type.  We're just missing
this one path used by atomic load.  Seems easy enough to support it.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
DeltaFile
+43-3llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
+11-1llvm/lib/CodeGen/AtomicExpandPass.cpp
+54-42 files

LLVM/project e9132e9clang/docs ReleaseNotes.rst, clang/include/clang/Basic Builtins.td

[clang] Implement `__builtin_elementwise_clmul` (#196633)

Follow-up to:
- https://github.com/llvm/llvm-project/pull/140301
- https://github.com/llvm/llvm-project/pull/168731

I'm mostly just following the steps of
https://github.com/llvm/llvm-project/pull/153113/ and other prior PRs
here. I don't have any idea how testing works yet.

CC @artagnon @oscardssmith
DeltaFile
+34-0clang/test/Sema/builtins-elementwise-math.c
+33-0clang/test/CodeGen/builtins-elementwise-math.c
+17-0clang/test/AST/ByteCode/builtin-functions.cpp
+11-0clang/lib/AST/ExprConstant.cpp
+6-0clang/include/clang/Basic/Builtins.td
+4-0clang/docs/ReleaseNotes.rst
+105-04 files not shown
+114-010 files

LLVM/project b402d5bclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

Type size should be dl alloc size.
DeltaFile
+2-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+2-21 files

FreeBSD/ports d1e9ce1security/mcrypt Makefile

security/mcrypt: Mark DEPRECATED

Abandoned, it has multiple vulnerabilities.
CVE-2012-4409 CVE-2012-4426 CVE-2012-4527

PR:             295536
Approved by:    osa (mentor)
DeltaFile
+4-1security/mcrypt/Makefile
+4-11 files

OpenBSD/ports XzgxcM6sysutils/burp/2.1/patches patch-src_server_timestamp_c patch-src_server_timer_c, sysutils/burp/2.2/patches patch-src_server_timestamp_c patch-src_server_timer_c

   burp/2.[12]: fix build with llvm22: use time_t instead of long for times
VersionDeltaFile
1.1+19-0sysutils/burp/2.2/patches/patch-src_server_timestamp_c
1.1+19-0sysutils/burp/2.1/patches/patch-src_server_timestamp_c
1.1+16-0sysutils/burp/2.1/patches/patch-src_server_timer_c
1.1+16-0sysutils/burp/2.2/patches/patch-src_server_timer_c
1.1+12-0sysutils/burp/2.2/patches/patch-src_server_timestamp_h
1.1+12-0sysutils/burp/2.1/patches/patch-src_server_timestamp_h
+94-02 files not shown
+96-28 files

FreeBSD/src bc70af0sys/kern subr_eventhandler.c, sys/sys eventhandler.h

eventhandler: Fix a race when pruning eventhandlers

By default, eventhandler_deregister() blocks until it reaches some point
where no threads are invoking the event.  At this point, it knows that
1) no threads are currently executing the handler,
2) some thread has freed the eventhandler structure by virtue of having
   called eventhandler_prune_list(),
so it is safe to return.

Suppose a thread is trying to deregister an event handler.  A different
thread prunes it, and wakes up the first thread.  Before the first
thread runs, a third thread grabs the event handler lock, and starts
executing handlers.  The first thread observes el_runcount > 0, and goes
back to sleep.  The third thread sees no event handlers to prune, and
doesn't wake up the first thread, which sleeps forever.

This change fixes the race and tries to make eventhandler_invoke() more
efficient: keep a count of the number of dead list entries and only
prune the list if there is at least one dead entry.  Also, in

    [9 lines not shown]
DeltaFile
+14-4sys/kern/subr_eventhandler.c
+2-2sys/sys/eventhandler.h
+16-62 files

FreeBSD/src 473ba78sys/net if_vlan.c

if_vlan: Use the exclusive lock everywhere

Running sys/net tests in parallel reveals some panics which look like
the one below:

```
shared lock of (sx) vlan_sx @ /home/markj/sb/main/src/sys/net/if_vlan.c:2395
while exclusively locked from /home/markj/sb/main/src/sys/net/if_vlan.c:1850
panic: excl->share
cpuid = 9
time = 1776467219
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00d84e0780
vpanic() at vpanic+0x136/frame 0xfffffe00d84e08b0
panic() at panic+0x43/frame 0xfffffe00d84e0910
witness_checkorder() at witness_checkorder+0xdb1/frame 0xfffffe00d84e0ad0
_sx_slock_int() at _sx_slock_int+0x64/frame 0xfffffe00d84e0b10
vlan_ioctl() at vlan_ioctl+0x25c/frame 0xfffffe00d84e0b70
if_setflag() at if_setflag+0xdc/frame 0xfffffe00d84e0be0

    [29 lines not shown]
DeltaFile
+66-68sys/net/if_vlan.c
+66-681 files

FreeBSD/src deea28asys/amd64/vmm/io ppt.c

amd64/vmm: Fix ppt_unmap_mmio() after commit 36b855f18925

Fixes:          36b855f18925 ("amd64/vmm: Lock global PCI passthrough structures")
MFC after:      3 days
Reported by:    bz

(cherry picked from commit b133353310920aa823b1b5f83a308d0762f3bba3)
DeltaFile
+1-1sys/amd64/vmm/io/ppt.c
+1-11 files

LLVM/project 3e6582fclang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema warn-lifetime-safety-invalidations.cpp

Reland "[LifetimeSafety] Detect iterator invalidation through container aliases" (#197873)

This relands #195231, which was reverted in commit
7c9717848851f3a71908becab4312ddc2d8482b8.

The original crash from the reproducer no longer reproduces after
#196680, #197220, and #197604. I verified the original `repro.cpp`: it
no longer hits the lifetime-safety assertion now.

Also added regression tests for the crash:

```cpp
struct SinkInteriorBorrow {
  const char *dest_; // expected-note {{this field dangles}}

  SinkInteriorBorrow(std::string *dest, int n) : dest_(dest->data()) { // expected-warning {{parameter which escapes to a field is later invalidated}}
    if (n > 0)
      dest->clear(); // expected-note {{invalidated here}}
  }

    [3 lines not shown]
DeltaFile
+105-20clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+5-3clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+110-232 files

NetBSD/pkgsrc fsWAjN2math/R-plyr Makefile distinfo, math/R-plyr/patches patch-src_Makevars

   (math/R-plyr) Fix against R 4.6.0 (-lexecinfo)
VersionDeltaFile
1.1+28-0math/R-plyr/patches/patch-src_Makevars
1.14+3-1math/R-plyr/Makefile
1.13+2-1math/R-plyr/distinfo
+33-23 files

OpenBSD/ports Aq8dpNRmultimedia/mkvtoolnix distinfo Makefile, multimedia/mkvtoolnix/patches patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp patch-Rakefile

   Update mkvtoolnix to 99.0
VersionDeltaFile
1.6+10-10multimedia/mkvtoolnix/patches/patch-src_mkvtoolnix-gui_jobs_program_runner_unix_program_runner_cpp
1.81+2-2multimedia/mkvtoolnix/distinfo
1.23+2-2multimedia/mkvtoolnix/patches/patch-Rakefile
1.152+1-1multimedia/mkvtoolnix/Makefile
+15-154 files

FreeBSD/ports a9b20a7multimedia/jellyfin pkg-plist distinfo

multimedia/jellyfin: Fix distinfo and pkg-plist after 10.11.10 update

Discussed with: bapt
DeltaFile
+6-6multimedia/jellyfin/pkg-plist
+5-5multimedia/jellyfin/distinfo
+11-112 files

GhostBSD/ports d128261devel/electron42/files/packagejsons yarn.lock, mail/thunderbird/files patch-libwebrtc-generated

Merge remote-tracking branch 'freebsd/main'
DeltaFile
+76,245-75,897www/librewolf/files/patch-libwebrtc-generated
+76,245-75,897mail/thunderbird/files/patch-libwebrtc-generated
+76,245-75,897www/firefox/files/patch-libwebrtc-generated
+0-15,936www/waterfox/files/patch-bug1962139-c27-ffmpeg8
+6,135-8,030net-im/signal-desktop/files/pnpm-lock.yaml
+12,501-0devel/electron42/files/packagejsons/yarn.lock
+247,371-251,65711,221 files not shown
+429,235-327,26511,227 files

LLVM/project 5b5b860llvm/lib/Target/AMDGPU AMDGPURegBankCombiner.cpp, llvm/test/CodeGen/AMDGPU global-saddr-load.ll

PR feedback, fix tests
DeltaFile
+24-90llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
+12-14llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
+36-1042 files

LLVM/project 054188bllvm/lib/Target/AMDGPU AMDGPURegBankCombiner.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel load-d16.ll

[AMDGPU][True16] Add regbank combiner cases to fix regression around G_SEXTLOAD
DeltaFile
+63-165llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
+17-2llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
+80-1672 files

LLVM/project b075400llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp

Update comment around destination reg size for clarity
DeltaFile
+5-1llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+5-11 files

LLVM/project aa095dbllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU global-saddr-load.ll

Add legalize rules and fix tests
DeltaFile
+165-63llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
+90-24llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
+6-9llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
+7-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+268-984 files

LLVM/project 9a486ecllvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU flat-saddr-load.ll

[AMDGPU][True16] Legalize extloads into 16-bit registers

Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
DeltaFile
+80-38llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
+2-2llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+82-402 files

LLVM/project b688dc0llvm/test/CodeGen/AMDGPU/GlobalISel legalize-sextload-zextload-s16-true16.mir legalize-sextload-s16-true16.mir

PR feedback
DeltaFile
+0-376llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-zextload-s16-true16.mir
+87-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
+5-1llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
+92-3773 files

LLVM/project 69b473dllvm/test/CodeGen/AMDGPU/GlobalISel legalize-sextload-zextload-s16-true16.mir

[AMDGPU][True16] Create tests that will demonstrate true16 G_SEXTLOAD/G_ZEXTLOAD legalization changes
DeltaFile
+376-0llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-zextload-s16-true16.mir
+376-01 files

OpenBSD/ports H0qJFvygraphics/gimp/stable Makefile, graphics/gimp/stable/patches patch-plug-ins_file-tiff_file-tiff-load_c

   gimp/stable: backport a diff from gimp-snapshot to fix build with llvm22
VersionDeltaFile
1.1+26-0graphics/gimp/stable/patches/patch-plug-ins_file-tiff_file-tiff-load_c
1.180+1-1graphics/gimp/stable/Makefile
+27-12 files

LLVM/project c52c3d2llvm/lib/Target/AMDGPU VOP3PInstructions.td AMDGPU.td, llvm/test/MC/AMDGPU gfx11_asm_vop3p_alias.s gfx12_asm_vop3p_aliases.s

[AMDGPU] Fix v_dot4_i32_i8 alias to set neg_lo modifiers (#197998)

Fixes issue here https://github.com/ROCm/ROCm/issues/6126

The `v_dot4_i32_i8` assembly alias was not setting the `neg_lo` modifier
bits when converted to `v_dot4_i32_iu8`, which causes signed int8
operands to be treated as unsigned.

For example: `q=[1,-1,1,-1], k=[1,1,1,1]`: expected 0, returned 512. The
instruction is computing `1*1 + 255*1 + 1*1 + 255*1 = 512` ; treating
`-1 (0xFF)` as `255`.

On AMD GFX11+, the native `v_dot4_i32_i8` instruction doesn't exist. The
hardware provides `v_dot4_i32_iu8` with `neg_lo` modifier bits to
control signedness of each operand. The compiler correctly lowers
`v_dot4_i32_i8` intrinsics by setting `neg_lo:[1,1,0]`, but inline
assembly using the `v_dot4_i32_i8` mnemonic bypasses this lowering and
goes directly to the assembler.


    [10 lines not shown]
DeltaFile
+17-5llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+18-0llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
+2-2llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
+2-2llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
+3-0llvm/lib/Target/AMDGPU/AMDGPU.td
+42-95 files

OpenBSD/ports uX7QdIVaudio/lmms Makefile, audio/lmms/patches patch-src_core_midi_MidiSndio_cpp patch-include_MidiSndio_h

   Add the necessary locking to the sndio MIDI backend

   Fixes crashes caused concurrent accesses to the sndio MIDI handle.

   ok rsadowski
VersionDeltaFile
1.1+61-0audio/lmms/patches/patch-src_core_midi_MidiSndio_cpp
1.1+19-0audio/lmms/patches/patch-include_MidiSndio_h
1.30+1-1audio/lmms/Makefile
+81-13 files

LLVM/project b969520mlir/include/mlir/Dialect/SCF/IR SCFOps.td, mlir/lib/Dialect/SCF/IR SCF.cpp

[mlir][SCF] Add `scf.loop` op and terminators
DeltaFile
+170-0mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
+162-0mlir/lib/Dialect/SCF/IR/SCF.cpp
+101-0mlir/test/Dialect/SCF/invalid.mlir
+73-0mlir/test/Dialect/SCF/ops.mlir
+506-04 files

LLVM/project 72b1c13lldb/include/lldb/ValueObject DILEval.h DILParser.h, lldb/source/ValueObject DILEval.cpp DILParser.cpp

[lldb] Add enum lookup to DIL (#192065)
DeltaFile
+36-0lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
+29-0lldb/source/ValueObject/DILEval.cpp
+19-0lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp
+5-0lldb/include/lldb/ValueObject/DILEval.h
+2-2lldb/source/ValueObject/DILParser.cpp
+3-0lldb/include/lldb/ValueObject/DILParser.h
+94-21 files not shown
+97-27 files

NetBSD/pkgsrc-wip ff4ed61dnsdist Makefile COMMIT_MSG, powerdns PLIST COMMIT_MSG

dnsdist, powerdns: remove, updated in pkgsrc
DeltaFile
+0-75dnsdist/Makefile
+0-69dnsdist/COMMIT_MSG
+0-61powerdns/PLIST
+0-47powerdns/COMMIT_MSG
+0-32powerdns/Makefile.common
+0-29powerdns/files/smf/manifest.xml
+0-31316 files not shown
+1-55622 files

NetBSD/pkgsrc JkAdfmMdoc CHANGES-2026 TODO

   doc: Updated net/powerdns to 5.0.5
VersionDeltaFile
1.3277+2-1doc/CHANGES-2026
1.27316+1-2doc/TODO
+3-32 files

NetBSD/pkgsrc DwRi3fqnet/powerdns distinfo Makefile

   net/powerdns: Update to version 5.0.5

   From Marcin Gondek via wip.

   This is release 5.0.5 of the Authoritative Server. It contains bug fixes and security fixes.

   Bug Fixes

   Fix PowerDNS Security Advisory 2026-06 for PowerDNS Authoritative Server: Multiple Issues
   use less inefficient code in web server
   harden xfr*BitInt writers
   perform axfr immediately when creating an autosecondary domain
   Actually install binaries when building with meson
   web: stricter control of statistics rings changes
   stricter handing of the Lua DNS update policy
   correctly delete ENT records from the API
   lua: one more bad case of createForward
   minor pdns_control bugfixes
   webserver: correctly split the basic authorization cookie

    [2 lines not shown]
VersionDeltaFile
1.58+4-4net/powerdns/distinfo
1.96+2-2net/powerdns/Makefile
1.47+2-2net/powerdns/Makefile.common
+8-83 files

NetBSD/pkgsrc pdGRe8edoc CHANGES-2026

   doc: Updated net/dnsdist to 2.0.6
VersionDeltaFile
1.3276+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc FgDxJiFnet/dnsdist distinfo Makefile, net/dnsdist/patches patch-dnsdist-lua.cc

   net/dnsdist: Update to version 2.0.6

   From Marcin Gondek via wip.

   Improvements

   Fix clang-tidy warnings
   Also apply UDP socket buffer sizes to backend sockets
   Make code boost-1.91 compatible

   Bug Fixes

   Check the DoQ query size against the received size
   Fix outgoing TLS session cache cleanup
   Compute a less inaccurate number of DNS records to pass to reserve()
   Maintain a "current size of received body" counter.
   Fix the dynamic block top suffixes counters computation
   snmp-agent: Fix a memory leak
   Fix XSK configuration via YAML

    [12 lines not shown]
VersionDeltaFile
1.27+4-5net/dnsdist/distinfo
1.50+2-3net/dnsdist/Makefile
1.2+1-1net/dnsdist/patches/patch-dnsdist-lua.cc
+7-93 files