LLVM/project 5751ad1 — libc/src/__support/FPUtil BasicOperations.h, libc/src/__support/math iscanonicalf128.h iscanonicalf.h

[libc][math] Return success when canonicalize quiets a signaling NaN (#236476)

Return zero when canonicalize successfully stores a quiet NaN for a
signaling
input, while retaining FE_INVALID. Update canonicalize and dependent
iscanonical tests: signaling NaNs have canonical encodings. Unsupported
binary80 representation handling is unchanged.

Tests: 21 canonicalize/iscanonical smoke configurations per compiler
with
GCC 13 and Clang 18 on x86-64 Linux.

Assisted-by: GitHub Copilot

---------

Signed-off-by: sriramshastry <sriramshastry at gmail.com>
DeltaFile
+37-3libc/test/src/math/smoke/IsCanonicalTest.h
+13-3libc/src/__support/FPUtil/BasicOperations.h
+1-2libc/src/__support/math/iscanonicalf128.h
+1-2libc/src/__support/math/iscanonicalf.h
+1-2libc/src/__support/math/iscanonicalbf16.h
+1-2libc/src/__support/math/iscanonical.h
+54-144 files not shown
+59-2110 files

LLVM/project e0ea53f — llvm/test/tools/llvm-cas subcommand.test plugin-validation-crash.test, llvm/tools/llvm-cas Options.td llvm-cas.cpp

[llvm-cas] Use subcommands for llvm-cas actions (#233966)

Turn the llvm-cas actions, e.g. `--make-blob`, into subcommands, e.g.
`make-blob`, and register each option with the subcommands that use it
so that `llvm-cas <subcommand> --help` only shows the relevant options.

The first positional argument that is a subcommand name is the
subcommand, and later ones are inputs. For backwards compatibility, the
legacy `--<subcommand>` and `-<subcommand>` spellings are rewritten into
the subcommand before parsing.

Update the existing tests to use the new syntax. The legacy spellings
are still tested in subcommand.test.
DeltaFile
+58-42llvm/tools/llvm-cas/llvm-cas.cpp
+37-43llvm/tools/llvm-cas/Options.td
+36-34llvm/test/tools/llvm-cas/plugin-validation.test
+26-26llvm/test/tools/llvm-cas/validation.test
+23-22llvm/test/tools/llvm-cas/plugin-validation-crash.test
+42-0llvm/test/tools/llvm-cas/subcommand.test
+222-16712 files not shown
+278-22318 files

LLVM/project b1db20d — libc/src/stdio CMakeLists.txt fopencookie.cpp, libc/test/src/stdio CMakeLists.txt fopencookie_test.cpp

[libc] Treat -1 from fopencookie callbacks as an error (#236970)

A read or write callback returning -1 was cast to size_t and taken as a
count. A read then set the buffer's limit to SIZE_MAX and the next read
copied from far past the buffer, which crashed procps' sysctl at the end
of every file. A failing seek returned -1 as the new offset. Now a
negative result is an error and the call fails with EIO

AI disclosure: this patch was written with Claude Code. I reviewed the
change and ran the fopencookie unit test in a full build; the new test
fails without the fix and passes with it

Assisted-by: Claude
DeltaFile
+45-1libc/test/src/stdio/fopencookie_test.cpp
+19-6libc/src/stdio/fopencookie.cpp
+2-0libc/test/src/stdio/CMakeLists.txt
+1-0libc/src/stdio/CMakeLists.txt
+67-74 files

LLVM/project e2bfa64 — openmp/runtime/src dllexports kmp.h, openmp/runtime/test/flush omp_flush_acquire_release.c

[OpenMP] Add interface for flushing with memory order and scope (#133325)

Current specification allows user input to the flush construct via
clauses for memory order and scope.
DeltaFile
+58-0openmp/runtime/test/flush/omp_flush_acquire_release.c
+43-0openmp/runtime/src/kmp_csupport.cpp
+33-0openmp/runtime/src/kmp.h
+1-0openmp/runtime/src/dllexports
+135-04 files

FreeBSD/ports 33c6be5 — comms/soapysdr-rtlsdr Makefile distinfo

comms/soapysdr-rtlsdr: Update 0.33 => 0.3.4

* This fixes building with CMake 4

Approved by:    hamradio@ (alven@)
PR:             300419
DeltaFile
+3-3comms/soapysdr-rtlsdr/distinfo
+2-3comms/soapysdr-rtlsdr/Makefile
+5-62 files

LLVM/project 4cc8134 — lldb/test/API/commands/watchpoints/multiple_threads TestWatchpointMultipleThreads.py, lldb/test/API/commands/watchpoints/watchpoint_set_command TestWatchLocationWithWatchSet.py

[lldb] Disable failing/flaky tests on Windows (#239328)

After #227355

- TestWatchLocationWithWatchSet.py and TestWatchpointMultipleThreads.py
are flaky on the x86 buildbot (#239322)
- TestLongjmp.py fails on the Windows on ARM buildbot (#239325)

This disables the tests.
DeltaFile
+2-0lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
+1-0lldb/test/API/functionalities/longjmp/TestLongjmp.py
+1-0lldb/test/API/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
+4-03 files

LLVM/project 691e3bb — llvm/include/llvm/IR RuntimeLibcalls.td

RuntimeLibcalls: Add signatures for size returning new and GPU profiling

__size_returning_new and its variants return __sized_ptr_t, a pointer
and size pair. The GPU profiling functions use the compiler-rt
prototypes.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+8-6llvm/include/llvm/IR/RuntimeLibcalls.td
+8-61 files

LLVM/project a3e0eb5 — utils/bazel .bazelversion MODULE.bazel.lock

[bazel] Update to 9.3.2 (#239317)

Mostly staying up to date. Notably this removes eMudhra certs
DeltaFile
+35-35utils/bazel/MODULE.bazel.lock
+1-1utils/bazel/.bazelversion
+36-362 files

LLVM/project 97abc06 — llvm/utils/TableGen CallingConvEmitter.cpp

TableGen: Only build the register bank in CallingConvEmitter when needed (#239306)

CallingConvEmitter built the register bank to find registers named by
strings, which only CCAssignToRegTuple uses. No target does, but
building the register bank is most of the work for targets with many
registers. Build it when the first register name is looked up instead.

All 16 CallingConv tablegen runs in an LLVM build with all targets:

            Gigainstructions  Gigacycles      CPU seconds
  Before    73.5              43.4            15.1
  After     47.1 (-35.9%)     27.7 (-36.2%)   10.2 (-32.2%)

For AMDGPU alone, the run executes 63% fewer cycles.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+8-4llvm/utils/TableGen/CallingConvEmitter.cpp
+8-41 files

LLVM/project 1c4cccc — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/TableGen RuntimeLibcallEmitter-attributes.td

RuntimeLibcalls: Mark vector libcall out pointers dereferenceable (#238228)

The whole vector width will be written, so mark the vector width. To
maintain the element width alignment for some functions, we need to
start explicitly tracking if the element alignment is used or not.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+9-5llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+10-3llvm/test/TableGen/RuntimeLibcallEmitter-attributes.td
+11-2llvm/lib/IR/RuntimeLibcalls.cpp
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+48-282 files not shown
+53-348 files

LLVM/project ea62042 — llvm/lib/Transforms/IPO IPOOptions.h FunctionAttrs.cpp

[IPO] Declare more command line options in TableGen (#239305)

Port the options of FunctionAttrs, FunctionImport, LowerTypeTests and
WholeProgramDevirt.

Rename -disable-nounwind-inference and -disable-nofree-inference to
-nounwind-inference and -nofree-inference, and add temporary aliases for
old spellings.

LLM-aided
DeltaFile
+32-77llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
+25-56llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+63-0llvm/lib/Transforms/IPO/IPOOptions.td
+12-27llvm/lib/Transforms/IPO/FunctionImport.cpp
+13-23llvm/lib/Transforms/IPO/FunctionAttrs.cpp
+16-0llvm/lib/Transforms/IPO/IPOOptions.h
+161-1833 files not shown
+164-1859 files

LLVM/project 5d577a9 — llvm/lib/Target/ARM MVETPAndVPTOptimisationsPass.cpp

ARM: Remove dead kill flag maintenance in MVETPAndVPTOptimisations

This pass runs before register allocation, and the verifier now
rejects kill flags on virtual registers.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-45llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
+2-451 files

LLVM/project a43a397 — llvm/lib/CodeGen EarlyIfConversion.cpp

EarlyIfConversion: Remove dead kill flag maintenance

The verifier now rejects kill flags on virtual registers, so there are
never repeated kills of a virtual register in the two sides of a
diamond to clear.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-38llvm/lib/CodeGen/EarlyIfConversion.cpp
+0-381 files

LLVM/project b2f63a8 — llvm/lib/Target/AArch64 AArch64PostCoalescerPass.cpp

AArch64: Remove dead kill flag maintenance in AArch64PostCoalescer

The sources of the transposed tuple pseudos are virtual registers,
which can no longer carry kill flags.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-12llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
+0-121 files

LLVM/project faf76a1 — llvm/test/CodeGen/Hexagon swp-ws-loop-carried-dep.mir, llvm/test/CodeGen/LoongArch merge-base-offset-fold-large-offset-debug.mir

Remove kill flags on virtual registers from more tests

The two-address test relied on the kill flag to see that the second
source is killed, so compute live intervals first instead.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+19-19llvm/test/CodeGen/X86/apx/two-address-shld-shrd-commute.mir
+14-14llvm/test/CodeGen/Hexagon/swp-ws-loop-carried-dep.mir
+1-1llvm/test/CodeGen/SystemZ/multiselect-02.mir
+1-1llvm/test/CodeGen/RISCV/rvv/vector-peephole-debug.mir
+1-1llvm/test/CodeGen/LoongArch/merge-base-offset-fold-large-offset-debug.mir
+36-365 files

LLVM/project 345e1c4 — llvm/test/CodeGen/AArch64 madd-combine.mir, llvm/test/MachineVerifier/AMDGPU register-killed-inside-loop.mir verify-kill-flag-virtual-register.mir

MachineVerifier: Disallow kill flags on virtual registers

Kill flags are deprecated, and nothing introduces them on virtual
registers anymore. Reject them in the verifier to prevent new uses
from creeping back in. Kill flags on physical registers are still
permitted. There are still some lingering post-RA kill flag reliance.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+19-19llvm/test/CodeGen/AArch64/madd-combine.mir
+11-12llvm/unittests/MIR/MachineMetadata.cpp
+21-0llvm/test/MachineVerifier/AMDGPU/verify-kill-flag-virtual-register.mir
+8-7llvm/test/MachineVerifier/AMDGPU/register-killed-inside-loop.mir
+3-3llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir.filter.expected
+3-3llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir
+65-441 files not shown
+68-447 files

LLVM/project 6c2b85a — flang/docs/MeetingNotes/2026 2026-11-04.md

[flang] Add Flang Community Call Notes from Nov. 4th meeting (#238999)
DeltaFile
+83-0flang/docs/MeetingNotes/2026/2026-11-04.md
+83-01 files

LLVM/project 6fff663 — clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGenHLSL matrix-splat.hlsl

[CIR] Implement support for matrix splat cast (#239299)

Implement support for the matrix splat cast
DeltaFile
+49-0clang/test/CIR/CodeGenHLSL/matrix-splat.hlsl
+2-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+51-32 files

LLVM/project 29ed4ed — llvm/lib/CodeGen/MIRParser MIParser.cpp, llvm/test/CodeGen/MIR/X86 large-cfi-address-space-error.mir

[MIR] Reject out-of-range CFI address space (#233410)

By forwarding to `parseCFIUnsigned` in `parseCFIAddressSpace`, we avoid a
silent truncation to 32 bit and instead reject this case with an error message.
DeltaFile
+10-0llvm/test/CodeGen/MIR/X86/large-cfi-address-space-error.mir
+1-5llvm/lib/CodeGen/MIRParser/MIParser.cpp
+11-52 files

LLVM/project e07d88c — llvm/lib/CodeGen/MIRParser MIParser.cpp, llvm/lib/MC MCDwarf.cpp

[MIR][MC] Use int64_t for CFI offset (#233437)

`int64_t` is consistently used by the MCCFIInstruction for the `Offset` fields.

This change set makes the MIR parser and the
`FrameEmitterImpl::emitCFIInstruction` function match.
DeltaFile
+8-8llvm/lib/CodeGen/MIRParser/MIParser.cpp
+2-2llvm/test/CodeGen/MIR/X86/large-cfi-offset-number-error.mir
+1-1llvm/lib/MC/MCDwarf.cpp
+11-113 files

FreeBSD/ports 4f61766 — net/rustdesk-server Makefile

net/rustdesk-server: Add missing dependency zstd

Add the missing libzstd to LIB_DEPENDS: upstream requires zstd,
which was only pulled in indirectly through lang/rust.

PR:             300523
Approved by:    no maintainer
Approved by:    osa, vvd (mentors, implicit)
MFH:            2026Q4

(cherry picked from commit 58051848f8480ce49cdf0899e81e41137642b731)
DeltaFile
+3-1net/rustdesk-server/Makefile
+3-11 files

FreeBSD/ports 057a48f — net/rustdesk-server Makefile

net/rustdesk-server: Forgot to bump PORTREVISION

Fixes:          5805184
DeltaFile
+1-1net/rustdesk-server/Makefile
+1-11 files

FreeBSD/ports 5805184 — net/rustdesk-server Makefile

net/rustdesk-server: Add missing dependency zstd

Add the missing libzstd to LIB_DEPENDS: upstream requires zstd,
which was only pulled in indirectly through lang/rust.

PR:             300523
Approved by:    no maintainer
Approved by:    osa, vvd (mentors, implicit)
MFH:            2026Q4
DeltaFile
+2-0net/rustdesk-server/Makefile
+2-01 files

LLVM/project 41bf429 — mlir/lib/Dialect/Math/Transforms ExpandOps.cpp, mlir/test/Dialect/Math expand-math.mlir

[mlir][math] Fix the sign of zero-base results in the fpowi expansion (#237452)

For a constant negative exponent, `--math-expand-ops` expands
`math.fpowi` as `1 / x^|n|`. However, it gives a wrong result for
`(+0.0)^-1`, `(+0.0)^-2` and `(-0.0)^-2`, which become -inf, but should
be +inf.

To avoid dividing by zero, the pass selects +inf if `x^|n|` compares
`oeq` to +0.0 and -inf if it compares `oeq` to -0.0 (added in #87081).
However, because `oeq` treats +0.0 and -0.0 as equal, both comparisons
hold for either zero and -inf is always selected.

This patch removes the comparisons and selects and keeps only 1 / x^|n|.
Division by a signed zero gives the correctly signed infinity, and since
x^|n| is computed by repeated multiplication, a zero result has the
correct sign, e.g. (-0.0) * (-0.0) = +0.0.

It also updates the two `fpowi` CHECK sequences in `expand-math.mlir`
and adds runtime cases to `test-expand-math-approx.mlir` for +0.0, -0.0

    [3 lines not shown]
DeltaFile
+41-0mlir/test/mlir-runner/test-expand-math-approx.mlir
+3-25mlir/lib/Dialect/Math/Transforms/ExpandOps.cpp
+2-18mlir/test/Dialect/Math/expand-math.mlir
+46-433 files

LLVM/project 6ca75d2 — compiler-rt/lib/scudo/standalone combined.h

[scudo] Add comments to getHeaderTaggedPointer

getHeaderTaggedPointer needed some clarification about why it picks
certain tags for different allocations.
DeltaFile
+13-0compiler-rt/lib/scudo/standalone/combined.h
+13-01 files

LLVM/project 91ab873 — llvm/utils profcheck-xfail.txt

[ProfCheck] Mark new test as XFail (#239316)

443782fff0c659be544d190df20adfd2a6294ba3 introduced this test and we
still have not gotten to FixIrreducible yet.
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

FreeBSD/ports 2fee1aa — comms/soapysdrhackrf Makefile distinfo

comms/soapysdrhackrf: Update 0.3.4 => 0.3.6

* This fixes build with CMake 4

Approved by:    hamradio@ (alven@)
PR:             300417
DeltaFile
+3-3comms/soapysdrhackrf/distinfo
+1-2comms/soapysdrhackrf/Makefile
+4-52 files

LLVM/project d762bbb — llvm/docs LangRef.md, llvm/lib/CodeGen SafeStack.cpp MachineFunction.cpp

[SafeStack] Stop emitting an invalid function annotation for the unsafe stack size (#229440)

The verifier requires that annotation "operands must be a string or a
tuple of strings", and code that reads annotations relies on this
contract. But SafeStack stored the unsafe stack size as an integer in
the function annotation `!{!"unsafe-stack-size", i32 N}`. The verifier
only checked annotations on instructions, so this went unnoticed.
`MachineFunction` read the value back with
`mdconst::extract<ConstantInt>`, which asserts on any other operand, so
a valid annotation of the same name with a string value asserted in
codegen.

Record the size in the `"unsafe-stack-size"` string function attribute
instead, as is done for `"warn-stack-size"`, and check its value in the
verifier. Also verify function annotations with
`visitAnnotationMetadata`.

Fixes #229406

Assisted-by: Claude Opus 5.5
DeltaFile
+2-15llvm/lib/CodeGen/MachineFunction.cpp
+6-3llvm/test/Transforms/SafeStack/X86/alloca-addrspace.ll
+6-3llvm/test/Transforms/SafeStack/X86/alloca-addrspace-wrong-addrspace.ll
+9-0llvm/docs/LangRef.md
+8-0llvm/test/Verifier/invalid-unsafe-stack-size.ll
+1-6llvm/lib/CodeGen/SafeStack.cpp
+32-273 files not shown
+43-299 files

FreeBSD/ports ab75293 — devel/opengrok Makefile Makefile.common, devel/py-opengrok-tools Makefile distinfo

devel/opengrok: update 1.14.19 -> 1.14.21
DeltaFile
+3-3devel/py-opengrok-tools/distinfo
+3-3devel/opengrok/distinfo
+1-1devel/opengrok/Makefile.common
+0-1devel/py-opengrok-tools/Makefile
+0-1devel/opengrok/Makefile
+7-95 files

NetBSD/pkgsrc-wip 36b10ca — rust-beta Makefile distinfo

rust-beta: update to 1.100.0beta.10
DeltaFile
+3-3rust-beta/distinfo
+1-1rust-beta/Makefile
+4-42 files