LLVM/project 4a38cbb — llvm/include/llvm/Transforms/Utils Local.h, llvm/lib/Transforms/Scalar GVNHoist.cpp

[GVNHoist] call patchReplacementInstruction in rauw

In Replace all User With function, we actually need to relax flag for
hoisting. In one miscompilation bug we have (see:
https://github.com/llvm/llvm-project/issues/236581). We actually need
dropPoisonGeneratingFlags.

After taking a look at patchReplacementInstruction, we actually need
callsite relaxation also.

As a result, we make rauw call this function directly. The only
difference is that Hoisting actually move the instruction so we cannot
set combineMetadataForCSE to true. We add a parameter to pass the
value and set the value to false by default.

Assisted-by: Claude # Test
DeltaFile
+73-0llvm/test/Transforms/GVNHoist/hoist.ll
+72-0llvm/test/Transforms/GVNHoist/hoist-call.ll
+4-3llvm/include/llvm/Transforms/Utils/Local.h
+3-2llvm/lib/Transforms/Utils/Local.cpp
+1-2llvm/lib/Transforms/Scalar/GVNHoist.cpp
+153-75 files

FreeBSD/ports 96d1024 — www/librewolf Makefile distinfo

www/librewolf: Update 159.0-1 => 159.0.1-1

Release Notes:
https://www.firefox.com/en-US/firefox/159.0.1/releasenotes/

Changelog:
https://librewolf.dev/librewolf/bsys6/releases/tag/159.0.1-1

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

(cherry picked from commit 11585d377f298c5b2ae3f0c98cdaf52efb8dd536)
DeltaFile
+3-3www/librewolf/distinfo
+2-3www/librewolf/Makefile
+5-62 files

FreeBSD/ports 11585d3 — www/librewolf Makefile distinfo

www/librewolf: Update 159.0-1 => 159.0.1-1

Release Notes:
https://www.firefox.com/en-US/firefox/159.0.1/releasenotes/

Changelog:
https://librewolf.dev/librewolf/bsys6/releases/tag/159.0.1-1

PR:             300536
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q4
DeltaFile
+3-3www/librewolf/distinfo
+2-3www/librewolf/Makefile
+5-62 files

LLVM/project 02d1be9 — llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU twoaddr-wmma.mir

[AMDGPU] Update src2 live range when converting WMMA to three-address form

Since #225174, `LiveIntervals` is computed before the two-address instruction
pass. A two-address WMMA ties `src2` to an early-clobber `vdst`, so if `src2`
dies at the WMMA, its live range ends at the early-clobber slot. When the pass
converts the WMMA to the three-address form, `src2` is no longer tied and is
read at the register slot, but `SIInstrInfo::convertToThreeAddress` only updates
the live range of the def. The machine verifier then reports "Live segment
ending at early clobber slot must be redefined by an EC def in the same
instruction".

This PR moves the end of such a segment to the register slot, for the main range
and the subranges.

Fixes LCOMPILER-3197.
DeltaFile
+36-0llvm/test/CodeGen/AMDGPU/twoaddr-wmma.mir
+24-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+60-02 files

LLVM/project 8635f90 — orc-rt/include/orc-rt/bedrock BootstrapInfo.h, orc-rt/include/orc-rt/bedrock/sps GDBJITRegistrarSPSCI.h DWARFEHFrameRegistrarSPSCI.h

[orc-rt] Replace 'sps_ci' namespace with nested 'sps::ci'. (#239464)

Not all SPS-based utilities are CI (Controller Interface). To reflect
this, this commit breaks the `sps_ci` namespace up into an `sps`
namespace (to be shared between all code that depends on SPS), and a
nested `sps::ci` namespace for CI code that depends on SPS.
DeltaFile
+3-3orc-rt/lib/bedrock/sps/AllSPSCI.cpp
+2-2orc-rt/include/orc-rt/bedrock/sps/GDBJITRegistrarSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/sps/DWARFEHFrameRegistrarSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/sps/CallSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/sps/AllSPSCI.h
+2-2orc-rt/include/orc-rt/bedrock/BootstrapInfo.h
+13-1321 files not shown
+48-4827 files

FreeBSD/src aa5bef3 — . myproposal.h channels.c, openbsd-compat readpassphrase.c port-uw.c

Vendor import of OpenSSH 10.6p2

Sponsored by:   The FreeBSD Foundation
DeltaFile
+13-5openbsd-compat/xcrypt.c
+13-4auth-passwd.c
+8-8openbsd-compat/port-uw.c
+5-5openbsd-compat/readpassphrase.c
+3-4channels.c
+3-2myproposal.h
+45-2810 files not shown
+60-3716 files

LLVM/project 353638c — llvm/test/CodeGen/X86 vector-interleaved-load-i32-stride-8.ll vector-interleaved-load-i16-stride-7.ll

[X86] Enable SlotIndexes compaction by default

Compacting SlotIndexes before greedy allocation drops the entries of
erased instructions, so live range sizes and instruction distances
reflect the code being allocated rather than how much was erased
before it. AMDGPU has done this since #235806; do the same for X86.

Codegen changes only through allocation: no new crashes, verifier
errors or allocation failures in the lit suites, including
EXPENSIVE_CHECKS, and a stage-2 build of LLVM, clang and lld with
-verify-machineinstrs passes its own tests. On llvm-test-suite at -O3,
spills drop 0.3% and .text 0.06%, with compile time unchanged.

Most test updates are regenerated checks. misched-matmul now inserts
20 spills instead of 24. live-debug-vars-stale-slotindexes.mir gets
one more use of %27 so that accumulate_fit still reaches the stale
index path it was written for.
DeltaFile
+15,403-15,465llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
+13,329-13,243llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
+13,199-13,231llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+12,788-12,826llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
+11,796-11,778llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
+11,057-11,064llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
+77,572-77,607447 files not shown
+344,092-345,738453 files

LLVM/project 85c5c1b — lldb/source/Symbol Symbol.cpp

[lldb] Correct Symbol's ctor from another Symbol (#239381)

As I was working on another issue with Claude, it happened to see this
discrepency but it wasn't directly relevant to the work I was doing
there, so I'm handling it separately.

Symbol::operator= initializes m_size_is_synthesized of the lhs object to
the value of the rhs side's ivar.
But Symbol::Symbol(const Symbol &rhs) does not copy this ivar, it
initializes it to false. Likely someone copied the basic constructor's
init list and missed this variable.
DeltaFile
+2-1lldb/source/Symbol/Symbol.cpp
+2-11 files

LLVM/project ab854c6 — orc-rt/include/orc-rt-c/bedrock ControllerHandlerTag.h, orc-rt/include/orc-rt/bedrock Session.h

[orc-rt] Identify controller handlers by tag address (#239462)

orc_rt_ControllerHandlerTag was a void * whose value was passed to the
controller, but tags are meant to be global variables whose *address*
identifies the handler. Passing a tag variable's value instead would
silently pass the same (zero) value for every tag.

This commit makes orc_rt_ControllerHandlerTag a one-byte struct, moves
it into its own header (orc-rt-c/bedrock/ControllerHandlerTag.h), and
changes all APIs to take tags by pointer. Passing a tag by value is now
a compile error.

Tags must have distinct addresses, so:
- The struct is non-empty (an empty struct is a GNU extension in C, with
size 0, so distinct tags could share an address).
- Tags must not be const: the linker may fold identical read-only data
(e.g. under identical code folding). APIs take tags by non-const
pointer, so passing a const tag is an error in C++ and a warning in C.


    [8 lines not shown]
DeltaFile
+56-0orc-rt/include/orc-rt-c/bedrock/ControllerHandlerTag.h
+39-0orc-rt/test/unit/bedrock/ControllerHandlerTagTest.cpp
+23-0orc-rt/test/unit/bedrock/ControllerHandlerTagCTest.c
+10-10orc-rt/test/unit/bedrock/SessionTest.cpp
+6-5orc-rt/include/orc-rt/bedrock/Session.h
+7-4orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
+141-1910 files not shown
+155-3316 files

LLVM/project 657b49c — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Check for assume knowledge once per attribute query

hasAttr and getAttrs looked for assume knowledge separately for each
queried attribute kind, but most modules have none.

CTMark instructions:u with -attributor-enable=light changes by O3
-0.13%, ThinLTO -0.10%. The attributor-light pass itself is 1.6-4.1%
faster (callgrind), and 0.6-1.7% faster with the other pending
Attributor compile-time changes applied.

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

FreeBSD/ports 6e46391 — mail/py-resend Makefile distinfo

mail/py-resend: Update to 2.52.0

Changelog: https://github.com/resend/resend-python/releases/tag/v2.52.0

Reported by:    Repology
DeltaFile
+3-3mail/py-resend/distinfo
+2-2mail/py-resend/Makefile
+5-52 files

LLVM/project 96f74c4 — .github/workflows libcxx-lnt-refine-commits.yml, libcxx/utils/ci/lnt README.md detect-changepoints

[libc++] Adapt the LNT tooling to the new format of GET /series (#239352)

LNT's GET /series endpoint now accepts several metrics at a time, which
changes slightly its output format. Update the scripts to account for
that.

Assisted by Claude
DeltaFile
+23-9libcxx/utils/ci/lnt/detect-changepoints
+3-2.github/workflows/libcxx-lnt-refine-commits.yml
+1-1libcxx/utils/ci/lnt/README.md
+27-123 files

LLVM/project ae1c514 — llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

Add braces for a large single statement.
DeltaFile
+2-1llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+2-11 files

FreeBSD/ports ff4fbd4 — misc/crush Makefile distinfo, misc/crush/files extra-patch-disable-command-blocking

misc/crush: Update to 0.100.0

While here, remove DISABLE_COMMAND_BLOCKING option.

Upstream has introduced "sysadmin mode" in which crush can run any
command, which is essentially equivalent to
DISABLE_COMMAND_BLOCKING. In addition, the upstream has also
introduced "permission" command with which you can configure which
commands are dangerous to your system.

Changelog: https://github.com/charmbracelet/crush/releases/tag/v0.100.0

Reported by:    GitHub (watch releases)
DeltaFile
+0-110misc/crush/files/extra-patch-disable-command-blocking
+0-17misc/crush/pkg-message
+5-5misc/crush/distinfo
+3-5misc/crush/Makefile
+8-1374 files

LLVM/project e0adbab — llvm/test/CodeGen/X86 callbr-asm-indirect-output.ll

use -filetype=null

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/test/CodeGen/X86/callbr-asm-indirect-output.ll
+1-11 files

LLVM/project 395ae68 — libcxxabi/src/demangle ItaniumDemangle.h, libcxxabi/test DemangleTestCases.inc

[Demangle] Allow template arguments on the type of a conversion expression

A conversion expression 'cv <type> <expression>' parsed its type with
template-argument parsing disabled, so a template template parameter or
substitution followed by template arguments, as in S1_IT0_E, was not
accepted. No <expression> starts with 'I', so there is no ambiguity.
GCC emits the same form for decltype(S1<T>().~U()); clang's own
mangling of CodeGenCXX/mangle.cpp test51 fun3 hit this and could not be
demangled.

Part of #111345.

LLM-aided
DeltaFile
+4-10llvm/include/llvm/Demangle/ItaniumDemangle.h
+4-10libcxxabi/src/demangle/ItaniumDemangle.h
+2-0llvm/include/llvm/Testing/Demangle/DemangleTestCases.inc
+2-0libcxxabi/test/DemangleTestCases.inc
+12-204 files

LLVM/project c345345 — libcxxabi/src/demangle ItaniumDemangle.h, libcxxabi/test DemangleTestCases.inc

[Demangle] Parse nested template arguments in a conversion operator's type

While parsing the <type> of a conversion operator, template arguments after
a type are not consumed, because they may belong to the operator itself
(a conversion function template such as cvT_IiE). That restriction was left
on while parsing the contents of a nested <template-args>, so a substitution
inside them was not allowed to take its own template arguments. For
example, in the name of `operator std::vector<int>()`,
_ZN1AcvSt6vectorIiSaIiEEEv, the `SaIiE` (std::allocator<int>) was parsed as
the bare substitution `Sa`, and the whole name was rejected.

Template arguments nested inside an I...E always belong to their own types,
so re-enable parsing them in parseTemplateArgs. The ambiguity only exists at
the outermost level of the conversion type, which is unchanged.

GCC emits the same manglings for these operators.

Part of #111345.

LLM-aided
DeltaFile
+5-0llvm/include/llvm/Demangle/ItaniumDemangle.h
+5-0libcxxabi/src/demangle/ItaniumDemangle.h
+4-0llvm/include/llvm/Testing/Demangle/DemangleTestCases.inc
+4-0libcxxabi/test/DemangleTestCases.inc
+18-04 files

OpenBSD/src eKr86XG — sys/dev/ofw fdt.c

   Avoid using a large stack buffer by referencing the FDT blob directly in
   OF_getindex().

   ok deraadt@, phessler@
VersionDeltaFile
1.44+6-9sys/dev/ofw/fdt.c
+6-91 files

LLVM/project 7907a62 — libcxx/docs/ReleaseNotes 24.rst, libcxx/include __config

Revert "[libc++] Use glibc random APIs for std::random_device on Linux" (#239435)

Reverts llvm/llvm-project#222567 because because it broke
`std/numerics/rand/rand.device/ctor.pass.cpp` on
https://ci.chromium.org/b/8665994883795746673 as reported in
https://github.com/llvm/llvm-project/pull/222567#issuecomment-6673158574.
DeltaFile
+0-27libcxx/test/libcxx/numerics/rand/rand.device/abi.compile.pass.cpp
+0-8libcxx/include/__config
+4-4libcxx/include/__random/random_device.h
+0-4libcxx/docs/ReleaseNotes/24.rst
+0-1libcxx/utils/libcxx/test/features/libcxx_macros.py
+0-1libcxx/test/std/numerics/rand/rand.device/eval.pass.cpp
+4-451 files not shown
+4-467 files

FreeBSD/ports c198767 — lang/v8-beta Makefile.crates Makefile, lang/v8-beta/files patch-third__party_partition__alloc_src_partition__alloc_partition__address__space.cc patch-third__party_partition__alloc_src_partition__alloc_page__allocator__internals__posix.cc

lang/v8-beta: update to 15.8.62.9 (Chrome 158 beta)

- Update the dependency pins from DEPS and the Temporal crates to the
  versions in Chromium's third_party/rust (ICU4X 2.4).
- Adapt the PartitionAlloc zero segment patches to the new
  GetWellKnownReadOnlyRegions() interface, and the d8 ASLR check to
  the new guard condition.
- Disable the new ECMA-402 ICU4X backend (v8_enable_ecma402_icu4x),
  which needs another Rust library built by GN.  It is only used when
  enabled with runtime flags, and Node builds disable it as well.
DeltaFile
+59-63lang/v8-beta/distinfo
+38-59lang/v8-beta/files/temporal_capi-Cargo.lock
+19-18lang/v8-beta/Makefile
+12-14lang/v8-beta/Makefile.crates
+13-8lang/v8-beta/files/patch-third__party_partition__alloc_src_partition__alloc_page__allocator__internals__posix.cc
+7-7lang/v8-beta/files/patch-third__party_partition__alloc_src_partition__alloc_partition__address__space.cc
+148-1699 files not shown
+182-20315 files

FreeBSD/ports e4083f6 — lang/v8 Makefile distinfo, lang/v8/files patch-third__party_partition__alloc_src_partition__alloc_stack_stack.cc patch-build_config_linux_pkg-config.py

lang/v8: update to 15.7.112.23 (Chrome 157 stable)

- Sync with lang/v8-beta at 15.7.112.9; DEPS is unchanged since then.
- Shim Cursor.__eq__ in metagen for LLVM < 21, which passes None to
  clang_equalCursors.
- PartitionAlloc's GetStackTop() now returns uintptr_t; adjust the
  FreeBSD implementation.
DeltaFile
+45-47lang/v8/distinfo
+20-31lang/v8/files/temporal_capi-Cargo.lock
+17-17lang/v8/Makefile
+9-9lang/v8/files/patch-build_config_linux_pkg-config.py
+9-9lang/v8/files/patch-build_config_BUILDCONFIG.gn
+8-8lang/v8/files/patch-third__party_partition__alloc_src_partition__alloc_stack_stack.cc
+108-1219 files not shown
+140-15015 files

LLVM/project 9d9265d — clang/include/clang/Basic DebugOptions.def, clang/include/clang/Options Options.td

[clang-cl] Omit command line and workdir in CIFF CV debug info for reproducible builds. (#205736)

The command line can contain the arguments, such as the pathes or /pathmap options,
which could break a reproducible output for the object files. In addition to
`-gcodeview-commandline` option that drops the command line from the build info,
this patch adds a new `-gcodeview-cwd` option to exclude the current working
directory from the build info of the CodeView debug info sections. 

Also it links `-gno-codeview-cwd` and `-gno-codeview-commandline` options with
CL's `/Brepro` option to match (partly) compiler behaviour with MSVC.
DeltaFile
+8-3clang/lib/CodeGen/CGDebugInfo.cpp
+10-0clang/test/DebugInfo/Generic/codeview-buildinfo.c
+6-0clang/include/clang/Options/Options.td
+3-0clang/lib/Driver/ToolChains/Clang.cpp
+3-0clang/include/clang/Basic/DebugOptions.def
+2-0clang/test/Driver/cl-options.c
+32-36 files

FreeBSD/ports cfb2555 — misc/edfbrowser Makefile distinfo

misc/edfbrowser: Update to 2.16

Changelog: https://www.teuniz.net/edfbrowser/version.txt

Approved by:    osa, fluffy (mentors, implicit)
MFH:            2026Q4

(cherry picked from commit 25c397bd9b5a44fa7d7deac26b52ac4e8d1ff284)
DeltaFile
+3-3misc/edfbrowser/distinfo
+1-1misc/edfbrowser/Makefile
+4-42 files

FreeBSD/ports 8944b9b — devel/py-ty Makefile Makefile.crates, devel/py-ty/files patch-cargo-crates_mio-1.0.4_src_sys_unix_selector_kqueue.rs

devel/py-ty: Update to 0.0.98

Changelog: https://github.com/astral-sh/ty/blob/0.0.98/CHANGELOG.md

Reported by:    portscout
DeltaFile
+13-13devel/py-ty/distinfo
+5-5devel/py-ty/Makefile.crates
+10-0devel/py-ty/files/patch-cargo-crates_mio-1.0.4_src_sys_unix_selector_kqueue.rs
+1-1devel/py-ty/Makefile
+29-194 files

FreeBSD/ports 25c397b — misc/edfbrowser Makefile distinfo

misc/edfbrowser: Update to 2.16

Changelog: https://www.teuniz.net/edfbrowser/version.txt

Approved by:    osa, fluffy (mentors, implicit)
MFH:            2026Q4
DeltaFile
+3-3misc/edfbrowser/distinfo
+1-1misc/edfbrowser/Makefile
+4-42 files

LLVM/project 761afa9 — llvm/test/CodeGen/X86 callbr-asm-flag-outputs.ll

Apply suggestion from @arsenm

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+2-2llvm/test/CodeGen/X86/callbr-asm-flag-outputs.ll
+2-21 files

LLVM/project 6c5f3f5 — llvm/test/CodeGen/SystemZ callbr-asm-flag-outputs.ll

Remove -verify-machineinstrs flag
DeltaFile
+1-1llvm/test/CodeGen/SystemZ/callbr-asm-flag-outputs.ll
+1-11 files

LLVM/project 01550bf — llvm/test/Transforms/PhaseOrdering/X86 blendv-select.ll shuffle.ll

fix x86 checks
DeltaFile
+13-83llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
+21-18llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
+21-18llvm/test/Transforms/PhaseOrdering/X86/shuffle-inseltpoison.ll
+12-17llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
+67-1364 files

LLVM/project c34e6c3 — llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/test/CodeGen/SystemZ callbr-asm-outputs.ll

Merge branch 'users/void/asm-goto-_Complext-types' into users/void/cir-complex-asm-operands
DeltaFile
+33-0llvm/test/CodeGen/SystemZ/callbr-asm-outputs.ll
+6-4llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+39-42 files

LLVM/project 8389433 — llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/test/CodeGen/SystemZ callbr-asm-outputs.ll

Merge branch 'users/void/ppc-asm-wide-gpr' into users/void/asm-goto-_Complext-types
DeltaFile
+33-0llvm/test/CodeGen/SystemZ/callbr-asm-outputs.ll
+6-4llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+39-42 files