LLVM/project a13aa07lldb/source/Commands CommandObjectDWIMPrint.cpp, lldb/test/API/commands/dwim-print TestDWIMPrint.py

[lldb] Fix dwim-print's arrow-operator check to match the substring (#225778)

`CommandObjectDWIMPrint::DoExecute` decides whether to try `expr` as a
limited, dot-only frame variable path before falling back to full
expression evaluation. The comment above the check says a variable
path is not attempted if `expr` contains the arrow operator (`->`) or
the subscript operator (`[]`), or a bare `*` or `&`:
```
    const bool try_variable_path =
        expr.find_first_of("*&->[]") == StringRef::npos;
```
`find_first_of` treats its argument as a set of characters so this also
matches a lone `-` or a lone `>` anywhere in `expr`, not only the
two-character `->` sequence the comment describes.

Fix the check to test for the `->` substring directly with
`StringRef::contains`, keeping `find_first_of` only for the four
characters that are genuinely excluded one at a time (`*`, `&`, `[`,
`]`).

    [29 lines not shown]
DeltaFile
+1-1lldb/test/API/commands/dwim-print/TestDWIMPrint.py
+1-1lldb/source/Commands/CommandObjectDWIMPrint.cpp
+2-22 files

LLVM/project 1bf9ce8lldb/source/Target StackFrame.cpp, lldb/test/API/commands/frame/var TestFrameVar.py

[lldb] Fix crash on a trailing '-' in a legacy variable expression path (#225661)

`StackFrame::LegacyGetValueForVariableExpressionPath` walks a variable
expression path one separator character at a time. On seeing a `-` it
checks that the following character is `>`, to confirm this is really
the `->` operator and not something else:
```
    case '-':
      expr_is_ptr = true;
      if (var_expr.size() >= 2 && var_expr[1] != '>')
        return ValueObjectSP();
      ...
      var_expr = var_expr.drop_front(); // Remove the '-'
      [[fallthrough]];
    case '.': {
      var_expr = var_expr.drop_front(); // Remove the '.' or '>'
```
The `var_expr.size() >= 2` guard is only meant to make the `var_expr[1]`
read safe, but it also disables the whole check when `var_expr` is

    [26 lines not shown]
DeltaFile
+17-0lldb/test/API/commands/frame/var/TestFrameVar.py
+4-1lldb/source/Target/StackFrame.cpp
+21-12 files

LLVM/project c52d0ecllvm/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 f82f92dllvm/lib/Target/AMDGPU SIRegisterInfo.cpp

Change erroring to be emitUnsupportedError instead of report_fatal_error
DeltaFile
+21-10llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+21-101 files

LLVM/project 78d7683llvm/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 e64b413llvm/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 6dbe1aellvm/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
+26-72llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
+29-10llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+55-822 files

LLVM/project 9ef243fllvm/test/CodeGen/AMDGPU sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

Add erroring live-accross test
DeltaFile
+83-1llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
+83-11 files

LLVM/project c654d57llvm/test/CodeGen/AMDGPU sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

[NFC][AMDGPU] Add tests for SCC live into a frame index user

Pre-commit tests for the case where SCC is live into a frame index user and
no SGPR is free to hold the V_READFIRSTLANE_B32 result. Scavenging one
emergency-spills an SGPR, and an SGPR spill flips EXEC with S_NOT_B64, so the
EXEC flips land between the S_CMP_EQ_U32 that defines SCC and the read of SCC
that follows, clobbering it in between.
DeltaFile
+153-0llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir
+153-01 files

LLVM/project 03a6189llvm/lib/Target/AMDGPU SIInstrInfo.cpp AMDGPU.td, llvm/test/CodeGen/AMDGPU vperm-pk16-exec-hazard.ll vperm-pk16-exec-hazard.mir

[AMDGPU] Insert V_NOP after V_PERM_PK16 (gfx1250 hazard)

On gfx1250 the V_PERM_PK16 family (V_PERM_PK16_B4/B6/B8_U4) has a hazard:
the instruction must be immediately followed by a "safe" instruction that
issues on the pipe which clears the hazard. Insert V_NOP as needed.

Also updated hasUnwantedEffectsWhenEXECEmpty() to ensure V_PERM_PK16 and
the inserted V_NOP are under non-zero EXEC.

Fixes: ROCM-26041

Assisted-by: Opus 4.8 Medium
DeltaFile
+335-0llvm/test/CodeGen/AMDGPU/vperm-pk16-exec-hazard.mir
+77-0llvm/test/CodeGen/AMDGPU/vperm-pk16-exec-hazard.ll
+54-0llvm/lib/Target/AMDGPU/SIInstrInfo.h
+40-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+6-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+6-0llvm/lib/Target/AMDGPU/AMDGPU.td
+518-02 files not shown
+523-08 files

LLVM/project 46e6aacllvm/docs RISCVUsage.md

[RISCV][Doc] Remove unratified extensions from the ratified extension status table. NFC (#225898)
DeltaFile
+0-5llvm/docs/RISCVUsage.md
+0-51 files

LLVM/project 674fd8dllvm/lib/CodeGen CommandFlags.cpp, llvm/lib/Target/RISCV RISCVAsmPrinter.cpp

RISCV: Don't use MCTargetOptions::ABIName in the ELF target streamer (#224704)

The abi name should come from the target-abi module flag in codegen,
which should be set up in the AsmPrinter. The ABI name field should
only be of practical use in the assembler, which reads the flag in
onBeginOfFile.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude Opus 4.8)
DeltaFile
+45-0llvm/test/CodeGen/RISCV/target-abi-synthesize-flag.ll
+1-19llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
+11-4llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
+10-0llvm/lib/CodeGen/CommandFlags.cpp
+4-4llvm/test/CodeGen/RISCV/target-abi-invalid.ll
+0-1llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+71-286 files

LLVM/project d28d490clang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefLocalVarsChecker.cpp, clang/test/Analysis/Checkers/WebKit local-vars-dependent-init.cpp

[alpha.webkit.UncountedLocalVarsChecker] Wait for the instantiation to check a dependent local variable (#224566)

RawPtrRefLocalVarsChecker had the same false positive as the call
arguments checker: a local variable whose declared type is a concrete
raw pointer was reported when its initializer was still type-dependent.
In

    template <typename T> void f(T& guard) {
      Voice* v = guard.ptr();
    }

the declared type Voice* makes isUnsafePtr fire, while guard.ptr() is a
CXXDependentScopeMemberExpr, so tryToFindPtrOrigin bails out before it
can reach the guardian analysis which makes the resolved form safe. The
instantiation is character for character the concrete form, which is not
reported.

Skip type-dependent initializers and traverse the instantiated call
operators of a generic lambda, as in the call arguments checker. Unlike

    [5 lines not shown]
DeltaFile
+82-0clang/test/Analysis/Checkers/WebKit/local-vars-dependent-init.cpp
+30-0clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
+112-02 files

LLVM/project 1ff88eeclang/lib/CodeGen CGDebugInfo.cpp, clang/test/DebugInfo/CXX limited-ctor.cpp

Always emit complete debug info for types which appear as a member of a standard-layout union. (#224439)

[[class.mem]](https://timsong-cpp.github.io/cppwp/n3337/class.mem#19)
states:

> "If a standard-layout union contains two or more standard-layout
structs that share a common initial sequence, and if the standard-layout
union object currently contains one of these standard-layout structs, it
is permitted to inspect the common initial part of any of them. Two
standard-layout structs share a common initial sequence if corresponding
members have layout-compatible types and either neither member is a
bit-field or both are bit-fields with the same width for a sequence of
one or more initial members."

This makes it possible to obtain a reference to a type which was never
constructed, which violates the assumption made by constructor homing
that all types that may require debug info must be constructed.

This change takes the conservative approach of always emitting full

    [8 lines not shown]
DeltaFile
+255-1clang/test/DebugInfo/CXX/limited-ctor.cpp
+55-0clang/lib/CodeGen/CGDebugInfo.cpp
+310-12 files

FreeBSD/ports d350798graphics/opennurbs Makefile distinfo

graphics/opennurbs: Update to  8.35.26251.13001
DeltaFile
+3-3graphics/opennurbs/distinfo
+1-1graphics/opennurbs/Makefile
+4-42 files

LLVM/project ad695d4llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sme-za-tailcall-fpdiff-align.ll sme-za-non-sibling-tailcall.ll

[AArch64] Don't emit stack restore for SME ZA non-sibling tail calls (#224721)

A tail call from a function with live ZA state was previously prevented
from being lowered as a sibling call to have a CALLSEQ_START to glue
INOUT_ZA_USE to. This led to bogus stack restores.

We now drop the INOUT_ZA_USE marker on tail calls and can thus lower as
sibling calls if needed to take advantage of the existing correct stack
restore behavior.

This is safe to do since tail calls use TCRETURN and the MachineSMEABI
pass requires live ZA state to stay live across returns anyway.
DeltaFile
+110-0llvm/test/CodeGen/AArch64/sme-za-non-sibling-tailcall.ll
+13-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-4llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
+125-43 files

FreeBSD/ports 3c9d414www/tgpt Makefile distinfo

www/tgpt: Update 2.14.0 => 2.15.0

While here, drop the knob for skipping Windows tests, upstream fixed it.

Changelog:
https://github.com/aandrew-me/tgpt/releases/tag/v2.15.0

Reported by:    repology
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+5-5www/tgpt/distinfo
+1-4www/tgpt/Makefile
+6-92 files

LLVM/project 03fb869bolt/lib/Passes Instrumentation.cpp, bolt/lib/Utils CommandLineOpts.cpp

Remove unneeded cl::Optional from named options. NFC (#225870)

cl::Optional is the default for cl::opt and has been no-op since
https://reviews.llvm.org/D120455 removed the "may only occur zero or one
times!" error.

Extracted from #225628
DeltaFile
+45-50llvm/tools/llvm-cov/CodeCoverage.cpp
+10-12llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+10-12bolt/lib/Passes/Instrumentation.cpp
+9-10llvm/tools/llvm-undname/llvm-undname.cpp
+9-8llvm/lib/CodeGen/MIR2Vec.cpp
+6-7bolt/lib/Utils/CommandLineOpts.cpp
+89-9941 files not shown
+155-18247 files

LLVM/project fc1f3ffclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/Transforms/TargetLowering LowerItaniumCXXABI.cpp CIRCXXABI.cpp

[CIR] Fix 'cookie' size of array delete on aligned type (#225806)

This came up in some test suite, the cookie size calcuation of a array
delete with a 'cookie' was incorrect if the type had an alignment. This
patch strings the correct alignment through the 'element_align' tag on
the array-delete operation, and uses that for the final calculation,
matching classic codegen.
DeltaFile
+87-0clang/test/CIR/CodeGen/delete-array-overaligned-cookie.cpp
+8-7clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
+10-3clang/include/clang/CIR/Dialect/IR/CIROps.td
+5-7clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.cpp
+5-5clang/test/CIR/CodeGen/delete-array-aligned.cpp
+3-6clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
+118-285 files not shown
+138-3511 files

FreeBSD/ports 58f8f8fwww/firefox-esr Makefile distinfo

www/firefox-esr: update to 153.4.0 (rc3)

Release Notes (soon):
  https://www.firefox.com/en-US/firefox/153.4.0/releasenotes/

(cherry picked from commit c1b25f50c8295881ecb8abe37f698171110bf6aa)
DeltaFile
+3-3www/firefox-esr/distinfo
+2-1www/firefox-esr/Makefile
+5-42 files

FreeBSD/ports 7c146ebsecurity/nss Makefile distinfo

security/nss: update to 3.130

Release Notes soon on
  https://firefox-source-docs.mozilla.org/security/nss/releases/index.html

(cherry picked from commit 65a6d36b26614d549d7be44da0c7e31096725684)
DeltaFile
+3-3security/nss/distinfo
+1-1security/nss/Makefile
+4-42 files

LLVM/project 4989b3butils/bazel MODULE.bazel MODULE.bazel.lock, utils/bazel/llvm-project-overlay/third-party BUILD.bazel

[bazel] Use LZMA from bazel registry. (#225877)

PR #220092 added lzma support, but used the system copy of lzma for
bazel, saying it wasn't available in BCR. Since it actually is (under
the name "xz"), switch to using it from there.
DeltaFile
+4-8utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
+4-1utils/bazel/MODULE.bazel.lock
+1-0utils/bazel/MODULE.bazel
+9-93 files

FreeBSD/doc f55737dwebsite/content/en administration.adoc

administration: Add delphij to Git Administrators

No objection from:      core, clusteradm
DeltaFile
+3-1website/content/en/administration.adoc
+3-11 files

FreeBSD/ports c1b25f5www/firefox-esr Makefile distinfo

www/firefox-esr: update to 153.4.0 (rc3)

Release Notes (soon):
  https://www.firefox.com/en-US/firefox/153.4.0/releasenotes/
DeltaFile
+3-3www/firefox-esr/distinfo
+2-1www/firefox-esr/Makefile
+5-42 files

FreeBSD/ports 65a6d36security/nss Makefile distinfo

security/nss: update to 3.130

Release Notes soon on
  https://firefox-source-docs.mozilla.org/security/nss/releases/index.html
DeltaFile
+3-3security/nss/distinfo
+1-1security/nss/Makefile
+4-42 files

LLVM/project 94c31f3llvm/test/Transforms/PhaseOrdering/X86 vector-reductions.ll

[SLP][NFC]Remove stale FIXME from PR43745 test, NFC

cmp_lt_gt is vectorized, SLP forms both v2f64 compare reductions after
038f5968616a.

Fixes #43090

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/225924
DeltaFile
+0-1llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
+0-11 files

FreeBSD/ports 174eab9security/sshguard Makefile, security/sshguard/files sshguard.in

security/sshguard: Add default "NO" to rcvar

Without a default rcvar set to NO, there are warnings like this:

/etc/rc: WARNING: $sshguard_enable is not set properly - see rc.conf(5)?

PR:             298781
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q3

(cherry picked from commit 79e6862d9b008738beec5da53a29a61df69ef60d)
DeltaFile
+1-1security/sshguard/Makefile
+1-0security/sshguard/files/sshguard.in
+2-12 files

FreeBSD/ports 79e6862security/sshguard Makefile, security/sshguard/files sshguard.in

security/sshguard: Add default "NO" to rcvar

Without a default rcvar set to NO, there are warnings like this:

/etc/rc: WARNING: $sshguard_enable is not set properly - see rc.conf(5)?

PR:             298781
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q3
DeltaFile
+1-1security/sshguard/Makefile
+1-0security/sshguard/files/sshguard.in
+2-12 files

LLVM/project d0c787elldb/include/lldb/Target ThreadPlanRunToBreakpoint.h, lldb/source/Plugins/DynamicLoader/MacOSX-DYLD DynamicLoaderDarwin.cpp

Handle stepping through "lazy library" stubs (#225238)

This is a new linker feature that's available for programs built for
macOS 27 and later. The form of the stubs are slightly different, and
need a slightly different trick to get through them.
DeltaFile
+143-0lldb/source/Target/ThreadPlanRunToBreakpoint.cpp
+71-0lldb/include/lldb/Target/ThreadPlanRunToBreakpoint.h
+61-0lldb/test/API/macosx/lazy_library/TestStepThroughLazyLibrary.py
+17-2lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
+15-0lldb/test/API/macosx/lazy_library/Makefile
+11-0lldb/test/API/macosx/lazy_library/main.c
+318-25 files not shown
+344-211 files

NetBSD/pkgsrc LGplf1Vdoc CHANGES-2026

   doc: Updated archivers/undms to 1.3nb1
VersionDeltaFile
1.6273+2-1doc/CHANGES-2026
+2-11 files