LLVM/project 245d216llvm/lib/Transforms/Scalar LICM.cpp

fix formatting
DeltaFile
+3-3llvm/lib/Transforms/Scalar/LICM.cpp
+3-31 files

LLVM/project 679f99aclang/test/CIR/CodeGen var-arg-aggregate.c

[CIR] Tie the va_arg pair-store checks to their allocas

Assisted-by: Cursor / claude-opus-5
DeltaFile
+6-2clang/test/CIR/CodeGen/var-arg-aggregate.c
+6-21 files

LLVM/project aea2e76clang/test/CIR/CodeGen union.c paren-list-agg-init.cpp

[CIR] Regenerate CHECK lines for two callconv opt-out tests (#225189)

Neither `union.c` nor `paren-list-agg-init.cpp` is blocked by the
calling convention lowering pass any more, and both compile clean with
it running. Remove the `-fno-clangir-call-conv-lowering` opt-out and
update their CHECK lines. The coerced parameters and returns they now
pin match classic.

The bodies still differ, since CIR round-trips the record through a
fresh coerce slot, so those fragments move to the `LLVMCIR` and `OGCG`
prefixes the file already declares. Four `define` lines in
`paren-list-agg-init.cpp` wildcarded their return type and now pin it.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+45-18clang/test/CIR/CodeGen/paren-list-agg-init.cpp
+35-16clang/test/CIR/CodeGen/union.c
+80-342 files

LLVM/project bd720dcllvm/include/llvm/Analysis AliasSetTracker.h, llvm/lib/Analysis AliasSetTracker.cpp

[LICM] Drop *only* per-iteration AA tags
DeltaFile
+48-27llvm/lib/Transforms/Scalar/LICM.cpp
+6-4llvm/test/Transforms/LICM/scalar-promote-aa-tags.ll
+4-3llvm/lib/Analysis/AliasSetTracker.cpp
+1-1llvm/include/llvm/Analysis/AliasSetTracker.h
+59-354 files

FreeBSD/ports fc0a3c2filesystems/ntfs2btrfs distinfo Makefile, filesystems/ntfs2btrfs/files patch-src_ntfs.cpp patch-src_rollback.cpp

filesystems/ntfs2btrfs: update the port to version 20260810

- Due to use of C++ modules now demands LLVM 17+ from ports
- Drop dependency on `devel/libfmt' in favor of std::format

Reported by:    portscout
DeltaFile
+15-0filesystems/ntfs2btrfs/files/patch-CMakeLists.txt
+7-6filesystems/ntfs2btrfs/files/patch-src_rollback.cpp
+0-11filesystems/ntfs2btrfs/files/patch-src_ntfs.cpp
+2-9filesystems/ntfs2btrfs/Makefile
+3-3filesystems/ntfs2btrfs/distinfo
+27-295 files

LLVM/project 434b00allvm/test/MC/AMDGPU gfx12_asm_vop3_err.s gfx12_asm_features.s

[AMDGPU][MC] Upstream gfx11/gfx12 true16 assembler test coverage (#223826)

Upstream new assembler test cases, covering true16 .l/.h operands and
op_sel
handling that had no upstream coverage.
DeltaFile
+75-0llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
+69-0llvm/test/MC/AMDGPU/gfx11_asm_opsel.s
+59-0llvm/test/MC/AMDGPU/gfx11_asm_t16.s
+6-0llvm/test/MC/AMDGPU/gfx11_asm_vop3_features.s
+3-0llvm/test/MC/AMDGPU/gfx12_asm_features.s
+2-0llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
+214-06 files

LLVM/project e62aa89llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp

Address review comment
DeltaFile
+1-6llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+1-61 files

LLVM/project 6735e5allvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/RISCV rvv-expandload-compressstore.ll

Return invalid costs for scalable LMUL 8 i8s that need split
DeltaFile
+14-4llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+5-0llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
+19-42 files

LLVM/project a0164c0llvm/test/Transforms/LICM scalar-promote-aa-tags.ll

Merge branch 'users/zGoldthorpe/licm-bug/precommit' into users/zGoldthorpe/licm-bug/loop-local-aa
DeltaFile
+52-0llvm/test/Transforms/LICM/scalar-promote-aa-tags.ll
+52-01 files

LLVM/project e84f7b4clang/lib/CIR/Dialect/IR CIRAttrs.cpp

[CIR] Name the memory class each factory argument sets

Assisted-by: Cursor / claude-opus-5
DeltaFile
+38-18clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
+38-181 files

LLVM/project d6b79b9llvm/lib/Target/AMDGPU VOPDInstructions.td, llvm/test/MC/AMDGPU gfx1250_asm_unsupported.s gfx13_asm_vopd_errs.s

[AMDGPU] Remove two VOPD instructions from gfx1250 and gfx13.

V_DUAL_DOT2ACC_F32_F16 and V_DUAL_DOT2ACC_F32_BF16 were removed from both
gfx1250 and gfx13.

Fixes LCOMPILER-2684.
DeltaFile
+11-8llvm/lib/Target/AMDGPU/VOPDInstructions.td
+16-0llvm/test/MC/AMDGPU/gfx13_asm_vopd_errs.s
+14-0llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
+41-83 files

LLVM/project 30bbdadllvm/test/Transforms/LICM scalar-promote-aa-tags.ll

Add pre-commit test mixing scoped alias info and tbaa
DeltaFile
+52-0llvm/test/Transforms/LICM/scalar-promote-aa-tags.ll
+52-01 files

FreeBSD/doc 3333373website/archetypes/release hardware.adoc

hardware: Add some 3G cellular drivers...
DeltaFile
+4-0website/archetypes/release/hardware.adoc
+4-01 files

OpenBSD/ports 0fM4Blcx11/gnome/contacts Makefile, x11/gnome/shell Makefile

   multimedia/pipewire/pipewire -> multimedia/pipewire/pipewire,-gst
VersionDeltaFile
1.310+2-2x11/gnome/shell/Makefile
1.116+2-2x11/gnome/contacts/Makefile
1.5+2-1x11/gnome/snapshot/Makefile
+6-53 files

LLVM/project e7302d9llvm/include/llvm/Analysis TargetTransformInfo.h, llvm/lib/Analysis TargetTransformInfo.cpp

[SLP] Reland: More accurately cost RISCV scalar splats (#224766)

Originally #213104, reverted due to assertion failure in cases of
reordered gather nodes.

Backends may have a fast path for splatting scalar operands (i.e. rather
than generating the splat vector, the vector instruction may be able to
take a scalar operand), for example RISCV `vfoo.vx` instructions. Pass a
hint to the TTI when costing the insert/shuffle sequence in such cases.

Fixes #212413.

Assisted By: Codex
DeltaFile
+131-55llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+67-0llvm/test/Transforms/SLPVectorizer/RISCV/reordered-gather.ll
+42-6llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+11-31llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
+29-2llvm/include/llvm/Analysis/TargetTransformInfo.h
+18-3llvm/lib/Analysis/TargetTransformInfo.cpp
+298-9723 files not shown
+401-17229 files

OpenBSD/ports nw2zzmMmultimedia/pipewire/pipewire Makefile, multimedia/pipewire/pipewire/pkg PLIST-main PLIST-gst

   Split GStreamer elements into its own subpackage.
VersionDeltaFile
1.70+12-6multimedia/pipewire/pipewire/Makefile
1.3+1-1multimedia/pipewire/pipewire/pkg/PLIST-gst
1.3+1-1multimedia/pipewire/pipewire/pkg/DESCR-gst
1.21+0-1multimedia/pipewire/pipewire/pkg/PLIST-main
+14-94 files

OpenBSD/ports aTaC1M9net/bitmagnet Makefile

   pass version through ldflags for the webui to show instead of "unknown"
VersionDeltaFile
1.2+2-0net/bitmagnet/Makefile
+2-01 files

LLVM/project 06c7e8dllvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

[SelectionDAG] Simplify computeKnownBits for EXTRACT_ELEMENT using KnownBits::extractBits. NFC (#225168)
DeltaFile
+1-6llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-61 files

FreeBSD/src b952821share/man/man4 ulpt.4

ulpt.4: Canonicalize SYNOPSIS, tag SPDX

MFC after:      3 days
DeltaFile
+6-11share/man/man4/ulpt.4
+6-111 files

FreeBSD/src 2784767share/man/man4 umct.4

umct.4: Canonicalize SYNOPSIS, HARDWARE, tag SPDX

MFC after:      3 days
DeltaFile
+8-14share/man/man4/umct.4
+8-141 files

FreeBSD/src 71a0ea7share/man/man4 umcs.4

umcs.4: Describe better, canonicalize SYNOPSIS

+ tag SPDX
+ improve apropos and hardware notes context
+ canonicalize SYNOPSIS

MFC after:      3 days
DeltaFile
+13-18share/man/man4/umcs.4
+13-181 files

FreeBSD/src 6204c60share/man/man4 uled.4

uled.4: Canonicalize SYNOPSIS, tag SPDX

MFC after:      3 days
DeltaFile
+6-11share/man/man4/uled.4
+6-111 files

LLVM/project 4a49d09llvm/lib/DebugInfo/DWARF DWARFDebugLine.cpp, llvm/unittests/DebugInfo/DWARF DWARFDebugLineTest.cpp

[DebugInfo] Fix overflow in DWARFDebugLine::SectionParser (#224770)

Adding a DWARF64 unit length can overflow and wrap back into the
section, causing an infinite loop. Saturate the addition so an
overflowing offset fails the bounds check.

rdar://186810393
DeltaFile
+20-0llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
+4-1llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
+24-12 files

LLVM/project fbbf5d2llvm/lib/Target/NVPTX NVPTXSubtarget.h NVPTXISelDAGToDAG.cpp, llvm/test/CodeGen/NVPTX volatile-local.ll

[NVPTX] Preserve volatile on atomic local loads and stores (#224719)

Local loads and stores discard atomic ordering during instruction
selection, but volatile accesses with acquire, release, or seq_cst
ordering also lose the volatile qualifier. Preserve volatile for all
valid load/store orderings when local volatile instructions are
supported. Follow up to #217764.
DeltaFile
+117-0llvm/test/CodeGen/NVPTX/volatile-local.ll
+14-15llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
+1-0llvm/lib/Target/NVPTX/NVPTXSubtarget.h
+132-153 files

LLVM/project 9906c58clang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefCallArgsChecker.cpp RawPtrRefLocalVarsChecker.cpp, clang/test/Analysis/Checkers/WebKit uncounted-local-vars.cpp

[WebKit Checkers] Trace through temporaries in tryToFindPtrOrigin (#224877)

RefPtr checking skips temporaries, reporting a path through any
temporary as unsafe. This is mostly correct, but not always. For
example, the following is a false positive:

    // makeKey() returns a temporary
    RefCountable* p = condition(makeKey()) ? guardian.ptr() : nullptr;

In the upcoming Borrow checker, it's even more important to trace
through temporaries because not tracing an expression can drop a
`lifetimebound` link, resulting in false **negatives**.

This patch adds tracing through temporaries. The logic is:

* In function call arguments, temporaries are lifetime safe because the
full expression does not end until the call returns

* In ranged for loops, temporaries are lifetime safe because lifetime

    [4 lines not shown]
DeltaFile
+82-32clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
+24-0clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
+9-4clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
+6-2clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
+4-1clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
+125-395 files

LLVM/project 8e63511clang/lib/Driver/ToolChains FreeBSD.cpp, clang/test/Driver fsanitize.c

[clang][FreeBSD] Enable KASAN and KMSAN for riscv64 (#202288)

enables KASAN and KMSAN for the riscv64 freebsd target in the Clang
driver.

The corresponding FreeBSD kernel runtime support for riscv64 KASAN is
currently under active review.

Depends on: https://reviews.freebsd.org/D57381

Co-authored-by: aokblast <aokblast at FreeBSD.org>
DeltaFile
+2-1clang/lib/Driver/ToolChains/FreeBSD.cpp
+2-0clang/test/Driver/fsanitize.c
+4-12 files

LLVM/project 4efc900llvm/lib/Target/AMDGPU AMDGPUPromoteAlloca.cpp, llvm/test/CodeGen/AMDGPU eliminate-frame-index-select.ll promote-alloca-homogeneous-struct.ll

Reland "[AMDGPU] PromoteAlloca: flatten homogeneous structs to vectors" (#221058)

This relands #217055

The original commit revealed a latent issue in eliminateFrameIndex in
SIRegisterInfo where SCC can be clobbered before reading it on
gfx900/gfx90a. This change itself has no known issues.
DeltaFile
+152-0llvm/test/CodeGen/AMDGPU/promote-alloca-homogeneous-struct.ll
+23-6llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
+6-1llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
+181-73 files

LLVM/project 8fcba44llvm/lib/Target/AMDGPU SIRegisterInfo.cpp

[AMDGPU] Update based on review feedback

Replace the lambda with the check inlined at both sites, and report a fatal
error when neither a free SGPR nor FrameReg is available, rather than
silently falling back to the spilling scavenge.
DeltaFile
+24-19llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+24-191 files

LLVM/project 895a2d3llvm/lib/Target/AMDGPU SIRegisterInfo.cpp, llvm/test/CodeGen/AMDGPU sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

[AMDGPU] Use the scavenger to test whether SCC is live after MI

The register scavenger is stepped backwards to the liveness state
immediately after MI, so RS->isRegUsed(SCC) already answers "is SCC live
after MI" directly. Replace the hand-rolled test with that query.
DeltaFile
+5-6llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
+3-3llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+8-92 files

LLVM/project f4edcdallvm/lib/Target/AMDGPU SIRegisterInfo.cpp, llvm/test/CodeGen/AMDGPU sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

[AMDGPU] Don't spill an SGPR while SCC is live in frame index lowering

When SCC is live into a scalar frame index user, the scaling path avoids
SALU ops that write SCC by computing the address in a VGPR and reading it
back with V_READFIRSTLANE_B32. If the destination of that readfirstlane is
scavenged with spilling allowed, an AMDGPU SGPR spill writes inactive
lanes, so it flips EXEC with S_NOT_B64 and clobbers SCC. Instead, scavenge
that register with AllowSpill=false.
DeltaFile
+81-45llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
+29-10llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+110-552 files