LLVM/project 8717831clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety safety.cpp

[LifetimeSafety] Do not propagate origins to `InitListExpr` when first `Init` is a type with no origins (#203772)

Fixes #203768
DeltaFile
+6-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+5-0clang/test/Sema/LifetimeSafety/safety.cpp
+11-12 files

LLVM/project 6c6e905llvm/lib/Target/AMDGPU AMDGPUMemoryUtils.cpp AMDGPUMemoryUtils.h

[NFC][AMDGPU] Generalize some LDS MemoryUtils (#195611)

In preparation for upcoming work, I need some functions used by the LDS
lowering
system to work on any GV. I removed the LDS specific queries inside
these functions
and replaced them with functors passed by the caller, so these utility
functions can be reused.

I also cleaned-up a few things that weren't up to code, such as
lowercase variable names.
DeltaFile
+30-36llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
+37-9llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
+20-17llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+21-8llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
+7-6llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+115-765 files

LLVM/project 7f361d1llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU fcanonicalize.ll

AMDGPU/GlobalISel: RegBankLegalize rules for pk_f64 fcanonicalize
DeltaFile
+464-793llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
+6-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+470-7942 files

LLVM/project 47e041cbolt/test/perf2bolt perf_brstack.test perf_test.test

[BOLT] Add test for perf2bolt perfscript profile output (#201792)

Perf2bolt is able to generate perfscript output format via
`--profile-format=perfscript` from perf.data, and use it as an input
with `-ps`.

Updated the existing 'perf_test.test' and 'perf_brstack.test' to cover the
generation and parsing of the 'perfscript' format.

Depends on:
https://github.com/llvm/llvm-project/pull/171144
https://github.com/llvm/llvm-project/pull/163785
DeltaFile
+11-5bolt/test/perf2bolt/perf_brstack.test
+4-0bolt/test/perf2bolt/perf_test.test
+15-52 files

LLVM/project c33a47emlir/lib/Transforms/Utils CSE.cpp

[mlir][CSE] fix use-after-free (#203849)

There was a use-after free introduced accidentally by e79e056ee982
[mlir][CSE] Remove the opsToErase container and immediately delete dead
ops. (#203702) This change fixes it by moving the copy of the location
(the "use") to before the deletion of the op (the "free").

Locating the use-after-free has been assisted by Claude Code. The
implementation of the fix has been done without it.

Signed-off-by: Stefan Schuermans <schuermans at roofline.ai>
DeltaFile
+31-31mlir/lib/Transforms/Utils/CSE.cpp
+31-311 files

FreeBSD/ports 3aa9462devel/electron37 Makefile, devel/electron38 Makefile

devel/electron{37,38,39,40,41,42}: Unbreak chromium tarball extraction on -current

When a user tries to build electron using a 16-current jail, it fails
in the extract phase with the following error:

tar: Pathname can't be converted from UTF-8 to current locale
tar: Error exit delayed from previous errors

This is due to the ports framework sets the environment variable
LC_ALL to C, which causes tar to fail to extract files containing
non-ASCII characters in their names. To cope with this, EXTRACT_ENV
was introduced in the commit 98103f194302. Utilizing this variable
when extracting the chromium tarball fixes the error.

PR:             296017
Reported by:    Dan Kotowski <dan.kotowski at a9development.com>,
                fgorter <fgorter at gmail.com>
DeltaFile
+1-1devel/electron42/Makefile
+1-1devel/electron37/Makefile
+1-1devel/electron38/Makefile
+1-1devel/electron39/Makefile
+1-1devel/electron40/Makefile
+1-1devel/electron41/Makefile
+6-66 files

LLVM/project f17e59bllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 combine-gfni.ll gfni-funnel-shifts.ll

[X86] Fold nested VGF2P8AFFINEQB instructions (#195210)

Given that `vgf2p8affineqb` can perform arbitrary XOR permutations of
the input, all nested affine transformations can be performed with a
single instruction. The matrix for such fold can be calculated by
permuting the sub-matrix by the super-matrix at a byte, rather than bit,
granularity. This patch:

- Folds nested `vgf2p8affineqb` instructions with constant matrix
operands into one.
- Folds the sub-immediate by performing a affine transformation by the
super-matrix.
- Can fold non-splat super-matrices if the sub-immediate is zero.
- Includes test coverage for complex nested affine transformations,
verifying the correctness of the folded matrix and immediate.
- Includes negative test coverage for when the fold isn't possible.

Fixes #179607
DeltaFile
+373-0llvm/test/CodeGen/X86/combine-gfni.ll
+93-0llvm/lib/Target/X86/X86ISelLowering.cpp
+8-12llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
+474-123 files

LLVM/project 0493b55llvm/lib/Target/AArch64 SVEIntrinsicOpts.cpp AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve-extract-vector-to-predicate-store.ll sve-insert-vector-to-predicate-load.ll

[LLVM][CodeGen][SVE] Reimplement SVE VLS predicate load/store transformation as DAG combines. (#203314)

This is part of an effort to remove SVEIntrinsicOpts.
DeltaFile
+1-167llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
+131-21llvm/test/CodeGen/AArch64/sve-extract-vector-to-predicate-store.ll
+111-29llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
+58-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+6-0llvm/lib/Target/AArch64/AArch64Subtarget.h
+307-2175 files

LLVM/project af76b6dclang/lib/AST/ByteCode Descriptor.cpp InitMap.h

[clang][bytecode] Update what primtypes need a Descriptor ctor func (#203834)

Now that IntegralAP is allocated via InterpState/Program, we don't need
to initialize it. The same is true for Floating.

And with the new `InitMapPtr` being zero by default as well, we don't
need ctor funcs for primitive array types if the element type doesn't
need one.
DeltaFile
+6-14clang/lib/AST/ByteCode/Descriptor.cpp
+1-1clang/lib/AST/ByteCode/InitMap.h
+7-152 files

FreeNAS/freenas 61be2ffsrc/middlewared/middlewared/plugins pwenc.py

NAS-141234 / 26.0.0-RC.1 / Drop VM and container devices on pwenc secret reset (by Qubad786) (#19136)

## Problem
vm_device.attributes and container_device.attributes are
sa.JSON(encrypted=True). When the pwenc secret that wrote them is gone,
every read decrypts to {}, which then fails the dtype-discriminated
attributes validation and makes vm.query / container.query raise for
every caller — including port.ports_mapping, which cascades into the
Containers pool validator.

## Solution
Delete both tables in the pwenc reset routine, matching how other rows
whose only payload is an encrypted blob are handled (keychain, cloud
credentials, ACME DNS). The blobs are unrecoverable once the key is
gone, and attributes has no valid empty form to fall back to. vm_vm and
container_container have no encrypted columns, so they're left intact to
preserve the user's VM / container list for reconfiguration.

Original PR: https://github.com/truenas/middleware/pull/19135

Co-authored-by: M. Rehan <mrehanlm93 at gmail.com>
DeltaFile
+4-0src/middlewared/middlewared/plugins/pwenc.py
+4-01 files

LLVM/project b010c80llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU fcanonicalize.ll

AMDGPU/GlobalISel: RegBankLegalize rules for pk_f64 fcanonicalize
DeltaFile
+6-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+2-2llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
+8-32 files

FreeBSD/ports 563ee7amisc/mate-user-guide Makefile

misc/mate-user-guide: add GitHub releases site hint to PORTSCOUT

Move PORTSCOUT after USE_* variables and add the GitHub releases site
hint to help portscout find new versions.
DeltaFile
+1-1misc/mate-user-guide/Makefile
+1-11 files

LLVM/project c32a4cfllvm/lib/CodeGen/AsmPrinter AsmPrinter.cpp, llvm/lib/IR Constants.cpp

[LLVM][Constants] Return ConstantFP(+0.0) as the NULL value for floating point types. (#200465)
DeltaFile
+8-8llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
+7-3llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+6-2llvm/lib/IR/Constants.cpp
+3-2llvm/test/CodeGen/SPIRV/hlsl-resources/Gather.ll
+1-2llvm/test/Transforms/InstCombine/frexp.ll
+1-1llvm/test/CodeGen/SPIRV/hlsl-intrinsics/discard.ll
+26-186 files

LLVM/project fd015faclang-tools-extra/clang-tidy/altera UnrollLoopsCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix altera-unroll-loops crash on multi-decl for init (#203865)

Avoid calling `DeclStmt::getSingleDecl()` unless the declaration
statement contains a single declaration.

Closes https://github.com/llvm/llvm-project/issues/203856
DeltaFile
+53-0clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
+4-2clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.rst
+62-23 files

LLVM/project ba7be62mlir/include/mlir/Dialect/EmitC/IR EmitC.td, mlir/lib/Dialect/EmitC/IR EmitC.cpp

[mlir][emitc] Remove deprecated apply op (#203712)

The `emitc.apply` op has been deprecated since it was replaced by
'emitc.address_of` and `emitc.dereference`. This patch removes this op
from the dialect.

See PSA:

https://discourse.llvm.org/t/psa-emitc-replacing-the-emitc-apply-operation/89057
DeltaFile
+0-50mlir/test/Target/Cpp/global.mlir
+3-39mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
+0-39mlir/test/Dialect/EmitC/form-expressions.mlir
+0-38mlir/test/Target/Cpp/expressions.mlir
+0-30mlir/lib/Dialect/EmitC/IR/EmitC.cpp
+2-22mlir/lib/Target/Cpp/TranslateToCpp.cpp
+5-2185 files not shown
+6-26911 files

LLVM/project 3912742libcxx/test/libcxx transitive_includes.gen.py clang_tidy.gen.py, libcxx/test/libcxx-03 clang_tidy.gen.py transitive_includes.gen.py

[libc++] Enable header tests under all configurations (#202543)

Most of the header tests (e.g. double_include) only check that headers
are includable or have properties that hold all the time, regardless of
any active carve-outs. In accordance with that, this patch enables said
tests even when carve-outs are active.

Only the transitive inclusion test is kept disabled by carve-outs
because the transitive includes can't reasonably be maintained
when carve-outs are active.

Related to #202246 and #202001.
DeltaFile
+27-1libcxx/test/libcxx/transitive_includes.gen.py
+0-24libcxx/utils/libcxx/header_information.py
+1-2libcxx/test/libcxx-03/clang_tidy.gen.py
+1-2libcxx/test/libcxx-03/transitive_includes.gen.py
+1-2libcxx/test/libcxx/clang_tidy.gen.py
+0-2libcxx/test/libcxx-03/system_reserved_names.gen.py
+30-339 files not shown
+30-5115 files

FreeBSD/ports 4716519net-im/openfire pkg-plist distinfo, net-im/openfire/files extrapatch-xmppserver_src_main_java_org_jivesoftware_database_JNDIDataSourceProvider.java

net-im/openfire: Update 5.0.5 => 5.1.0

Changelog:
https://download.igniterealtime.org/openfire/docs/5.1.0/changelog.html

PR:             296063
Sponsored by:   UNIS Labs
DeltaFile
+131-64net-im/openfire/pkg-plist
+0-11net-im/openfire/files/extrapatch-xmppserver_src_main_java_org_jivesoftware_database_JNDIDataSourceProvider.java
+5-5net-im/openfire/distinfo
+1-2net-im/openfire/Makefile
+137-824 files

OpenBSD/src g0hNC7Ssys/dev/pci/drm/amd/amdgpu amdgpu_gem.c

   fix indentation in local version of amdgpu_gem_fault()
VersionDeltaFile
1.16+3-3sys/dev/pci/drm/amd/amdgpu/amdgpu_gem.c
+3-31 files

LLVM/project 745a8e0clang/lib/AST ExprConstant.cpp, clang/lib/AST/ByteCode InterpBuiltinBitCast.cpp

[clang][ExprConst] Don't pass invalid decls to ASTRecordLayout (#203817)

It will assert.

Fixes https://github.com/llvm/llvm-project/issues/203755
DeltaFile
+8-0clang/test/AST/ByteCode/builtin-bit-cast.cpp
+2-0clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
+2-0clang/lib/AST/ExprConstant.cpp
+12-03 files

LLVM/project b786376llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Transforms/InstCombine/AArch64 sve-intrinsic-ptrue.ll sve-intrinsics-ptest.ll

[LLVM][InstCombine][SVE] Canonicalise sve.ptrue(SV_POW2) to splat(i1 true). (#203556)

SVE vectors must be a power-of-two in length, making pow2 synonymous
with all.
DeltaFile
+157-0llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-ptrue.ll
+6-33llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
+5-2llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+168-353 files

pkgng/pkgng cdf7f9fsrc install.c

install: Support -X for --register-only

This was documented but not actually implemented.

Fixes:          cb296b1d164f ("pkg_install: Add --register-only")
DeltaFile
+1-1src/install.c
+1-11 files

Linux/linux 0e06118fs/udf super.c

Merge tag 'pull-fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/viro/vfs

Pull udf fix from Al Viro:
 "I just noticed that a udf fix had been sitting in #fixes since
  February; still applicable, Jan's Acked-by applied. Very belated pull
  request"

* tag 'pull-fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/viro/vfs:
  udf: fix nls leak on udf_fill_super() failure
DeltaFile
+1-1fs/udf/super.c
+1-11 files

LLVM/project 8e517e1llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize/AArch64 scalable-vectorization-cost-tuning.ll force-scalable-vectorization-always.ll

[LV][NFC] Use APFloat class when printing out costs per lane (#201824)

At the moment it's difficult to auto-generate CHECK lines for
cost model output because the floating point value printed
out along with "Estimated cost per lane" is fragile and can
vary from target to target. See PR #201580 for an example of
this. Also, I would like to start using auto-generation of
cost model CHECK lines more often in tests to make life
easier for developers to update them.

Following reviewer feedback, I've solved this by using the
APFloat class to create a deterministic and consistent way
of printing out a floating point value across all targets.
However, this also then leads to significant changes in many
tests, in particular there are a very large number of changes
in the WebAssembly/memory-interleave.ll file. Rather than
manually edit and change every single case I have opted for
auto-generation of cost CHECK lines instead. This requires
adding a new debug-only flag called

    [5 lines not shown]
DeltaFile
+1,825-1,328llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
+464-207llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
+28-22llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
+25-15llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
+8-7llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
+11-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2,361-1,5811 files not shown
+2,371-1,5827 files

LLVM/project 4866f4dflang/lib/Lower/OpenMP OpenMP.cpp

add assert
DeltaFile
+2-0flang/lib/Lower/OpenMP/OpenMP.cpp
+2-01 files

LLVM/project e1c5a33lldb/include/lldb/Core SearchFilter.h, lldb/include/lldb/Target LanguageRuntime.h

[lldb][NFC] Use unique_ptr for SearchFilter (#203239)

Originally we did not have a better option, but now ownership of
SearchFilters is more precisely represented using unique_ptrs. If, in
the future, any of the use sites here truly requires shared ownership,
the conversion at the site that requires it is trivial (it can even be
done implicitly).
DeltaFile
+49-55lldb/source/Core/SearchFilter.cpp
+16-16lldb/include/lldb/Core/SearchFilter.h
+2-3lldb/source/Target/LanguageRuntime.cpp
+1-1lldb/include/lldb/Target/LanguageRuntime.h
+68-754 files

FreeBSD/ports f552a49Mk bsd.port.mk

Mk/bsd.port.mk: Use SETENV for EXTRACT_ENV

Follow the precedent set by the other *_ENV variables in the ports
framework.  The only practical effect is a very slight slowdown.

Fixes:          98103f194302 ("Mk/bsd.port.mk: Add EXTRACT_ENV")
Requested by:   arrowd
MFH:            2026Q2
Reviewed by:    mat
Differential Revision:  https://reviews.freebsd.org/D57302

(cherry picked from commit 1223a9d807e5855d72c8af0cdb3152241cf9c97f)
DeltaFile
+1-1Mk/bsd.port.mk
+1-11 files

FreeBSD/ports 1223a9dMk bsd.port.mk

Mk/bsd.port.mk: Use SETENV for EXTRACT_ENV

Follow the precedent set by the other *_ENV variables in the ports
framework.  The only practical effect is a very slight slowdown.

Fixes:          98103f194302 ("Mk/bsd.port.mk: Add EXTRACT_ENV")
Requested by:   arrowd
MFH:            2026Q2
Reviewed by:    mat
Differential Revision:  https://reviews.freebsd.org/D57302
DeltaFile
+1-1Mk/bsd.port.mk
+1-11 files

LLVM/project dcda5e1llvm/include/llvm/IR IntrinsicsAVR.td CMakeLists.txt, llvm/lib/Target/AVR AVRInstrInfo.td

[AVR] Add intrinsics for builtin functions (#203212)
DeltaFile
+70-0llvm/test/CodeGen/AVR/avr-intrinsics.ll
+24-0llvm/include/llvm/IR/IntrinsicsAVR.td
+11-0llvm/lib/Target/AVR/AVRInstrInfo.td
+1-0llvm/include/llvm/IR/CMakeLists.txt
+1-0llvm/include/llvm/IR/Intrinsics.td
+107-05 files

LLVM/project 8b10fdfmlir/lib/Dialect/Bufferization/Transforms StaticMemoryPlannerAnalysis.cpp, mlir/test/Dialect/Bufferization/Transforms static-memory-planner-arena-arg.mlir

[mlir][bufferization] Add error for memref return types

Add validation to reject functions with memref return types, as static
memory planning is incompatible with returning memrefs. In allocate mode,
the arena is freed at function exit, making returned memrefs invalid. In
arg mode, returning a memref from the input arena violates typical memory
ownership patterns.

When a function has memref return types, the pass:
1. Emits a clear error message
2. Fails gracefully without transforming the function
3. Preserves the original IR

This prevents silent bugs where returned memrefs would point to freed or
external memory.

Changes:
- Add return type validation at start of runOnOperation()
- Check all result types for MemRefType

    [2 lines not shown]
DeltaFile
+12-0mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
+11-0mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-arena-arg.mlir
+23-02 files

LLVM/project f30ab18mlir/include/mlir/Dialect/Bufferization/Transforms Passes.td, mlir/lib/Dialect/Bufferization/Transforms StaticMemoryPlannerAnalysis.cpp

[mlir][bufferization] Add arena-mode pass option (allocate vs arg)

Add arena-mode pass option to control how the shared arena is obtained:
- 'allocate' (default): Creates arena via memref.alloc within the function
- 'arg': Uses function's first argument as the pre-allocated arena

The 'arg' mode is useful when the arena is pre-allocated externally and
passed to the function, enabling use cases like pre-allocated scratch
buffers or memory pools.

In 'arg' mode, the pass validates that:
1. The context is a function operation
2. The function has at least one argument
3. The first argument is memref<...xi8>

If validation fails, the pass emits an error and fails gracefully.

Changes:
- Add arena-mode option to Passes.td with default 'allocate'

    [3 lines not shown]
DeltaFile
+43-12mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
+31-18mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
+34-0mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-arena-arg.mlir
+108-303 files