LLVM/project ed749eblldb/source/Target Platform.cpp ModuleCache.cpp, lldb/unittests/Target LocateModuleCallbackTest.cpp

[lldb] Preserve TargetSP in Platform module lookup (#186323)

[lldb] Preserve TargetSP in Platform module lookup

When `Platform::GetRemoteSharedModule` resolves a module specification
by calling `GetModuleSpec` on
the process, the target context (`TargetSP`) is lost. This happens
because the underlying process plugin populates a new `ModuleSpec`
object that does not inherit the target context.

This causes failures in subsequent symbol resolution steps. For example,
when `ModuleList` relies on the `TargetSP` to query target-specific
settings like `target.exec-search-paths` and
`target.symbols-search-paths`, the lookup fails
because `TargetSP` evaluates to null. This prevents LLDB from finding
local unstripped libraries.

This commit fixes the issue by transferring the target context from the
original `module_spec` over to the `resolved_module_spec` before

    [9 lines not shown]
DeltaFile
+40-0lldb/unittests/Target/LocateModuleCallbackTest.cpp
+8-2lldb/source/Target/Platform.cpp
+2-1lldb/source/Target/ModuleCache.cpp
+50-33 files

LLVM/project a7b764bllvm/lib/Target/AArch64 AArch64SystemOperands.td

[AArch64][llvm] Rewrite the TLBI multiclass to be much clearer (NFC)

The `tlbi` multiclass is really doing four jobs at once: base TLBI,
synthesized nXS, optional TLBIP, and synthesized TLBIP nXS. Also,
`needsreg` and `optreg` are really just a 3-state operand policy in
disguise. Likewise, the PLBI multiclass has this same issue.

Change `needsreg` and `optreg` into a combined fake enum, so it's
clearer whether the instruction takes no register operand, a required
register operand or an optional register operand.

This improves on my original change 66e8270e8.
DeltaFile
+130-121llvm/lib/Target/AArch64/AArch64SystemOperands.td
+130-1211 files

LLVM/project 511359fllvm/test/CodeGen/X86 vector-interleaved-store-i32-stride-7.ll vector-interleaved-store-i32-stride-5.ll

[X86] lowerV4F32Shuffle - don't use INSERTPS if SHUFPS will suffice (#186468)

If we have 2 or more undef/undemanded elements, the INSERTPS replaces
those with explicit zero'd elements which can cause infinite loops later
on in shuffle combining depending on whether we demand those elements or
not.

I'll try to improve the (minor) v2f32 regressions in a follow up, but I
need to fix the infinite loop first.

Fixes #186403
DeltaFile
+63-63llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
+32-32llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
+30-30llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
+17-42llvm/test/CodeGen/X86/vector-shuffle-combining.ll
+42-1llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
+8-26llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
+192-1949 files not shown
+244-24015 files

FreeBSD/ports 85dce12x11/libX11 distinfo Makefile

x11/libX11: update: 1.8.12 -> 1.8.13

<ChangeLog>

 * Ignore XkbMapNotify events that don't belong to the core keyboard (!293)
 * xkb: Fix invalid level names count for key types without level names (!292)
 * xkb: Fix default key types (!292)
 * Drop vestiges of OS/2 support (!291)
 * xkb: fix include of config.h and drop unused DEBUG check (!290)
 * xcb_io: fix build with configure --disable-xthreads (#232, !289)
 * Improve man page formatting (!286)
 * imDefIc: Clear fabricated state on unfocus. (!283)
 * Avoid memory leak in XKeysymToString (!282)

</ChangeLog>

PR:             293045
Exp-run by:     antoine
Approved by:    x11 (maintainer, timeout >2 weeks)

    [2 lines not shown]
DeltaFile
+3-3x11/libX11/distinfo
+1-1x11/libX11/Makefile
+4-42 files

LLVM/project a685108clang/include/clang/Analysis/Analyses/LifetimeSafety Facts.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp LoanPropagation.cpp

[LifetimeSafety] Fix false positives for pointers in loops (#182368)

When a pointer and its pointee die in the same loop scope, the back-edge
makes the pointer appear live at the pointee's `ExpireFact`, causing a
spurious use-after-scope warning. The origin's loans and liveness are
cleared at `LifetimeEnds` via `ExpireFact`, preventing the checker from
reporting against an origin whose variable is already dead.

Fixes: #169548
DeltaFile
+56-0clang/test/Sema/warn-lifetime-safety.cpp
+20-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+8-3clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
+6-0clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
+5-1clang/lib/Analysis/LifetimeSafety/Facts.cpp
+6-0clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
+101-52 files not shown
+104-68 files

FreeBSD/src c70f382libexec/rtld-elf/aarch64 reloc.c

rtld-elf: Remove stray _exit prototype for aarch64

It's not clear why this is here. It's existed since the very first
version of rtld-elf for aarch64 but has never been used, and anything
actually using exit or _exit should be using rtld_libc.h's #define that
aliases them to __sys_exit.

Fixes:  047c6e3ae6ab ("Add the arm64 code to the runtime linker. It's not able to be built as we still need libc_pic for a few things, but this is expected to be ready soon.")
DeltaFile
+0-2libexec/rtld-elf/aarch64/reloc.c
+0-21 files

LLVM/project d22e286clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp, clang/test/CIR/CodeGen try-catch.cpp

[CIR] Implement Aggregate kind in initCatchParam (#186198)

Implement the Aggregate kind with trivial copy in initCatchParam
DeltaFile
+120-0clang/test/CIR/CodeGen/try-catch.cpp
+19-1clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+139-12 files

LLVM/project 778022aclang/lib/Sema LifetimeSafety.h AnalysisBasedWarnings.cpp

Refactor AnalysisBasedWarnings.cpp
DeltaFile
+219-0clang/lib/Sema/LifetimeSafety.h
+2-214clang/lib/Sema/AnalysisBasedWarnings.cpp
+221-2142 files

LLVM/project 80d6e0blldb/source/Plugins/SymbolFile/NativePDB DWARFLocationExpression.cpp PdbUtil.cpp, lldb/test/Shell/SymbolFile/NativePDB structured-bindings-msvc.test

[LLDB][NativePDB] Add support for `S_REGREL32_INDIR` (#186124)

In #183172, I added support for reading `S_REGREL32_INDIR` records. This
adds support in LLDB. The record is emitted by MSVC for structured
bindings and in the compiler generated coroutine stubs.

It describes a location at `*(Register + Offset) + OffsetInUdt`.
Equivalent to
```
DW_OP_breg{reg} {Offset}
DW_OP_deref
DW_OP_plus_uconst {OffsetInUdt}
```

LLVM doesn't create this record - it only creates `S_LOCAL`s for local
variables. We'll probably need `S_DEFRANGE_REGISTER_REL_INDIR` for this
- should be simple to figure out the structure, but I haven't seen that
record emitted yet.
DeltaFile
+43-0lldb/test/Shell/SymbolFile/NativePDB/structured-bindings-msvc.test
+25-0lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
+20-0lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
+9-0lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
+4-0lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.h
+1-0lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+102-06 files

LLVM/project c7a395dllvm/lib/Target/AArch64 AArch64SystemOperands.td

[AArch64][llvm] Rewrite the TLBI multiclass to be much clearer (NFC)

The `tlbi` multiclass is really doing four jobs at once: base TLBI,
synthesized nXS, optional TLBIP, and synthesized TLBIP nXS. Also,
`needsreg` and `optreg` are really just a 3-state operand policy in
disguise.

Change `needsreg` and `optreg` into a combined fake enum, so it's
clearer whether the instruction takes no register operand, a required
register operand or an optional register operand.

This improves on my original change 66e8270e8.
DeltaFile
+43-36llvm/lib/Target/AArch64/AArch64SystemOperands.td
+43-361 files

LLVM/project 83d188dllvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU] Fix setreg handling in the VGPR MSB lowering

There are multiple issues with it:

1. It can skip inserting S_SET_VGPR_MSB if we set the mode via
   piggibacking. We are now relying on the HW bug for correct
   behavior. If/when the bug is fixed lowering will be incorrect.
2. We should just unconditionally update MSBs if offset allows it.
   We shall set correct bits and keep the rest of the immediate
   (that is done). There is no reasonable way for an user to change
   MSBs nor does it do anything good to set it with SETREG and then
   immediately overwrite with S_SET_VGPR_MSB.
3. Current implementation assumes that offset in the mask is always
   zero, which is not true.
4. Redundand mode changes created as seen in the
   hazard-setreg-vgpr-msb-gfx1250.mir.
5. Decoding of the immediate was also wrong with non-zero offset.

With uncoditional immediate update most of time and not relying on

    [11 lines not shown]
DeltaFile
+131-33llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
+41-53llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+12-18llvm/test/CodeGen/AMDGPU/hazard-setreg-vgpr-msb-gfx1250.mir
+2-2llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+186-1064 files

LLVM/project 9963fe7clang/lib/Driver Driver.cpp

[NFC] Fix comment spelling (#185771)

no code change
DeltaFile
+1-1clang/lib/Driver/Driver.cpp
+1-11 files

LLVM/project 9f26f85llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp AMDGPURegBankLegalizeHelper.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.ds.bvh.stack.push.pop.rtn.ll llvm.amdgcn.ds.bvh.stack.rtn.ll

AMDGPU/GlobalISel: RegBankLegalize rules for ds_bvh_stack (#186219)
DeltaFile
+10-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+7-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.push.pop.rtn.ll
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.rtn.ll
+1-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+20-45 files

FreeBSD/src 703901bsys/dev/ichwd i6300esbwd.c

i6300esbwd: Set error appropriately on event

Per the watchdog driver contract, if the driver successfully arms the
watchdog it must set error to 0, and if it's unable to arm the watchdog
it must leave error alone.

Sponsored by:   Hewlett Packard Enterprise
DeltaFile
+2-1sys/dev/ichwd/i6300esbwd.c
+2-11 files

LLVM/project be93798lldb/source/Plugins/Process/Windows/Common MSVCRTCFrameRecognizer.cpp

[lldb][windows] fix MSVCRTCFrameRecognizer's registration (#186485)
DeltaFile
+1-1lldb/source/Plugins/Process/Windows/Common/MSVCRTCFrameRecognizer.cpp
+1-11 files

LLVM/project 62d0608lldb/source/Plugins/Process/FreeBSD-Kernel-Core ProcessFreeBSDKernelCore.cpp ProcessFreeBSDKernelCore.h

[lldb][Process/FreeBSDKernelCore] Set kernel displacement (#183975)

Use `kvm_kerndisp()` on core load to retrieve the kernel displacement,
that is the difference between the kernel's
base virtual address at run time and the kernel base virtual address
specified in the kernel image file. Currently PowerPC is the only
architecture supporting kernel displacement.

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
DeltaFile
+25-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
+2-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
+27-02 files

FreeBSD/ports 8293be6databases/cego distinfo Makefile

databases/cego: update 2.54.9 -> 2.54.16

- rework tableset verification procedure
- removed logback.xml to avoid logging side effects
- Added admin command "verify locks" to perform a test aquire
  of all lock manager locks read and write
- Fix CegoQueryHelper::maxFieldSize.
  The returned size must be at least MAX_NULL_LEN
- CegoTableManager::checkBTreeIntegrity support for allowDuplicateNull
  feature ( multiple null values in unique btree )
- CegoLockHandler, check for unlock methods to check for lockId == 0
- Completed verify locks command with missing pool, querycache, tablecache,
  db and xml locks
- CegoClient: query abort via interrupt character fixed
DeltaFile
+3-3databases/cego/distinfo
+1-1databases/cego/Makefile
+4-42 files

FreeNAS/freenas 5dd1f4bsrc/middlewared/middlewared/plugins/zfs tier.py

Fix
DeltaFile
+1-13src/middlewared/middlewared/plugins/zfs/tier.py
+1-131 files

FreeBSD/ports 3c10abcaudio/subtui distinfo Makefile

audio/subtui: Update to 2.11.1

Changelog: https://github.com/MattiaPun/SubTUI/releases/tag/v2.11.1
DeltaFile
+5-5audio/subtui/distinfo
+1-1audio/subtui/Makefile
+6-62 files

LLVM/project 88dcb26flang/lib/Lower OpenACC.cpp, flang/lib/Semantics resolve-names.cpp

[flang][openacc][cuda] Fix implicit device attribute in derived-type component (#186476)
DeltaFile
+23-14flang/lib/Semantics/resolve-names.cpp
+24-5flang/lib/Lower/OpenACC.cpp
+24-0flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
+71-193 files

LLVM/project eda72ddllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.s.setprio.ll llvm.amdgcn.s.sethalt.ll

AMDGPU/GlobalISel: RegBankLegalize rules for s_setprio/sethalt/nop (#186244)
DeltaFile
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setprio.ll
+3-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sethalt.ll
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.nop.ll
+7-44 files

LLVM/project 1fe8493libc/src/__support/macros attributes.h

add todo
DeltaFile
+1-0libc/src/__support/macros/attributes.h
+1-01 files

LLVM/project bd72413lldb/include/lldb/Host/windows PseudoConsole.h

[lldb] [Windows] Add missing includes (#186449)

This fixes building with libstdc++ after
796a1ea79f413673cbce8ab8975c748f1dbcdc3f.
DeltaFile
+2-0lldb/include/lldb/Host/windows/PseudoConsole.h
+2-01 files

LLVM/project bc5c3a0llvm/lib/Target/X86 X86ScheduleZnver1.td X86ScheduleZnver2.td, llvm/test/tools/llvm-mca/X86/Znver1 resources-x86_64.s

[X86] Add correct model values for znver1, znver2 shld, shrd (#186175)

Values are from Agner Fog's tables, which also match uops.info expect for latency, which for which I used a similar pattern as in zvner3 and 4
DeltaFile
+49-49llvm/test/tools/llvm-mca/X86/Znver2/resources-x86_64.s
+49-49llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
+4-14llvm/lib/Target/X86/X86ScheduleZnver1.td
+4-14llvm/lib/Target/X86/X86ScheduleZnver2.td
+106-1264 files

LLVM/project 84405a3llvm/include/llvm/Analysis ScalarEvolution.h

[NFC][SCEV] Use const_cast to avoid warnings/errors. (#186474)

Follow-up on #91961. Some builds may fail, and other will issue
lots of warnings:
```
warning: cast from type ‘const llvm::SCEV*’ to type ‘void*’ casts away qualifiers [-Wcast-qual]
```
DeltaFile
+3-1llvm/include/llvm/Analysis/ScalarEvolution.h
+3-11 files

LLVM/project 1bebb02libc/src/stdio/gpu stderr.cpp

[libc] Fix GPU stderr include path (#186481)

This issue was accidentally introduced in #184669.
DeltaFile
+1-1libc/src/stdio/gpu/stderr.cpp
+1-11 files

LLVM/project 531aab9mlir/lib/Conversion/ShardToMPI ShardToMPI.cpp, mlir/test/Conversion/ShardToMPI convert-shard-to-mpi.mlir

[mlir][shard,mpi] Marking explicitly bufferized buffers read-only where applicable (#186464)

Marking read-only buffers as such avoids unnecessary copies in
`one-shot-bufferize`

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot at users.noreply.github.com>
DeltaFile
+10-8mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
+6-6mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
+16-142 files

FreeBSD/ports cd97f5edevel/heimdall Makefile, devel/heimdall/files patch-heimdall_source_BridgeManager.h

devel/heimdall: fix flashing on some samung tablet

Heimdall sends at some empty OUT transfers (as for the ODIN protocol)
with a 100ms timeou. The device is busy writing on the flash at that
point and NACKs OUT tokens for more than 100ms. The result is the empty
transfers times out. and since this is a required ODIN protocol marker,
the transfers fails.

Make sure those empty out transfers get a longer timeout.
DeltaFile
+11-0devel/heimdall/files/patch-heimdall_source_BridgeManager.h
+1-1devel/heimdall/Makefile
+12-12 files

FreeNAS/freenas 108b783src/middlewared/middlewared/alembic/versions/27.0 2026-03-13_17-05_merge.py 2026-03-13_17-05_.py

rename migration
DeltaFile
+24-0src/middlewared/middlewared/alembic/versions/27.0/2026-03-13_17-05_merge.py
+0-24src/middlewared/middlewared/alembic/versions/27.0/2026-03-13_17-05_.py
+24-242 files

LLVM/project d0d0a66llvm/benchmarks DWARFVerifierBM.cpp CMakeLists.txt, llvm/lib/DebugInfo/DWARF DWARFVerifier.cpp

[DWARFVerifier] rewrite DieRangeInfo::insert to remove O(N^2) loop  (#185915)

We have a dSYM that is ~5.6 GB and has 69,840 compile units that took 3+
hours to verify (`dsymutil --verify-dwarf=auto`). This severely slowed
our build time. So I investigated by `perf record` for a few minutes and
found that `DWARFVerifier::DieRangeInfo::insert(const DieRangeInfo &RI)`
was consuming 83% of CPU time — 48% in `_Rb_tree_increment` (iterator
traversal) and 36% in the `insert` function itself.

It turns out the function was linearly scanning all children in a
std::set to check for range overlaps, when it could leverage the sorted
property of the set and check only the immediate neighbors after a O(log
N) insertion. The worst compile unit had ~189K DIEs, making this O(N²)
scan take over 4 minutes for a single unit.

The fix: insert into the sorted set first (O(log N)), then check only
the predecessor and successor for intersection. Since children are
verified non-overlapping as they are inserted incrementally, if the
immediate neighbors don't intersect, no other child can either.

    [11 lines not shown]
DeltaFile
+122-0llvm/unittests/DebugInfo/DWARF/DWARFVerifierTest.cpp
+93-0llvm/benchmarks/DWARFVerifierBM.cpp
+37-20llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+2-0llvm/benchmarks/CMakeLists.txt
+1-0llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
+255-205 files