LLVM/project 3a6314d — llvm/test/CodeGen/AMDGPU amdgcn.bitcast.768bit.ll amdgcn.bitcast.832bit.ll

AMDGPU: Use LiveIntervals instead of LiveVariables in SIOptimizeVGPRLiveRange

Drop the LiveVariables dependency and the hand-written VarInfo
maintenance; the pass already knew how to recompute the affected
intervals with LiveIntervals, so make that the only path.

The legacy pass manager cannot schedule a pass requiring both
LiveIntervals and LiveVariables here, since LiveVariables (and its
UnreachableMachineBlockElim dependency) invalidates the LiveIntervals
just computed for it. In the AMDGPU pipeline, anchor the pass after
MachineLoopInfo instead of PHIElimination so LiveIntervals is computed
before PHIElimination, which is required anyway: the pass needs SSA and
introduces new PHIs. Preserving SlotIndexes keeps the transitive
last-user chain intact.

Since LiveVariables is no longer maintained past this point, PHIElimination
now splits critical edges using LiveIntervals, which accounts for most of
the test churn: LiveIntervalCalc drops kill flags and adds dead flags.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+37,859-37,709llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+3,855-3,814llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+3,291-3,302llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+3,094-3,085llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+2,730-2,686llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+1,773-1,731llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
+52,602-52,32755 files not shown
+57,170-57,07961 files

FreeNAS/freenas 093a842 — src/middlewared/middlewared/plugins smb.py, src/middlewared/middlewared/plugins/truenas entitlement_usage.py entitlements.py

Gate SMB fast path on the Veeam entitlement

This commit adds changes to drop the separate SMB_FASTPATH license feature and gate the ZFS block cloning / integrity streams smb.conf parameters on SMB_VEEAM instead, since Veeam Fast Clone depends on them and the two were never meant to be licensed independently.
DeltaFile
+4-4src/middlewared/middlewared/plugins/truenas/entitlements.py
+0-3src/middlewared/middlewared/pytest/unit/utils/test_license_legacy_utils.py
+0-2src/middlewared/middlewared/pytest/unit/utils/test_entitlements.py
+0-2src/middlewared/middlewared/plugins/truenas/entitlement_usage.py
+1-1src/middlewared/middlewared/pytest/unit/test_entitlement_gate_vocabulary.py
+1-1src/middlewared/middlewared/plugins/smb.py
+6-135 files not shown
+6-1811 files

LLVM/project d1851e9 — clang/test/Sema/LifetimeSafety safety.cpp

negative-test-capture-by
DeltaFile
+22-0clang/test/Sema/LifetimeSafety/safety.cpp
+22-01 files

LLVM/project 5c170b0 — llvm/lib/Target/Mips MipsOptimizePICCall.cpp, llvm/test/CodeGen/Mips optimize-pic-call-dead-gp.ll

Mips: Mark the $gp setup copy dead when erasing the call's $gp use (#227216)

MipsOptimizePICCall drops the implicit $gp operand from a call when the
lazy binding stub for the callee has already run. The copy that set $gp
up for that call then has no reader left, but nothing flagged it, so the
MIR carried a live def until a later liveness recomputation cleaned it
up.

The pass already walks each block in order, so track the reaching
definition of $gp as it goes and mark it dead when the use is erased.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+78-0llvm/test/CodeGen/Mips/optimize-pic-call-dead-gp.ll
+32-22llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
+110-222 files

LLVM/project d5f6c30 — libcxx/docs Hardening.rst, libcxx/include/__configuration attributes.h

[libc++] Encode the standard version in the ABI tag (#218527)

This prevents ODR mismatch issues from biting us across standard
versions. The order of elements in the ABI tag is now: libc++ version,
hardening mode, assertion semantic, exceptions, standard version.

Fixes #218524
DeltaFile
+9-4libcxx/include/__configuration/attributes.h
+2-1libcxx/docs/Hardening.rst
+11-52 files

LLVM/project a64ab34 — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp LoopVectorizationLegality.cpp, llvm/test/Transforms/LoopVectorize early_exit_store_legality.ll early_exit_legality.ll

Address comments
DeltaFile
+4-4llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
+4-4llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+3-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-2llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
+2-2llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
+15-145 files

LLVM/project a4b0944 — llvm/lib/Target/AArch64 AArch64ISelLowering.h AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 named-vector-shuffle-reverse-sve.ll

[AArch64] ISel support for nxv1i1 vector_reverse (#226939)

This ensures llvm.vector.reverse can be selected for nxv1i1 types. These intrinsics can be generated by LoopVectorizer for `VF = vscale x 1` and loops iterating in reverse order.
DeltaFile
+20-0llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
+15-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+1-0llvm/lib/Target/AArch64/AArch64ISelLowering.h
+36-03 files

LLVM/project 5a24573 — llvm/test/CodeGen/Mips/GlobalISel/irtranslator extend_args.ll call.ll, llvm/test/CodeGen/Mips/GlobalISel/legalizer sitofp_and_uitofp.mir fptosi_and_fptoui.mir

Mips/GlobalISel: Mark call's implicit RA def dead (#227233)

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+10-10llvm/test/CodeGen/Mips/GlobalISel/irtranslator/float_args.ll
+8-8llvm/test/CodeGen/Mips/GlobalISel/legalizer/sitofp_and_uitofp.mir
+8-8llvm/test/CodeGen/Mips/GlobalISel/legalizer/fptosi_and_fptoui.mir
+8-8llvm/test/CodeGen/Mips/GlobalISel/legalizer/ceil_and_floor.mir
+8-8llvm/test/CodeGen/Mips/GlobalISel/irtranslator/call.ll
+6-6llvm/test/CodeGen/Mips/GlobalISel/irtranslator/extend_args.ll
+48-489 files not shown
+62-6115 files

LLVM/project 7cf8ecb — llvm/lib/Target/Mips MipsFastISel.cpp, llvm/test/CodeGen/Mips/Fast-ISel mul-dead-hilo.ll

Mips: Mark MUL's existing HI0/LO0 defs dead in FastISel (#227230)
DeltaFile
+19-0llvm/test/CodeGen/Mips/Fast-ISel/mul-dead-hilo.ll
+4-4llvm/lib/Target/Mips/MipsFastISel.cpp
+23-42 files

LLVM/project 74c86a7 — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-scc-cmp.mir fcmp.f16.ll

[AMDGPU] Use S_CMP to lower a copy of a lane mask to SCC (#221445)

SIFixSGPRCopies lowers a copy of a lane mask to SCC as an AND with EXEC,
whose destination register is created by the pass and is always dead.
The AND with EXEC is only needed because SCC has to be "any active lane
is set". When the lane mask already has 0 in the bits of all inactive
lanes, that is just "the mask is non-zero", which S_CMP computes without
needing a destination register. In some cases the S_CMP can be optimized
away later by SIInstrInfo::optimizeCompareInstr.

Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+506-495llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+364-364llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+171-168llvm/test/CodeGen/AMDGPU/llvm.log10.ll
+171-168llvm/test/CodeGen/AMDGPU/llvm.log.ll
+129-129llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
+224-0llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-scc-cmp.mir
+1,565-1,32441 files not shown
+2,256-1,89047 files

LLVM/project 6ccc491 — clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety safety.cpp

[LifetimeSafety] Fix off-by-one crash in `lifetime_capture_by` argument indexing (#227231)

Fixes an off-by-one crash in the lifetime_capture_by attribute handling.
The CapturingArgIdx is already an index into the full Args array, but
the code was incorrectly creating a CallArgs array (dropping the first
argument for instance methods) and then indexing into it with
CapturingArgIdx, causing incorrect argument access and potential
out-of-bounds crashes.

Currently crashes at head: https://godbolt.org/z/7rYczK1z6
DeltaFile
+23-0clang/test/Sema/LifetimeSafety/safety.cpp
+6-5clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+29-52 files

LLVM/project b9a4527 — llvm/include/llvm/Transforms/Scalar GVN.h, llvm/lib/Transforms/Scalar GVN.cpp

[GVN] Move `GVNPass` and `GVNLeaderMap` out of `GVN.h` and into 'GVN.cpp` (NFC)

Rename `GVNPass` to `GVNPassImpl`. Leave in the header only
the class for interfacing with the pass manager.
DeltaFile
+402-85llvm/lib/Transforms/Scalar/GVN.cpp
+0-335llvm/include/llvm/Transforms/Scalar/GVN.h
+402-4202 files

LLVM/project fa3d170 — llvm/lib/Transforms/IPO FunctionAttrs.cpp, llvm/test/Transforms/FunctionAttrs noalias.ll

[FunctionAttrs] Infer noalias through a null check. (#226956)

Only comparing against null does not captures provenance and should not
impact whether a pointer is noalias or not.

This enables noalias inference in a number of cases for malloc-like
functions:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1459.

PR: https://github.com/llvm/llvm-project/pull/226956
DeltaFile
+192-0llvm/test/Transforms/FunctionAttrs/noalias.ll
+5-1llvm/lib/Transforms/IPO/FunctionAttrs.cpp
+197-12 files

LLVM/project 724557a — llvm/test/CodeGen/X86 two-address-subreg-to-reg-kill.mir

X86: Fix missing ... separator between functions in mir test (#227228)

The update_mir_test_checks output is incomplete so the later functions
here were really manually checked.
DeltaFile
+36-14llvm/test/CodeGen/X86/two-address-subreg-to-reg-kill.mir
+36-141 files

LLVM/project f69661d — llvm/lib/Analysis BlockFrequencyInfoImpl.cpp, llvm/test/Analysis/BlockFrequencyInfo many-successors-order.ll

[BFI] Use MapVector in combineWeightsByHashing. (#227027)

combineWeightsByHashing iterated over a DenseMap, which depends on the
hash. Use MapVector to get consistent results, independent of index
type/values.

This is mainly to ensure consistency between users that use different
index numbers, i.e. used for IR BFI and VPlan's use.

PR: https://github.com/llvm/llvm-project/pull/227027
DeltaFile
+156-0llvm/test/Analysis/BlockFrequencyInfo/many-successors-order.ll
+3-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+159-62 files

LLVM/project dfb1297 — clang/include/clang/AST DeclCXX.h, clang/lib/AST DeclFriend.cpp

[C++20] [Modules] Load friends for classes in ADL (#219094)

Close https://github.com/llvm/llvm-project/issues/218228

The root cause of the problem is the corresponding friend is not loaded
at the point of ADL.

This patch tries to fix this simply by loading the friends at the point
of ADL. Note that this may be best efficient if there are a lot of
friends. We just think it is rare. If it is really possible, we can
change the structure of friends from a list to a name lookup table.

(cherry picked from commit 01aedf3b34325ad2f74a77325a2da9a7e36ae3d5)
DeltaFile
+95-0clang/test/Modules/pr218228.cppm
+11-0clang/lib/Sema/SemaLookup.cpp
+9-0clang/lib/AST/DeclFriend.cpp
+4-0clang/include/clang/AST/DeclCXX.h
+119-04 files

LLVM/project 6abb6e7 — clang/include/clang/AST Redeclarable.h DeclCXX.h, clang/lib/Interpreter IncrementalParser.cpp

[clang-repl] Keep earlier declarations alive when an input fails (#218149)

Fixes #201844

(cherry picked from commit 37e2844bc4681c69f61cbb55376a29ae0445c18c)
DeltaFile
+127-54clang/lib/Interpreter/IncrementalParser.cpp
+102-0clang/test/Interpreter/failed-input-keeps-redecls.cpp
+1-0clang/include/clang/AST/Redeclarable.h
+1-0clang/include/clang/AST/DeclCXX.h
+231-544 files

LLVM/project 532fa5a — lld/test/MachO arm64-x1.s, llvm/include/llvm/TargetParser Triple.h

[ld64.lld, llvm-otool] Minimal arm64e.x1 support (#222721)

Just enough for `llvm-otool -hv` to dump the cpusubtype, and for
ld64.lld to not reject .tbd files that have an arm64e.x1 slice.

This is needed to link mac binaries against the macOS 27 SDK.

(cherry picked from commit b8007a8e4020b8bca2b12e941660e10bf5bf6716)
DeltaFile
+20-0lld/test/MachO/arm64-x1.s
+17-0llvm/test/tools/llvm-readobj/macho-arm64e_x1.test
+7-0llvm/tools/llvm-objdump/MachODump.cpp
+6-0llvm/lib/Object/MachOObjectFile.cpp
+6-0llvm/include/llvm/TargetParser/Triple.h
+5-0llvm/lib/TargetParser/Triple.cpp
+61-06 files not shown
+73-112 files

LLVM/project 8f747d6 — lldb/include/lldb/Host SafeMachO.h

[lldb] Attempt to unbreak building lldb with the 27 SDK (#223090)

See this report:
https://github.com/llvm/llvm-project/pull/222721#issuecomment-5636252813

(cherry picked from commit 923902483c7a6937a65b9679795a247ae2a2ad56)
DeltaFile
+1-0lldb/include/lldb/Host/SafeMachO.h
+1-01 files

LLVM/project ee66426 — llvm/include/llvm/TargetParser Triple.h, llvm/include/llvm/TextAPI Architecture.h

Avoid abi break
DeltaFile
+21-4llvm/include/llvm/TextAPI/Architecture.h
+3-2llvm/include/llvm/TargetParser/Triple.h
+24-62 files

LLVM/project 9efc50a — llvm/utils extract_symbols.py

[Windows] Don't export clang::interp symbols for plugins (#221295)

With `LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON`, `clang.exe` built from the
23.x release branch exports 66679 symbols on x86_64 Windows, over the
65535 limit of the PE export table, so it no longer links:

```
lld-link: error: too many exported symbols (got 66679, max 65535)
```

For comparison, the same configuration on 22.1.8 exports 65465 symbols,
so the headroom was already almost gone.

`clang::interp`, the constant expression bytecode interpreter, accounts
for roughly 4500 of the exported symbols (counted with `llvm-readobj
--coff-exports` on a linked aarch64 23.1.0 `clang.exe`). Its headers
live in `clang/lib/AST/ByteCode` and are not installed; the only mention
in a public header is the forward declaration of `interp::Context` in
`ASTContext.h`. A plugin cannot call into it, so there is no reason to

    [21 lines not shown]
DeltaFile
+4-0llvm/utils/extract_symbols.py
+4-01 files

LLVM/project c0f43c8 — llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp, llvm/test/CodeGen/X86 llvm.frexp.ll

[SelectionDAG] Fix result index and vector width in unrollExpandedOp (#225886)

Fixes #224127.

In `DAGTypeLegalizer::WidenVectorResult`, `unrollExpandedOp` computes
the unroll count and widened vector type from the result being legalized
(`ResNo`) rather than unconditionally using result 0. For multi-result
nodes where result types differ (e.g. `ISD::FFREXP`), this prevents
mismatched vector widths and preserves the correct result index from
`DAG.UnrollVectorOp`.

Assisted-by: Claude

---------

Co-authored-by: Demetrios Chiuratto Agourakis <agourakis82 at gmail.com>
(cherry picked from commit 5cab2963e13496c272a482145b11796e9e26eeb4)
DeltaFile
+129-15llvm/test/CodeGen/X86/llvm.frexp.ll
+8-5llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+137-202 files

LLVM/project b3aebbf — .ci all_requirements.txt, mlir/python requirements.txt

[CI] Bump python dependencies

Bump CI deps for 23.x specifically. Bumping everything like we did in
main causes some test failures in MLIR due to some changes that happened
there after the 23.x branch was cut.
DeltaFile
+76-55.ci/all_requirements.txt
+1-1mlir/python/requirements.txt
+77-562 files

LLVM/project cdebdbd — llvm/lib/Transforms/Vectorize VPlanUtils.h VPlanUtils.cpp, llvm/test/Transforms/LoopVectorize/VPlan vplan-printing-branch-weights.ll record-execution-frequencies.ll

[VPlan] Use BlockFrequencyInfo's full mass for execution frequencies. (#227006)

Use BlockFrequencyInfo's full mass instead of custom 2^63 for "always
execute".

This updates VPlan's block frequencies to match BFI.

PR: https://github.com/llvm/llvm-project/pull/227006
DeltaFile
+93-93llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
+11-11llvm/test/Transforms/LoopVectorize/VPlan/record-execution-frequencies.ll
+5-5llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-branch-weights.ll
+6-3llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+1-6llvm/lib/Transforms/Vectorize/VPlanUtils.h
+4-3llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+120-1211 files not shown
+123-1247 files

FreeBSD/ports b163bb5 — net/samba424 Makefile, net/samba424/files patch-source3_modules_vfs__freebsd.c

net/samba424: fix sys_proc_fd_path() buffer type in vfs_freebsd.c

At all 5 call sites, vfs_freebsd.c declared a plain "char buf[PATH_MAX]"
and passed its address to sys_proc_fd_path(fd, &buf). Samba 4.24
changed that function's signature to
"char *sys_proc_fd_path(int fd, struct sys_proc_fd_path_buf *buf)",
so "&buf" here has type "char (*)[PATH_MAX]", not the expected
"struct sys_proc_fd_path_buf *" - a type mismatch left over from an
incomplete migration of this patch to the new API (the sibling
patch-source3_modules_vfs__zfsacl.c was already updated correctly).

Change all 5 declarations to "struct sys_proc_fd_path_buf buf;" to
match the current signature.

PR:     298884
Co-Authored-By: Claude Sonnet 5 <noreply at anthropic.com>
Approved by:    samba (kiwi)
DeltaFile
+5-5net/samba424/files/patch-source3_modules_vfs__freebsd.c
+1-1net/samba424/Makefile
+6-62 files

LLVM/project 37e3bed — offload/test/ompt/tracing/large-mapping-sync-tracing large_mapping_sync_tracing.cpp

[OMPT] Add test for synchronous path w/ OMPT

Assisted-by: Claude Code
DeltaFile
+81-0offload/test/ompt/tracing/large-mapping-sync-tracing/large_mapping_sync_tracing.cpp
+81-01 files

LLVM/project cd82297 — offload/test/ompt/tracing/veccopy-ompt-selective-tracing-dataop callbacks.h, offload/test/ompt/tracing/veccopy-ompt-selective-tracing-kernel callbacks.h

[OpenMP] Add OMPT device tracing tests

Assisted-by: Claude Code
DeltaFile
+340-0offload/test/ompt/tracing/veccopy-ompt-selective-tracing-dataop/callbacks.h
+340-0offload/test/ompt/tracing/veccopy-ompt-selective-tracing-kernel/callbacks.h
+333-0offload/test/ompt/tracing/veccopy-ompt-target-emi-tracing-dag/callbacks.h
+332-0offload/test/ompt/tracing/veccopy-ompt-target-tracing-flush-only-on-buffer-full/callbacks.h
+332-0offload/test/ompt/tracing/veccopy-ompt-target-tracing-flush-only-on-api-use/callbacks.h
+332-0offload/test/ompt/tracing/veccopy-ompt-target-data-tracing-emi/callbacks.h
+2,009-010 files not shown
+3,284-016 files

LLVM/project d9d3e0f — offload/test/ompt/tracing/veccopy-ompt-ctor-1/Inputs callbacks.h, offload/test/ompt/tracing/veccopy-ompt-target-default-device veccopy-ompt-target-default-device.cpp callbacks.h

[Openmp] Add OMPT device tracing support tests

These tests concern functionality used by parts of the OMPT device
tracing implementation.

Assisted-by: Claude Code
DeltaFile
+324-0offload/test/ompt/tracing/veccopy-ompt-target-devices/callbacks.h
+322-0offload/test/ompt/tracing/veccopy-ompt-ctor-1/Inputs/callbacks.h
+286-0offload/test/ompt/tracing/veccopy-ompt-target-default-device/callbacks.h
+136-0offload/test/ompt/tracing/veccopy-ompt-target-translate-time/callbacks.h
+131-0offload/test/ompt/tracing/veccopy-ompt-target-type-device-time/callbacks.h
+87-0offload/test/ompt/tracing/veccopy-ompt-target-default-device/veccopy-ompt-target-default-device.cpp
+1,286-05 files not shown
+1,613-011 files

LLVM/project 0811695 — offload/libompaccsupport PluginManager.cpp device.cpp, offload/libomptarget exports.ompt interface.cpp

[Offload][OMPT] Add tracing orchestration and libomptarget integration

Wire the OMPT device tracing subsystem into libomptarget, completing the tracing pipeline from record production through buffer management to tool delivery. Include the synchronous fallback and initialization fixes in the integration that requires them.

Assisted-by: Claude Code
DeltaFile
+55-22offload/libompaccsupport/device.cpp
+31-13offload/libomptarget/interface.cpp
+12-7offload/plugins-nextgen/common/src/PluginInterface.cpp
+14-1offload/libompaccsupport/PluginManager.cpp
+13-0offload/libomptarget/OpenMP/OMPT/Callback.cpp
+11-0offload/libomptarget/exports.ompt
+136-433 files not shown
+152-479 files

LLVM/project e442096 — offload/libompaccsupport PluginManager.cpp, offload/libomptarget CMakeLists.txt

[Offload][OMPT] Route device callbacks through OmptProfilerTy

Compile and activate the complete OMPT profiler backend now that its tracing dependencies are available, and remove the superseded direct callback dispatch from PluginInterface in the same transition.

Assisted-by: Claude Code
DeltaFile
+22-0offload/plugins-nextgen/common/CMakeLists.txt
+14-0offload/libomptarget/CMakeLists.txt
+7-0offload/libompaccsupport/PluginManager.cpp
+43-03 files