LLVM/project 71b797a — llvm/lib/Target/RISCV RISCVFrameLowering.cpp, llvm/test/CodeGen/RISCV shadow-stack-frame-opts-v.ll saverestore-v.ll

[RISCV] Account for Libcall spill size in RVV Offsets (#234395)

We were not calculating and storing the libcall spill size early enough
to take account of it when calculating frame offsets for RVV objects.
The libcall spill size is accounted for separately to the push/pop size
and any interrupt spill size.

Now we calculate the libcall spill size earlier and save it in the
RISCVMachineFunctionInfo, so all later calls to `getReservedSpillsSize`
will include it, as intended, including those done in
`getFrameIndexReference` (which were missing it before).

Assisted-by: AI
DeltaFile
+63-0llvm/test/CodeGen/RISCV/saverestore-v.ll
+24-28llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
+8-8llvm/test/CodeGen/RISCV/shadow-stack-frame-opts-v.ll
+95-363 files

LLVM/project 975c21c — lldb/test/API/tools/lldb-dap/attach-commands TestDAP_attachCommands.py, lldb/tools/lldb-dap/Handler AttachRequestHandler.cpp

[lldb-dap] Accept a failed CreateTarget when attaching by process name (#233684)

Attach by name passes a process name as program, so CreateTarget fails
and its error stayed in the shared SBError. attachCommands then failed
after succeeding. Give CreateTarget its own error and keep the dummy
target.

rdar://190247729
DeltaFile
+25-0lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
+3-1lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
+28-12 files

LLVM/project 6b2ad10 — llvm/utils/TableGen/Common CodeGenRegisters.h CodeGenRegisters.cpp

TableGen: Look up sub-registers by index in a sorted array (#232814)

inferMatchingSuperRegClass looks up a sub-register by index for every
member of every register class, and each lookup walked the register's
std::map of sub-registers. After computeSuperRegs, replace the map with
an array sorted by index, and binary search it instead. The map is only
needed while the sub-registers are being computed. The instruction count
is about the same, but there are far fewer cache misses, and the array
takes less memory than the map.

AMDGPU tablegen runs that build the register bank:

            Gigacycles     CPU seconds    Peak RSS (RegisterBank)
  Before    650            202            837 MB
  After     540 (-16.9%)   169 (-16.2%)   792 MB (-5.4%)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+29-12llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+16-4llvm/utils/TableGen/Common/CodeGenRegisters.h
+45-162 files

LLVM/project e32e549 — llvm/tools/llvm-ir2vec/Bindings requirements.txt

[llvm-ir2vec] Add numpy to Python bindings requirements.txt (#234681)

The IR2Vec Python bindings return nanobind::ndarray<nanobind::numpy,
double> objects, which require numpy at runtime as declared in
pyproject.toml. Add numpy>=1.23 to
llvm/tools/llvm-ir2vec/Bindings/requirements.txt so buildbot
environments initialized from requirements.txt alone install numpy.

Couples with https://github.com/llvm/llvm-zorg/pull/1011
DeltaFile
+1-0llvm/tools/llvm-ir2vec/Bindings/requirements.txt
+1-01 files

LLVM/project a69a09b — libc/docs/gpu rpc.rst, libc/docs/headers/math index.md log.rst

Merge branch 'main' into users/arsenm/amdgpu-attributor/ir-add-attrs-array
DeltaFile
+0-637libc/docs/headers/math/index.rst
+598-0libc/docs/headers/math/log.md
+0-557libc/docs/headers/math/log.rst
+489-0libc/docs/headers/math/index.md
+167-173llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+0-296libc/docs/gpu/rpc.rst
+1,254-1,66384 files not shown
+3,630-3,38890 files

LLVM/project 0d4bfb2 — llvm/test/CodeGen/AMDGPU lower-control-flow-live-variables-update.mir

AMDGPU: Fix stale kill flags in lower-control-flow-live-variables-update (#234711)
DeltaFile
+8-8llvm/test/CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir
+8-81 files

LLVM/project 612fdc5 — llvm/lib/CodeGen MLRegAllocEvictAdvisor.cpp, llvm/test/CodeGen/MLRegAlloc unspillable-use-def-density.ll

[MLGO] Do not evict live ranges with the same cascade number (#230468)

The default advisor already refuses this

Allowing it caused a regalloc assert on AMDGPU
DeltaFile
+5-8llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
+9-0llvm/test/CodeGen/MLRegAlloc/unspillable-use-def-density.ll
+14-82 files

LLVM/project 8b1803f — lldb/docs index.md

[LLDB] Documentation - add link to DIL to lldb.llvm.org website (#234692)

This should add a link to the dil user and developer documentation, in
lldb/docs/resources/dil.md, to the main lldb.llvm.org web page.
DeltaFile
+1-0lldb/docs/index.md
+1-01 files

HardenedBSD/ports 7301588 — multimedia/mlt7/files patch-ffmpeg9, security/vuxml/vuln 2026.xml

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+803-0security/vuxml/vuln/2026.xml
+5-415www/chromium/distinfo
+206-156x11-themes/win98se-icon-theme/pkg-plist
+211-0www/chromium/files/patch-chrome_browser_devtools_protocol_storage__handler.cc
+168-0www/chromium/files/patch-third__party_blink_renderer_platform_fonts_web__font__decoder.cc
+0-153multimedia/mlt7/files/patch-ffmpeg9
+1,393-724712 files not shown
+5,913-3,826718 files

LLVM/project 520cfd6 — llvm/lib/Target/AArch64 AArch64SVEInstrInfo.td AArch64ISelLowering.cpp

fixup! [AArch64][llvm] Combine SVE AND-NOT operations into BIC for _m forms

Select merging AND-NOT operations with TableGen patterns instead of the C++ combine. Preserve the first operand in inactive lanes and use an unpredicated BIC when both predicates are all-active.
DeltaFile
+0-33llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+20-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+20-332 files

LLVM/project a5ebd21 — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve-intrinsics-and-not.ll

[AArch64][llvm] Combine SVE AND-NOT operations into BIC for _m forms

Replace NOT followed by merging AND with BIC for expressions such as:

  return svand_u32_m(pg, a, svnot_u32_x(pg, b));

Combine when NOT is the second operand and its predicate matches the AND
predicate or is all-active.

Use predicated BIC to preserve the AND's first operand in inactive
lanes. Use unpredicated BIC when the AND predicate is all-active.

Do not commute merging AND operands, since this would change inactive
results. Leave pairs with incompatible predicates unchanged.

This applies to all integer element widths. Update the pre-commit LLVM
expectations, including cases where combining would change the
result.
DeltaFile
+12-48llvm/test/CodeGen/AArch64/sve-intrinsics-and-not.ll
+33-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+45-482 files

LLVM/project 8e17229 — llvm/lib/Target/AArch64 AArch64SVEInstrInfo.td AArch64ISelLowering.cpp

fixup! [AArch64][llvm] Combine SVE AND-NOT operations into BIC for _x forms

Lower AND_U to an AArch64 target DAG node and match that node in TableGen. Keep the predicate for matching AND-NOT pairs, and combine other cases to ordinary AND so generic simplifications remain available. Name the data operands and iterate over them directly.
DeltaFile
+10-7llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+4-3llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+14-102 files

LLVM/project 1c0efba — llvm/lib/Target/AMDGPU SIMaterializeWMMAScale.cpp, llvm/test/CodeGen/AMDGPU wmma-scale-sgpr-materialize.mir

[AMDGPU] Count WMMA scale copies against both operands

Copying a shared scale while its partner stays an SGPR adds a va_ssrc
issue without removing one. Choose copies from both scale operands.
DeltaFile
+197-41llvm/lib/Target/AMDGPU/SIMaterializeWMMAScale.cpp
+64-4llvm/test/CodeGen/AMDGPU/wmma-scale-sgpr-materialize.mir
+261-452 files

LLVM/project 1045c0e — llvm/lib/Target/AMDGPU SIMaterializeWMMAScale.cpp, llvm/test/CodeGen/AMDGPU wmma-scale-sgpr-materialize.mir

[AMDGPU] Materialize subregister WMMA scales at lane width

Copy an SGPR subregister scale into a VGPR of that lane's size so two
lanes of one tuple stay independent.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+62-1llvm/test/CodeGen/AMDGPU/wmma-scale-sgpr-materialize.mir
+22-13llvm/lib/Target/AMDGPU/SIMaterializeWMMAScale.cpp
+84-142 files

LLVM/project dda7f5a — llvm/test/CodeGen/AMDGPU fptosi-sat-vector.ll amdgcn.bitcast.320bit.ll

[AMDGPU] Materialize WMMA SGPR scales to VGPRs before scheduling

v_wmma_scale scale operands accept an SGPR or a VGPR. On GFX12,
depctr_va_ssrc is a 1-deep counter, so each VALU instruction that reads
an SGPR scale takes the only scalar-source slot. A run of WMMA ops that
all read SGPR scales therefore serializes. One cross-bank copy pays for
that slot once; later WMMA ops then read a VGPR and no longer contend
for va_ssrc.

SIMaterializeWMMAScale runs at the end of the machine SSA optimizations,
after SIShrinkInstructions and before scheduling. It is skipped at -O0
and on targets older than GFX12. GFX1250 is included: the separate VALU
read-after-write hazard no longer applies there, but the dependency
counter still does.

The pass walks every WMMA that has scale_src0 and records virtual SGPR
uses of scale_src0 and scale_src1, grouped by register. Physical
registers and subregister uses are left alone. For each SGPR it inserts
a COPY into a low aligned VGPR (the lo256 class matching the scale's

    [26 lines not shown]
DeltaFile
+4,158-3,987llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,125-963llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+847-631llvm/test/CodeGen/AMDGPU/calling-conventions.ll
+591-492llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+388-360llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+231-187llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
+7,340-6,62032 files not shown
+9,069-7,34738 files

LLVM/project d6b3f32 — llvm/test/Transforms/IndVarSimplify implied-nonneg-from-unsigned-bound.ll

[SCEV][IndVars][NFC] Add tests for x >=s 0 from x <u y and y <=u 2^(n-1)

Let n be the bit width of x and y. If x <u y and y <=u 2^(n-1), then
x >=s 0. SCEV can't prove this yet.

Add tests for it.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+287-0llvm/test/Transforms/IndVarSimplify/implied-nonneg-from-unsigned-bound.ll
+287-01 files

LLVM/project 2df4a2d — llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Transforms/IndVarSimplify implied-cond-different-signedness.ll

[SCEV] Prove signed/unsigned implications in either operand order

SCEV could prove these implications only with the operands in the same
order:
- If a <u b and a, b have the same sign, then a <s b.
- If a <s b and a, b have the same sign, then a <u b.
- If a <u b and b >=s 0, then a <s b.
- If a <s b and b <s 0, then a <u b.

For example, it proved a <s b from a <u b and b >=s 0, but not b >s a.
Now it proves them in either order.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-14llvm/test/Transforms/IndVarSimplify/implied-cond-different-signedness.ll
+7-1llvm/lib/Analysis/ScalarEvolution.cpp
+10-152 files

LLVM/project 90683e2 — llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Transforms/IndVarSimplify implied-nonneg-from-unsigned-bound.ll implied-nonneg-from-unsigned-bound-swapped.ll

[SCEV] Derive x >=s 0 from x <u y and y <=u 2^(n-1)

Let n be the bit width of x and y. If x <u y and y <=u 2^(n-1), then
x <u 2^(n-1), so x >=s 0. Here y <=u 2^(n-1) means y >=s 0 or
y == INT_MIN. In the same way, if x <=u y and y <u 2^(n-1), then
x >=s 0.

This lets a guard like x <u len prove x >=s 0 when len is non-negative.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-32llvm/test/Transforms/IndVarSimplify/implied-nonneg-from-unsigned-bound-swapped.ll
+5-17llvm/test/Transforms/IndVarSimplify/implied-nonneg-from-unsigned-bound.ll
+21-0llvm/lib/Analysis/ScalarEvolution.cpp
+47-493 files

LLVM/project bac294f — llvm/test/Transforms/IndVarSimplify implied-nonneg-from-unsigned-bound-swapped.ll

[SCEV][IndVars][NFC] Add tests for x >=s 0 from x <u y with swapped operands

Let n be the bit width of x and y. If x <u y and y <=u 2^(n-1), then
x >=s 0. SCEV can't prove this yet when the operands of the compare to
prove are in the opposite order to the guard, e.g. 0 <=s x with
x <u y known.

Add tests for it.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1,196-0llvm/test/Transforms/IndVarSimplify/implied-nonneg-from-unsigned-bound-swapped.ll
+1,196-01 files

LLVM/project f9446e7 — llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Transforms/IndVarSimplify implied-cond-fall-through.ll

[SCEV] Try other implications when sign-flipped ones fail

SCEV's isImpliedCondBalancedTypes tries to prove an implication
through several rules. There are rules for when a predicate to prove
is sign-flipped from the found predicate, and also there are other
rules, which, for example, try to prove the implication through
ranges.

Before, if a proof for a sign-flipped rule implication returned false,
we wouldn't check other rules and just bail out with false result too.

Now make those rules fall-through - if one rule couldn't be proven,
try other rules in the function.

An example query is x - 5 <s 5 with x <u 10 known.
The implication "a <u b and b >=s 0 --> a <s b" matches it,
but x - 5 <u 5 with x <u 10 known does not hold (e.g. x = 0),
so SCEV gave up.


    [5 lines not shown]
DeltaFile
+13-10llvm/lib/Analysis/ScalarEvolution.cpp
+1-5llvm/test/Transforms/IndVarSimplify/implied-cond-fall-through.ll
+14-152 files

LLVM/project 009cb26 — llvm/test/Transforms/IndVarSimplify implied-cond-different-signedness.ll

[SCEV][IndVars][NFC] Add tests for implied conditions with different signedness

SCEV can prove some signed conditions from unsigned ones and the other
way around. For example, it proves a <s b from a <u b and b >=s 0. But
it fails when the operands are in the opposite order, like b >s a.

Add tests for this.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+160-0llvm/test/Transforms/IndVarSimplify/implied-cond-different-signedness.ll
+160-01 files

LLVM/project b798235 — llvm/include/llvm/Analysis ScalarEvolution.h, llvm/lib/Analysis ScalarEvolution.cpp

[SCEV][NFC] Factor isImpliedCondViaSignFlippedPred out of isImpliedCondBalancedTypes

Move the code that proves a condition from a found condition with the
other signedness into a new private function.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+39-39llvm/lib/Analysis/ScalarEvolution.cpp
+8-0llvm/include/llvm/Analysis/ScalarEvolution.h
+47-392 files

LLVM/project 16c2fb0 — llvm/test/Transforms/IndVarSimplify implied-cond-fall-through.ll

[SCEV][IndVars][NFC] Add a test for signed conditions implied by unsigned bounds

SCEV can't prove some signed conditions that hold because of an
unsigned bound on the same value. For example, if x <u 10, then
0 <= x < 10, so x - 5 <s 5.

Add a test for it.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+49-0llvm/test/Transforms/IndVarSimplify/implied-cond-fall-through.ll
+49-01 files

HardenedBSD/ports 4df6b05 — security/vuxml/vuln 2026.xml

security/vuxml: Document net/keycloak vulnerabilities

PR:             299738
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+66-0security/vuxml/vuln/2026.xml
+66-01 files

FreeBSD/ports 4df6b05 — security/vuxml/vuln 2026.xml

security/vuxml: Document net/keycloak vulnerabilities

PR:             299738
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+66-0security/vuxml/vuln/2026.xml
+66-01 files

LLVM/project d3986bf — flang/docs C++style.md

[flang][docs] Relax {}-initialization rule for objects declared with … (#234673)

…auto

See RFC at

https://discourse.llvm.org/t/rfc-relaxing-coding-standard-rule-for-initialization/92443

This relaxed the rule for objects declared with auto as per the
agreement made in the Flang community call on Wed, Oct 21, 2026.
DeltaFile
+3-0flang/docs/C++style.md
+3-01 files

FreeBSD/ports b4a8109 — net/keycloak Makefile distinfo

net/keycloak: Security update 26.8.0 => 26.8.1

Release Notes:
https://www.keycloak.org/2026/10/keycloak-2681-released

Upgrading Notes:
https://www.keycloak.org/docs/latest/upgrading/index.html#migrating-to-26-8-1

PR:             299738
Approved by:    osa, vvd (Mentors, implicit)
Security:       CVE-2026-15943
Security:       CVE-2026-18569
Security:       CVE-2026-82968
Security:       CVE-2026-94001
Security:       CVE-2026-94000
Security:       CVE-2026-94218
Security:       CVE-2026-94215
Security:       CVE-2026-94213
Security:       CVE-2026-94217

    [12 lines not shown]
DeltaFile
+3-3net/keycloak/distinfo
+1-1net/keycloak/Makefile
+4-42 files

HardenedBSD/ports 59586fe — net/keycloak Makefile distinfo

net/keycloak: Security update 26.8.0 => 26.8.1

Release Notes:
https://www.keycloak.org/2026/10/keycloak-2681-released

Upgrading Notes:
https://www.keycloak.org/docs/latest/upgrading/index.html#migrating-to-26-8-1

PR:             299738
Approved by:    osa, vvd (Mentors, implicit)
Security:       CVE-2026-15943
Security:       CVE-2026-18569
Security:       CVE-2026-82968
Security:       CVE-2026-94001
Security:       CVE-2026-94000
Security:       CVE-2026-94218
Security:       CVE-2026-94215
Security:       CVE-2026-94213
Security:       CVE-2026-94217

    [10 lines not shown]
DeltaFile
+3-3net/keycloak/distinfo
+1-1net/keycloak/Makefile
+4-42 files

FreeBSD/ports 59586fe — net/keycloak Makefile distinfo

net/keycloak: Security update 26.8.0 => 26.8.1

Release Notes:
https://www.keycloak.org/2026/10/keycloak-2681-released

Upgrading Notes:
https://www.keycloak.org/docs/latest/upgrading/index.html#migrating-to-26-8-1

PR:             299738
Approved by:    osa, vvd (Mentors, implicit)
Security:       CVE-2026-15943
Security:       CVE-2026-18569
Security:       CVE-2026-82968
Security:       CVE-2026-94001
Security:       CVE-2026-94000
Security:       CVE-2026-94218
Security:       CVE-2026-94215
Security:       CVE-2026-94213
Security:       CVE-2026-94217

    [10 lines not shown]
DeltaFile
+3-3net/keycloak/distinfo
+1-1net/keycloak/Makefile
+4-42 files

LLVM/project aa0e6bc — llvm/test/CodeGen/AMDGPU lower-control-flow-live-variables-update.mir

[AMDGPU] Update lower-control-flow-live-variables-update.mir checks

Fix the test failure after #234197 stopped adding kill flags on virtual
registers. The test checks were updated by #234174 assuming kill flags
were still added; the two changes landed independently.

LLM-aided
DeltaFile
+8-8llvm/test/CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir
+8-81 files