LLVM/project 6c2da1b — llvm/lib/Target/RISCV RISCVGISel.td, llvm/lib/Target/RISCV/GISel RISCVRegisterBankInfo.cpp RISCVLegalizerInfo.cpp

[RISCV][GlobalISel] Support orc.b (#230401)

Support llvm.riscv.orc.b in GlobalISel on RV32 and RV64 with Zbb,
including i32 on RV64.
DeltaFile
+39-0llvm/test/CodeGen/RISCV/GlobalISel/orc-b-rv64.ll
+20-0llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+12-0llvm/test/CodeGen/RISCV/GlobalISel/orc-b-rv32.ll
+7-0llvm/lib/Target/RISCV/RISCVGISel.td
+2-1llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
+80-15 files

LLVM/project cbc50c0 — bolt/lib/Core Relocation.cpp, bolt/test/RISCV reloc-align.s

[BOLT][RISCV] Ignore alignment markers in linked binaries (#223994)

Skip `R_RISCV_ALIGN` when reading input relocations. It describes
padding used for linker relaxation rather than an address to relocate.
Since BOLT processes an already-linked binary, retained alignment
markers should not enter the ordinary relocation handling path.
DeltaFile
+29-0bolt/test/RISCV/reloc-align.s
+1-0bolt/lib/Core/Relocation.cpp
+30-02 files

LLVM/project 33a9c79 — bolt/lib/Core BinaryEmitter.cpp, bolt/test/RISCV patch-entry-size.s

[BOLT][RISCV] Emit PCREL_LO12 labels during size estimation (#224202)

BOLT skips instruction labels when emitting code for size estimation
with `EmitCodeOnly`. On RISC-V, however, `%pcrel_lo` fixups reference
labels on the corresponding `AUIPC` instructions. Omitting these labels
causes size estimation of entry patches to fail with **“ could not find
corresponding `%pcrel_hi` ”** when using `--force-patch`. Emit existing
RISC-V instruction labels in this mode so that PC-relative fixups can be
resolved.
DeltaFile
+22-0bolt/test/RISCV/patch-entry-size.s
+6-0bolt/lib/Core/BinaryEmitter.cpp
+28-02 files

LLVM/project 313665c — clang/lib/CIR/CodeGen TargetInfo.h CIRGenModule.cpp, clang/lib/CIR/CodeGen/Targets SPIRV.cpp

[CIR][SPIR-V] Move global address space selection to a target hook (#231098)

Discussed in https://github.com/llvm/llvm-project/pull/230813
DeltaFile
+20-0clang/test/CIR/CodeGenHIP/spirv-constant-addrspace.hip
+12-0clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
+1-8clang/lib/CIR/CodeGen/CIRGenModule.cpp
+7-0clang/lib/CIR/CodeGen/TargetInfo.h
+40-84 files

LLVM/project 7680acb — llvm/lib/Target/SPIRV SPIRVLegalizePointerCast.cpp, llvm/test/CodeGen/SPIRV/pointers byte-address-buffer-load4.ll byte-address-buffer-store.ll

[SPIR-V] Fix crash on byte buffer vector access at dynamic offset (#230934)
DeltaFile
+43-8llvm/test/CodeGen/SPIRV/pointers/byte-address-buffer-store.ll
+27-0llvm/test/CodeGen/SPIRV/pointers/byte-address-buffer-load4.ll
+4-2llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+74-103 files

LLVM/project eb5d41c — llvm/test/tools/llvm-ar error-opening-permission.test

Reword comment

Created using spr 1.3.7
DeltaFile
+2-2llvm/test/tools/llvm-ar/error-opening-permission.test
+2-21 files

LLVM/project 531c589 — llvm/test/tools/llvm-ar error-opening-permission.test

Move comment next to chmod line

Created using spr 1.3.7
DeltaFile
+2-2llvm/test/tools/llvm-ar/error-opening-permission.test
+2-21 files

LLVM/project a2dbe81 — llvm/test/CodeGen/X86/AMX pr228950.ll

[X86] Pin debug variable locations mode in pr228950.ll (#231278)

The CHECK lines in pr228950.ll assume instruction-referencing variable
locations, which is the x86_64 default. Under VarLoc-based
LiveDebugValues, llc emits a #DEBUG_VALUE comment between ldtilecfg and
tilezero, and the CHECK-NEXT fails.

Pass -experimental-debug-variable-locations=true so the test does not
depend on the default. This does not change upstream output.

rdar://189810853

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-1llvm/test/CodeGen/X86/AMX/pr228950.ll
+1-11 files

LLVM/project d6df1a3 — llvm/test/tools/llvm-ar error-opening-permission.test

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+2-0llvm/test/tools/llvm-ar/error-opening-permission.test
+2-01 files

LLVM/project d814497 — llvm/lib/Transforms/Utils BypassSlowDivision.cpp

[NFC] Fix wrong comment in insertFastDivAndRem (#230879)

The branch checks that the divisor IS a constant, not the opposite.
DeltaFile
+1-1llvm/lib/Transforms/Utils/BypassSlowDivision.cpp
+1-11 files

OpenBSD/src vQ68cUD — sys/dev/microcode/rge rgemcode.h, sys/dev/pci if_rge.c if_rgereg.h

   Split the rge(4) microcode into sys/dev/microcode/rge

   Suggested by deraadt@
VersionDeltaFile
1.1+11,101-0sys/dev/microcode/rge/rgemcode.h
1.19+1-11,093sys/dev/pci/if_rgereg.h
1.47+2-1sys/dev/pci/if_rge.c
+11,104-11,0943 files

LLVM/project f7e87c3 — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel half-fcmp.ll

[RISCV][GlobalISel] Promote f16 to f32 for G_FCMP without Zfh (#231097)

Without Zfh, G_FCMP with f16 operands had no matching legalization rule,
so GlobalISel failed to legalize it.
This commit widen the operands to f32 instead, matching SelectionDAG,
which promotes f16 SETCC when Zfh is not available.

Godbolt link: https://godbolt.org/z/Y9P7Yqa8d
DeltaFile
+341-0llvm/test/CodeGen/RISCV/GlobalISel/half-fcmp.ll
+1-0llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+342-02 files

LLVM/project 106392e — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel half-imm.ll

[RISCV][GlobalISel] Use Zfhmin for G_FCONSTANT s16 (#230723)

`fmv.h.x` is available with Zfhmin, and the selector already
materializes f16 constants through a GPR and `fmv.h.x`. SelectionDAG
handles f16 constants with Zfhmin, but GlobalISel would abort because
G_FCONSTANT s16 was only legal with Zfh.

SelectionDAG: https://godbolt.org/z/coMc7j3x9
GlobalISel: https://godbolt.org/z/MqzdG1r4v
DeltaFile
+46-0llvm/test/CodeGen/RISCV/GlobalISel/half-imm.ll
+1-1llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+47-12 files

LLVM/project fc7cdf2 — llvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel half-convert.ll

[RISCV][GlobalISel] Use Zfhmin for G_FPEXT from f16 to f64 (#230721)

From SPEC: If the D extension is present, the fcvt.d.h and fcvt.h.d
instructions are also included.

Link:
https://github.com/riscv/riscv-isa-manual/blob/1b9ca13819259df4b3bc87a7d7dcda06dd2fb6a9/src/unpriv/zfhmin.adoc?plain=1#L14-L17

Follow up of https://github.com/llvm/llvm-project/pull/227225
DeltaFile
+42-0llvm/test/CodeGen/RISCV/GlobalISel/half-convert.ll
+2-1llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+44-12 files

FreeBSD/ports 440a623 — security/vuxml/vuln 2026.xml

security/vuxml: Document DSA sig vuln in pycryptodome(x) < 3.24.1

Sponsored by: Saltant Solutions LLC
DeltaFile
+49-0security/vuxml/vuln/2026.xml
+49-01 files

OpenBSD/ports 6saScbj — games/scummvm Makefile distinfo, games/scummvm/patches patch-configure

   update to scummvm 2026.4.0
VersionDeltaFile
1.27+7-0games/scummvm/pkg/PLIST
1.34+2-2games/scummvm/patches/patch-configure
1.52+2-2games/scummvm/distinfo
1.111+1-1games/scummvm/Makefile
+12-54 files

FreeBSD/ports 1527e33 — net/freerdp3 pkg-plist distinfo

net/freerdp3: Update 3.32.1 => 3.32.2

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

Security:       GHSA-4g67-jhpc-q5xp
Security:       GHSA-799q-hjgw-g55g
Security:       GHSA-cg4f-57hc-v7w7
Security:       GHSA-rrp5-666j-g6gp
Security:       GHSA-wg7g-gx9g-r96c
Security:       GHSA-f53w-3364-jr35
Security:       GHSA-66mr-7wc7-23vc
Security:       GHSA-hqf8-95c7-6r92
Security:       GHSA-8g9g-hqqp-fw69
Security:       GHSA-jq25-3374-4262
Security:       GHSA-7qw2-8h66-pvpw
Security:       GHSA-5j39-x36c-x9pm
Security:       GHSA-6p3w-fv52-cf24

    [36 lines not shown]
DeltaFile
+14-18net/freerdp3/Makefile
+3-11net/freerdp3/distinfo
+2-0net/freerdp3/pkg-plist
+19-293 files

LLVM/project eb883e1 — llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine select-and-cmp.ll select-or-cmp.ll

[InstCombine] Fix profiles in FoldSelectWithAndOrCond (#231327)

3b38314a2b69847305b692677dbe64f1eb43235a also incorrectly applied branch
weights. The fact that the true and false arms have the same value says
little about the value distribution of the condition. For example, if we
take the following case:

```llvm
%A = icmp ne i32 %x, %z
%B = icmp eq i32 %y, %z
%C = and i1 %A, %B
%D = select i1 %C, i32 %z, i32 %x, !prof !1
ret i32 %D
```

which LLVM folds to

```llvm
%B = icmp eq i32 %y, %z

    [9 lines not shown]
DeltaFile
+14-19llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+13-6llvm/test/Transforms/InstCombine/select-factorize.ll
+2-3llvm/test/Transforms/InstCombine/select-or-cmp.ll
+1-1llvm/test/Transforms/InstCombine/select-and-cmp.ll
+0-1llvm/utils/profcheck-xfail.txt
+30-305 files

FreeBSD/ports 3a3ea9a — net/freerdp3 pkg-plist distinfo

net/freerdp3: Update 3.32.1 => 3.32.2

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

Security:       GHSA-4g67-jhpc-q5xp
Security:       GHSA-799q-hjgw-g55g
Security:       GHSA-cg4f-57hc-v7w7
Security:       GHSA-rrp5-666j-g6gp
Security:       GHSA-wg7g-gx9g-r96c
Security:       GHSA-f53w-3364-jr35
Security:       GHSA-66mr-7wc7-23vc
Security:       GHSA-hqf8-95c7-6r92
Security:       GHSA-8g9g-hqqp-fw69
Security:       GHSA-jq25-3374-4262
Security:       GHSA-7qw2-8h66-pvpw
Security:       GHSA-5j39-x36c-x9pm
Security:       GHSA-6p3w-fv52-cf24

    [34 lines not shown]
DeltaFile
+14-18net/freerdp3/Makefile
+3-11net/freerdp3/distinfo
+2-0net/freerdp3/pkg-plist
+19-293 files

LLVM/project 0b906b4 — llvm/include/llvm/ExecutionEngine/JITLink aarch64.h, llvm/test/ExecutionEngine/JITLink/AArch64 ELF_branch_addends.s

[JITLink][AArch64] Preserve destination addends on external branches (#231231)

Currently, an external branch such as `b target + addend` is incorrectly
redirected to `stub + addend` instead of `target + addend`. With an
addend of 4, for example, this skips the `adrp` in the stub's `adrp +
ldr + br` sequence, leaving `x16` without the expected page address,
which may cause a segmentation fault.

Reproducer on AArch64:
```asm
// caller.s
.text
.p2align 2
.globl main
main:
    mov x16, #0     // Make the skipped adrp expose the bug.
    b target + 4
```
```asm

    [24 lines not shown]
DeltaFile
+37-0llvm/test/ExecutionEngine/JITLink/AArch64/ELF_branch_addends.s
+4-1llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
+41-12 files

FreeBSD/src 1ca7f66 — usr.bin/ncal ncal.c, usr.bin/ncal/tests regress.se-r-jd-171202-nhl.out regress.se-r-jd-170003-nhl.out

ncal(1): handle Sweden's transitional calendar (1700-1712)

Sweden used a unique intermediate calendar during 1700-1712.  In 1700,
Sweden omitted the Julian leap day (Feb 29, 1700) to begin a gradual
transition to the Gregorian calendar.  The transition was abandoned
mid-way due to the Great Northern War; to revert to the Julian calendar,
an extra day "Feb 30, 1712" was added.  Sweden finally adopted the
Gregorian calendar in 1753 (already handled correctly by ncal).

ncal previously displayed Feb 1700 as a 29-day month and Feb 1712 as a
29-day month, both incorrect for the Swedish (-s SE) calendar mode.

Add flag_sweden, which is set when the SE country code is selected (via
-s SE or the locale) and cleared by -J, since -J selects the plain
Julian calendar.  When active, sndaysr() and sdater() apply the one-day
offset that characterised the Swedish transitional calendar:

  - Feb 1700: displayed with 28 days (no leap day)
  - 1700-03-01 to 1712-02-30: dates run one day ahead of Julian, so

    [15 lines not shown]
DeltaFile
+36-0usr.bin/ncal/tests/ncal_test.sh
+24-0usr.bin/ncal/ncal.c
+8-0usr.bin/ncal/tests/regress.se-r-jd-171202-nhl.out
+8-0usr.bin/ncal/tests/regress.se-r-jd-170003-nhl.out
+8-0usr.bin/ncal/tests/regress.se-r-3-1712-nhl.out
+8-0usr.bin/ncal/tests/regress.se-r-3-1700-nhl.out
+92-02 files not shown
+105-08 files

LLVM/project c951fe6 — compiler-rt/lib/asan asan_report.cpp asan_errors.cpp, compiler-rt/test/asan/TestCases assume_dereferenceable_halt_on_error.cpp assume_dereferenceable_pass.cpp

Reland "[compiler-rt][asan] Add asan checks for __builtin_assume_dereferencable" (#224163)

This relands commit bf8cf4b7b31b956ea4dfec93b0b4d77b359b188b (#190871),
which was reverted in commit e3b3706ceeea94ade3557275628a0e589e10ba24
(#193655).

This checks that the range covered by this intrinsic is dereferenceable.
Specifically it checks for `llvm.assume` intrinsics using the
`dereferenceable` operator bundle and asserts that the shadow for this
range is zero.

Fixes included in this reland:
1. Darwin Stable ABI: Added `__asan_report_assume_dereferenceable` and
`__asan_report_assume_dereferenceable_noabort` to `asan_abi_tbd.txt` to
resolve the interface symbols diff failure in
llvm_interface_symbols.cpp.
2. MSVC Support: Added `UNSUPPORTED: msvc` to the new
`assume_dereferenceable*.cpp` tests, as
`__builtin_assume_dereferenceable` is a Clang builtin not supported by

    [7 lines not shown]
DeltaFile
+90-0compiler-rt/test/asan/TestCases/assume_dereferenceable.cpp
+30-8compiler-rt/lib/asan/asan_errors.cpp
+37-0llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
+36-0compiler-rt/test/asan/TestCases/assume_dereferenceable_pass.cpp
+23-4compiler-rt/lib/asan/asan_report.cpp
+23-0compiler-rt/test/asan/TestCases/assume_dereferenceable_halt_on_error.cpp
+239-1211 files not shown
+322-2017 files

OpenBSD/src uJv0BTj — sys/dev/pci files.pci if_rge.c

   Add RX queues/RSS/TSO support and update microcode for RTL8127.

   On the RTL8127, the RX and TX descriptors use the 16-byte format
   instead of the 32-byte one.
VersionDeltaFile
1.18+1,644-649sys/dev/pci/if_rgereg.h
1.46+879-303sys/dev/pci/if_rge.c
1.373+2-2sys/dev/pci/files.pci
+2,525-9543 files

LLVM/project b4aba96 — llvm/utils profcheck-xfail.txt

[ProfCheck] Update XFAIL list (#231328)

This test was apparently fixed by other patches.
DeltaFile
+0-1llvm/utils/profcheck-xfail.txt
+0-11 files

OpenZFS/src b060bcb — module/zfs zio.c, tests/runfiles common.run

zio: drop a queued scan read only when its block is freed

zio_free_sync() tells the scan that a block is freed before it knows
whether the space will be released. A dedup or cloned block with other
references is only dereferenced, but the scan still removes its queued
read. The sorted scan queue holds one read per location, so the block's
remaining references are never verified or repaired: a scrub reports
nothing and a resilver can leave the block missing on the new device.

Notify the scan where the space is actually released: in zio_free_sync()
just before an immediate free, which also receives a dedup block's last
free from ddt_phys_free(), and in zio_dva_free(), which cloned and gang
blocks reach once they are no longer referenced.

The regression verifies physical sharing, forces sorted scanning, and
bounds in-flight I/O so the shared block remains queued behind a larger
file after traversal. Removing one reference must leave the other file
readable from the replacement alone.


    [2 lines not shown]
DeltaFile
+133-0tests/zfs-tests/tests/functional/block_cloning/block_cloning_resilver_free.ksh
+6-1module/zfs/zio.c
+1-1tests/runfiles/common.run
+2-0tests/zfs-tests/include/tunables.cfg
+1-0tests/zfs-tests/tests/Makefile.am
+143-25 files

HardenedBSD/src 14a8334 — sys/arm64/arm64 identcpu.c pmap.c, sys/arm64/include cpu.h

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+25-33sys/net/iflib.c
+20-3sys/kern/kern_rmlock.c
+11-6sys/arm64/include/cpu.h
+2-2sys/arm64/arm64/pmap.c
+0-2sys/sys/mbuf.h
+1-1sys/arm64/arm64/identcpu.c
+59-476 files

HardenedBSD/src deced32 — sys/powerpc/powerpc trap.c exec_machdep.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+7-1sys/powerpc/powerpc/exec_machdep.c
+6-0sys/powerpc/powerpc/trap.c
+13-12 files

HardenedBSD/src 4197322 — sys/arm64/arm64 identcpu.c pmap.c, sys/arm64/include cpu.h

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+25-33sys/net/iflib.c
+20-3sys/kern/kern_rmlock.c
+11-6sys/arm64/include/cpu.h
+2-2sys/arm64/arm64/pmap.c
+0-2sys/sys/mbuf.h
+1-1sys/arm64/arm64/identcpu.c
+59-476 files

HardenedBSD/src c31cb44 — sys/powerpc/powerpc trap.c exec_machdep.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+7-1sys/powerpc/powerpc/exec_machdep.c
+6-0sys/powerpc/powerpc/trap.c
+13-12 files

LLVM/project 161eb9f — llvm/test/Transforms/InstCombine ctpop.ll

Add vector test
DeltaFile
+15-0llvm/test/Transforms/InstCombine/ctpop.ll
+15-01 files