LLVM/project 91c667d — llvm/include/llvm/Transforms/IPO Attributor.h, llvm/lib/Transforms/IPO FunctionAttrs.cpp

Fix crash on noundef returns with vector align

FunctionAttrs had the same crash
DeltaFile
+16-0llvm/test/Transforms/Attributor/noundef-return-poison-attrs.ll
+2-1llvm/lib/Transforms/IPO/FunctionAttrs.cpp
+1-1llvm/include/llvm/Transforms/IPO/Attributor.h
+19-23 files

FreeBSD/ports 1316730 — devel/rubygem-bootsnap-gitlab Makefile distinfo

devel/rubygem-bootsnap-gitlab: update to 1.26.1

Changes:        https://github.com/rails/bootsnap/blob/main/CHANGELOG.md
DeltaFile
+3-3devel/rubygem-bootsnap-gitlab/distinfo
+1-1devel/rubygem-bootsnap-gitlab/Makefile
+4-42 files

FreeBSD/ports 4bb595c — net/rubygem-fog-aws-gitlab Makefile distinfo

net/rubygem-fog-aws-gitlab: update to 3.33.5

Changes:        https://github.com/fog/fog-aws/blob/master/CHANGELOG.md
DeltaFile
+3-3net/rubygem-fog-aws-gitlab/distinfo
+1-1net/rubygem-fog-aws-gitlab/Makefile
+4-42 files

FreeBSD/ports 6795822 — devel/rubygem-nap Makefile distinfo

devel/rubygem-nap: update to 1.1.1

Changes:        https://github.com/Fingertips/nap#changes-from-110-to-111
DeltaFile
+3-3devel/rubygem-nap/distinfo
+1-1devel/rubygem-nap/Makefile
+4-42 files

FreeBSD/ports 0773743 — net/p5-Net-Packet-Target Makefile

net/p5-Net-Packet-Target: restore PORTREVISION
DeltaFile
+1-0net/p5-Net-Packet-Target/Makefile
+1-01 files

HardenedBSD/src 5270858 — sys/dev/qlnx/qlnxe qlnx_def.h qlnx_os.c, tools/tools/git Makefile git-arc.1

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+143-23sys/dev/qlnx/qlnxe/qlnx_os.c
+20-11tools/tools/git/git-arc.sh
+8-7tools/tools/git/git-arc.1
+12-1tools/tools/git/Makefile
+2-0usr.sbin/rpc.tlsservd/rpc.tlsservd.c
+2-0sys/dev/qlnx/qlnxe/qlnx_def.h
+187-426 files

HardenedBSD/src 7ea3aa1 — sys/dev/qlnx/qlnxe qlnx_def.h qlnx_os.c, tools/tools/git Makefile git-arc.1

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+143-23sys/dev/qlnx/qlnxe/qlnx_os.c
+20-11tools/tools/git/git-arc.sh
+8-7tools/tools/git/git-arc.1
+12-1tools/tools/git/Makefile
+2-0usr.sbin/rpc.tlsservd/rpc.tlsservd.c
+2-0sys/dev/qlnx/qlnxe/qlnx_def.h
+187-426 files

FreeBSD/ports 0773742 — devel/p5-CPAN-Uploader Makefile, devel/p5-Term-EditLine Makefile

*: use the CPAN MASTER_SITE* macro
DeltaFile
+2-2security/p5-Auth-GoogleAuth/Makefile
+2-1security/p5-Crypt-OpenSSL-PKCS10/Makefile
+2-1net/p5-Net-ACME2/Makefile
+2-1graphics/asciio/Makefile
+2-1devel/p5-Term-EditLine/Makefile
+2-1devel/p5-CPAN-Uploader/Makefile
+12-76 files

HardenedBSD/src 151cbb2 — contrib/tzdata southamerica theory.html

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+94-19contrib/tzdata/NEWS
+50-23contrib/tzdata/northamerica
+0-40contrib/tzdata/backzone
+13-26contrib/tzdata/leapseconds.awk
+18-20contrib/tzdata/theory.html
+25-10contrib/tzdata/southamerica
+200-1387 files not shown
+255-17213 files

HardenedBSD/ports 72e89ed — databases/py-pylance distinfo, databases/py-pylance/files patch-rust_lance-linalg_src_simd_f64.rs patch-rust_lance-linalg_src_simd_f32.rs

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+1,251-0net-im/faro/distinfo
+624-0net-im/faro/Makefile.crates
+0-406databases/py-pylance/files/patch-rust_lance-linalg_src_simd_f32.rs
+0-371databases/py-pylance/files/patch-rust_lance-linalg_src_simd_f64.rs
+334-0editors/cudatext/pkg-plist
+113-81databases/py-pylance/distinfo
+2,322-85875 files not shown
+3,413-1,41081 files

LLVM/project d10fbea — llvm/lib/Transforms/IPO MemProfContextDisambiguation.cpp, llvm/test/ThinLTO/X86 memprof-report-hinted-sizes-detail.ll

[MemProf] Enhance -memprof-report-hinted-sizes with post-cloning path… (#234265)

Previously, `-memprof-report-hinted-sizes` (`printTotalSizes()`, which
runs after `assignFunctions()`) only reported the `AllocTypes` of the
leaf allocation node in the abstract CallsiteContextGraph (CCG) for each
context. It did not show the actual cloned call paths or the final
coldness state of the allocation clones that the context reaches after
function cloning.

When function clone assignment goes wrong (e.g. callers above a trimmed
MIB context cloned for another allocation, as fixed by #230351, or
cloned callsites/allocations left pointing at default `NotCold`/`None`
clones), an abstract leaf node can appear `Cold` in the old report while
the actual post-cloning call path loses the cold hint. The detail report
makes such cases visible by showing the real path from each caller
clone.

This patch adds `-memprof-report-hinted-sizes-detail` (off by default;
used together with `-memprof-report-hinted-sizes`). When enabled, it

    [25 lines not shown]
DeltaFile
+495-5llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
+234-0llvm/test/ThinLTO/X86/memprof-report-hinted-sizes-detail.ll
+68-0llvm/test/Transforms/MemProfContextDisambiguation/report-hinted-sizes-detail-unmatched.ll
+797-53 files

LLVM/project 6a9da63 — llvm/lib/Target/Sparc SparcFrameLowering.cpp, llvm/test/CodeGen/SPARC LeonInsertNOPLoadPassUT.ll fp128-select.ll

[SPARC] Emit correct CFI for leaf procedures with a stack frame (#236588)

A leaf procedure that needs a stack frame allocates it by adjusting %sp
with add instead of executing save. The prologue still emitted the
non-leaf CFI (.cfi_def_cfa_register %fp, .cfi_window_save and
.cfi_register %o7, %i7), describing a register window that was never
created. An unwinder would then take the CFA from %fp and the return
address from %i7, both of which still belong to the caller.

For leaf procedures, only update the CFA offset to account for the
stack adjustment, including the stack bias on SPARC64. The CFA stays
%sp-based and the return address stays in %o7.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+95-0llvm/test/CodeGen/SPARC/leafproc-cfi.ll
+7-3llvm/lib/Target/Sparc/SparcFrameLowering.cpp
+2-6llvm/test/CodeGen/SPARC/fp128-select.ll
+1-3llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll
+105-124 files

LLVM/project 6b37416 — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor align.ll noundef-return-poison-attrs.ll

Attributor: Deduce noundef returns if poison-generating attributes hold

Instead of giving up on noundef for returns with poison-generating
attributes, check that the attributes are assumed to hold for all
returned values. This uses the Attributor's own deductions for the
returned values (AANonNull, AAAlign, AAValueConstantRange and
AANoFPClass), so e.g. a range only known from a callee is enough.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+207-15llvm/test/Transforms/Attributor/noundef-return-poison-attrs.ll
+61-9llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+1-1llvm/test/Transforms/Attributor/align.ll
+269-253 files

LLVM/project c9d8023 — llvm/include/llvm/IR Attributes.h, llvm/lib/IR Attributes.cpp Instruction.cpp

Attributor: Don't infer noundef returns with poison-generating attributes (#231796)

Returning a value that violates an existing return attribute results
in poison. AANoUndef did not account for this and could mark such
returns noundef. Give up on returns with poison-generating attributes.

Unlike FunctionAttrs, this does not try to prove that the attributes
hold for the returned values. This loses 2 of 3 noundef returns that
would have been proven over CTMark with -attributor-enable=full, and
no call site attributes. In the future it should check if they can be
preserved for parity with functionattrs.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+48-0llvm/test/Transforms/Attributor/noundef-return-poison-attrs.ll
+15-0llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+4-10llvm/lib/IR/Instruction.cpp
+9-0llvm/lib/IR/Attributes.cpp
+4-0llvm/include/llvm/IR/Attributes.h
+1-1llvm/test/Transforms/Attributor/align.ll
+81-116 files

LLVM/project 2909199 — llvm/lib/Passes CodeGenPassBuilder.cpp, llvm/test/CodeGen/RISCV O3-newpm-pipeline.ll O0-newpm-pipeline.ll

[Passes] Wire up CFIFixup into NewPM (#237484)

Not sure how this got missed. This has been in TargetPassConfig for
quite a while, and this patch mirrors it in the base CGPB.
DeltaFile
+4-0llvm/lib/Passes/CodeGenPassBuilder.cpp
+1-0llvm/test/CodeGen/RISCV/O3-newpm-pipeline.ll
+1-0llvm/test/CodeGen/RISCV/O0-newpm-pipeline.ll
+6-03 files

LLVM/project 38f8b88 — llvm/lib/Target/AArch64 AArch64AsmPrinter.cpp, llvm/lib/Target/PowerPC PPCAsmPrinter.cpp

[AArch64][PowerPC][RISCV] Ignore debug instructions when trimming stackmap shadows (#219756)

Debug instructions do not emit code and therefore must not consume
stackmap
shadow bytes.

The AArch64, PowerPC, and RISC-V `LowerSTACKMAP` implementations scan
subsequent fixed-width instructions to determine how many NOP bytes are
still
required. Previously, `DBG_VALUE` stopped this scan, while other debug
instructions such as `DBG_LABEL` were incorrectly counted as encoded
instructions. This could either inhibit shadow optimization or underfill
the
requested shadow.

Skip all debug instructions without decrementing the remaining shadow
size.
Add `DBG_LABEL` and `DBG_VALUE` regression coverage for all three
targets.

    [4 lines not shown]
DeltaFile
+80-0llvm/test/CodeGen/RISCV/rv64-stackmap-nops.ll
+41-0llvm/test/CodeGen/PowerPC/ppc64-stackmap-nops.ll
+38-0llvm/test/CodeGen/AArch64/arm64-stackmap-nops.ll
+4-1llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
+4-1llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+4-1llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+171-36 files

LLVM/project c16e63d — llvm/include/llvm/IR RuntimeLibcallsImpl.td

RuntimeLibcalls: Describe vector FuncArgTypes by element type and count

Define the vector libcall argument types from an element type and
count. Derive the matching integer and mask vector types from them
instead of spelling each one out.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+18-12llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+18-121 files

LLVM/project 713f497 — llvm/test/Instrumentation/MemorySanitizer vector-extract-last-active.ll

[MSan][Test] Add baseline test for llvm.experimental.vector.extract.last.active (#237415)

This is a baseline test before patching
https://github.com/llvm/llvm-project/pull/233552.

This test shows vector.extract.last.active is being handled strictly.

Assisted-by: Gemini
DeltaFile
+281-0llvm/test/Instrumentation/MemorySanitizer/vector-extract-last-active.ll
+281-01 files

LLVM/project eda03ab — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-4-regallocfast-fold' into users/void/asm-rm-5-prefer-reg
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project d4cc7c6 — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-3-direct-mem-output-error' into users/void/asm-rm-4-regallocfast-fold
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 6494293 — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-2f-peephole-asm-load-fold' into users/void/asm-rm-3-direct-mem-output-error
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 52e3d4f — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-2e-fold-asm-memoperands' into users/void/asm-rm-2f-peephole-asm-load-fold
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 7c8110e — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-2d-prefer-spilling-foldable' into users/void/asm-rm-2e-fold-asm-memoperands
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 32b963a — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-2c-fold-subreg-offset' into users/void/asm-rm-2d-prefer-spilling-foldable
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 51e4dff — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-2-fold-tied-operands' into users/void/asm-rm-2b-fold-all-reg-operands
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 220b4f2 — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/asm-rm-2b-fold-all-reg-operands' into users/void/asm-rm-2c-fold-subreg-offset
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 650925d — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Merge branch 'users/void/mir-inline-asm-func-kind' into users/void/asm-rm-2-fold-tied-operands
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 4ea0568 — llvm/test/DebugInfo/Generic debug-label-inline.ll PR20038.ll, llvm/test/Linker subprogram-linkonce-weak.ll

[SPARC] Remove XFAILs fixed by not filling the delay slots at -O0 (#237186)

The tests now pass with the change introduced in 6a9fc6603b3f.
DeltaFile
+0-3llvm/test/Linker/subprogram-linkonce-weak.ll
+0-3llvm/test/DebugInfo/Generic/debug-label-inline.ll
+0-3llvm/test/DebugInfo/Generic/PR20038.ll
+0-93 files

LLVM/project 0896198 — llvm/test/CodeGen/MIR/X86 inline-asm-func-kind.ll

Remove unneeded -global-isel=0
DeltaFile
+3-3llvm/test/CodeGen/MIR/X86/inline-asm-func-kind.ll
+3-31 files

LLVM/project 0bd1402 — llvm/lib/Target/NVPTX NVPTXISelLowering.cpp NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX cttz.ll ctlz.ll

[NVPTX] Use target nodes for clz.b64 and popc.b64 (#236435)

Since #130668, 64-bit ctlz and ctpop are lowered to an i32 ctlz/ctpop of
the i64 operand. DAG combines assume the result is as wide as the
operand, so e.g. `__builtin_clzll(x | 1) >> 5` gets folded to 0, and
some compares of a 64-bit cttz hit an assertion. Use NVPTX-specific
nodes for clz.b64 and popc.b64 instead.

Fixes #235271.

Assisted-by: Claude Code (Claude Opus 5.5)
DeltaFile
+46-0llvm/test/CodeGen/NVPTX/ctlz.ll
+12-4llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+12-0llvm/test/CodeGen/NVPTX/cttz.ll
+5-2llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+75-64 files