LLVM/project 6a785bfllvm/include/llvm/CodeGen RegisterScavenging.h, llvm/lib/Target/AArch64 AArch64FrameLowering.cpp

Revert "[AArch64] Allocate two emergency spill slots for MTE to fix register …" (#186900)

Reverts llvm/llvm-project#186505

Breaks buildbot
DeltaFile
+0-190llvm/test/CodeGen/AArch64/memtag-stg-loop-reg-pressure.mir
+0-28llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+0-2llvm/include/llvm/CodeGen/RegisterScavenging.h
+0-2203 files

LLVM/project e363764clang/docs ReleaseNotes.rst, clang/lib/Sema SemaTemplate.cpp

[Clang][Sema] Fix crash in CheckNonTypeTemplateParameterType with invalid type (#186200)

When a non-type template parameter has a type containing an undeduced
placeholder type that is invalid (e.g., a function returning a
function), `SubstAutoTypeSourceInfoDependent` can return null if the
type is invalid. `CheckNonTypeTemplateParameterType` was not handling
this case and would dereference the null pointer.

Fixes #177545
DeltaFile
+4-1clang/lib/Sema/SemaTemplate.cpp
+5-0clang/test/SemaTemplate/deduction-crash.cpp
+1-0clang/docs/ReleaseNotes.rst
+10-13 files

LLVM/project 2bf97callvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU wmma-coexecution-valu-hazards.mir

[AMDGPU] Include TRANS instructions in WMMA coexecution hazard checking
DeltaFile
+26-0llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
+2-2llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+28-22 files

GhostBSD/ports e3a3abbsysutils/pc-sysinstall distinfo Makefile

sysutils/pc-sysinstall: update to 2026031600
DeltaFile
+3-3sysutils/pc-sysinstall/distinfo
+2-2sysutils/pc-sysinstall/Makefile
+5-52 files

LLVM/project e5012fa.ci all_requirements.txt, mlir/python requirements.txt

test fp8
DeltaFile
+55-47.ci/all_requirements.txt
+85-1mlir/test/python/execution_engine.py
+24-5mlir/python/mlir/runtime/np_to_memref.py
+2-3mlir/python/requirements.txt
+166-564 files

LLVM/project cb8c65aclang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h UnsafeBufferUsageExtractor.h, clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h UnsafeBufferUsageBuilder.h

Reapply "[clang][ssaf] Add UnsafeBufferUsage summary extractor for functions (#182941)"

This reverts commit 53739c75a8720aaef8032628267ed4fd050af038.

Reapply after module dependency issues are resolved.

(rdar://169191570)
DeltaFile
+384-39clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+281-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+0-120clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+104-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+40-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
+0-32clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
+809-1913 files not shown
+827-1919 files

LLVM/project 9e4dddcllvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/PhaseOrdering/X86 vector-reductions.ll

[SimplifyCFG] Allow phi folding for boolean logic over non-equality (#185124)

Phi folding is suppressed over binary operation inputs in order to avoid
interfering with switch formation.

After #183692, code (for example, Rust's ASCII character classification)
may get an `or` hoisted up into it, which suppresses
`foldTwoEntryPHINode`. This then produces branching code where
previously we generated straightline code.

To maintain switch formation while preventing any binops from breaking
phi folding, restrict the scenario in which Phi folding is suppressed to
binops of *equality* ops. This should mesh with switch statements, which
require an explicit list of values, while not breaking optimization over
> / < etc. which would never have been promoted to switches in the first
place.

Fixes: rust-lang/rust#153504
DeltaFile
+15-19llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+4-5llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
+1-5llvm/test/Transforms/SimplifyCFG/switch-transformations-no-lut.ll
+1-5llvm/test/Transforms/SimplifyCFG/extract-cost.ll
+21-344 files

FreeBSD/src 83d7a49sys/vm vm_fault.c

vm_fault: expand KASSERT message in vm_fault_populate_cleanup

Include index values and object pointer in the diagnostic
to improve debugging of pindex mismatches.

No functional change.

Signed-off-by: Isa Isoux <isa at isoux.org>
Reviewed by: kib, pouria
Pull Request: https://github.com/freebsd/freebsd-src/pull/2038
DeltaFile
+4-1sys/vm/vm_fault.c
+4-11 files

OpenZFS/src 4655bddtests/test-runner/bin zts-report.py.in, tests/zfs-tests/tests/functional/l2arc l2arc_multidev_throughput_pos.ksh l2arc_multidev_scaling_pos.ksh

ZTS: Fix L2ARC test reliability

Disable depth cap (L2ARC_EXT_HEADROOM_PCT=0) in DWPD and multidev tests
that rely on predictable marker advancement during fill and measurement.

Rework multidev_throughput to verify sustained throughput across three
consecutive windows instead of asserting an absolute rate. Use larger
cache devices (8GB) to avoid frequent global marker resets
(smallest_capacity/8), fill ARC before attaching caches to provide a
stable evictable buffer pool, and lower write_max to 8MB/s to avoid
exhausting data within the measurement period.

Use destroy_pool (log_must_busy) instead of log_must zpool destroy
to handle transient EBUSY during teardown.

Remove l2arc_multidev_throughput_pos from the expected-fail list in
zts-report.py.in.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>

    [2 lines not shown]
DeltaFile
+58-50tests/zfs-tests/tests/functional/l2arc/l2arc_multidev_throughput_pos.ksh
+25-20tests/zfs-tests/tests/functional/l2arc/l2arc_multidev_scaling_pos.ksh
+4-1tests/zfs-tests/tests/functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh
+4-1tests/zfs-tests/tests/functional/l2arc/l2arc_dwpd_reimport_pos.ksh
+0-1tests/test-runner/bin/zts-report.py.in
+91-735 files

LLVM/project 51937fcflang/include/flang/Lower CUDA.h, flang/lib/Lower ConvertVariable.cpp CUDA.cpp

Revert "[flang][OpenMP] Use cuf.alloc for privatization of CUDA Fortr… (#186891)

…an device arrays (#185984)"

This reverts commit fb18d570b0466ca2a401aba11d6e58b206aebc1a.

This PR caused compilation failures with allocatable arrays, reverting
now for more investigation.
DeltaFile
+8-41flang/lib/Lower/Support/PrivateReductionUtils.cpp
+0-31flang/test/Lower/OpenMP/delayed-privatization-cuda-device-array.cuf
+11-10flang/lib/Lower/ConvertVariable.cpp
+0-18flang/lib/Lower/CUDA.cpp
+0-8flang/include/flang/Lower/CUDA.h
+19-1085 files

LLVM/project 347cb74llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU wmma-coexecution-valu-hazards.mir

[AMDGPU] Include TRANS instructions in WMMA coexecution hazard checking
DeltaFile
+26-0llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
+2-2llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+28-22 files

LLVM/project 538fcbcllvm/cmake/modules AddLLVM.cmake

[clang][CMake] Fix ODR violation with LLVM_LINK_LLVM_DYLIB (#186689)

After 42b638c6b40d ("Propagate dependencies to OBJECT libraries in
add_llvm_library"), obj.clangSupport now inherits clangSupport's
LINK_LIBRARIES via target_link_libraries, which includes libLLVM.so when
LLVM_LINK_LLVM_DYLIB is enabled.

Previously the obj.clangSupport alias path was harmless because the
OBJECT library carried no link dependencies. Now, aliasing
clangSupport_tablegen to obj.clangSupport in DYLIB mode causes
clang-tblgen to transitively link libLLVM.so, while also having LLVM
symbols compiled in statically — triggering an ASan ODR violation on
globals like llvm::vfs::FileSystem::ID.

Fix by only propagating parts of the compile interface instead of the
full link interface - INTERFACE_INCLUDE_DIRECTORIES and
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES. Also add a TODO to consider
replacing with target_link_libraries($<COMPILE_ONLY:tgt>) once minimum
CMake version is 3.27 or higher.
DeltaFile
+10-7llvm/cmake/modules/AddLLVM.cmake
+10-71 files

FreeNAS/freenas 4238d12src/middlewared/middlewared/api/v26_0_0 zfs_resource_crud.py, src/middlewared/middlewared/api/v27_0_0 zfs_resource_crud.py

Update API
DeltaFile
+124-111src/middlewared/middlewared/plugins/zfs/tier.py
+5-18src/middlewared/middlewared/plugins/pool_/dataset.py
+11-2src/middlewared/middlewared/plugins/zfs/query_impl.py
+11-0src/middlewared/middlewared/plugins/pool_/dataset_query_utils.py
+6-0src/middlewared/middlewared/api/v27_0_0/zfs_resource_crud.py
+6-0src/middlewared/middlewared/api/v26_0_0/zfs_resource_crud.py
+163-1316 files

LLVM/project 9da068blldb/cmake/modules LLDBConfig.cmake

[lldb] Default LLDB_ENABLE_MTE to OFF when Sanitizers are enabled. (#186884)

The MTE launcher complicates injecting the sanitizer runtime libraries.
DeltaFile
+13-9lldb/cmake/modules/LLDBConfig.cmake
+13-91 files

FreeBSD/ports 1bdb8a6devel/ioncube Makefile distinfo

devel/ioncube: Update 14.4.1 => 15.5.0

Changelog:
2026-03-12 15.5.0:
- Fix for a bug with getStaticVariables in PHP 8 where the reflection
  function did not get the updated values of the static variables after
  the subject function was run.
2025-12-02 15.5.0 BETA (update):
- Fix for beta PHP 8.5.0 loaders where a missing symbol error would
  occur if PHP was configured with --enable-rtld-now.
2025-11-21 15.5.0 BETA:
- Beta release of PHP 8.5 loaders for Linux that will run encoded files
  produced by the PHP 8.4, 8.3 & 8.2 Encoders. These loaders should only
  be used for testing and not in production.
2025-10-14 15.0.0:
- New loaders required to run files produced by the version 15 encoders.
  In particular, the PHP 8.4 Loader will run files produced by the V15i
  PHP 8.4 encoder as well as files produced by the PHP 8.2 and 8.3
  encoders. The new loaders will also run files produced by earlier

    [6 lines not shown]
DeltaFile
+5-9devel/ioncube/Makefile
+5-5devel/ioncube/distinfo
+10-142 files

LLVM/project 013f254llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize epilog-vectorization-reductions.ll

[LV] Simplify and unify resume value handling for epilogue vec. (#185969)

This patch tries to drastically simplify resume value handling for the
scalar loop when vectorizing the epilogue.

It uses a simpler, uniform approach for updating all resume values in
the scalar loop:

1. Create ResumeForEpilogue recipes for all scalar resume phis in the
main loop (the epilogue plan will have exactly the same scalar resume
phis, in exactly the same order)
2. Update ::execute for ResumeForEpilogue to set the underlying value
when executing. This is not super clean, but allows easy lookup of the
generated IR value when we update the resume phis in the epilogue. Once
we connect the 2 plans together explicitly, this can be removed.
3. Use the list of ResumeForEpilogue VPInstructions from the main loop
to update the resume/bypass values from the epilogue.

This simplifies the code quite a bit, makes it more robust (should fix

    [11 lines not shown]
DeltaFile
+62-196llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+102-4llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
+95-4llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
+14-14llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
+14-14llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
+4-10llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
+291-24228 files not shown
+362-33034 files

LLVM/project 0fa9a77clang/test/CodeGen/AArch64/neon bf16-getset.c

[Clang][AArch64] Update comments in tests (nfc) (#186885)
DeltaFile
+10-2clang/test/CodeGen/AArch64/neon/bf16-getset.c
+10-21 files

LLVM/project b503da8clang/lib/CodeGen CodeGenModule.cpp

use parseTargetAttr on x86 and AIX to parse target_clones string
DeltaFile
+5-5clang/lib/CodeGen/CodeGenModule.cpp
+5-51 files

OpenBSD/src K5FVXpgsys/dev/pci/drm/amd/amdgpu amdgpu_drv.c amdgpu.h

   Our framebuffer might be in "stolen" memory that is lost (and filled with
   garbage) after a hibernate.  So clear it and redraw the framebuffer
   contents.

   ok jsg@
VersionDeltaFile
1.68+15-1sys/dev/pci/drm/amd/amdgpu/amdgpu_drv.c
1.31+2-0sys/dev/pci/drm/amd/amdgpu/amdgpu.h
+17-12 files

LLVM/project ddaaf4fllvm/lib/Transforms/Utils InlineFunction.cpp, llvm/test/Transforms/Inline ret_attr_nofpclass.ll ret_attr_align_and_noundef.ll

[Inliner] Fix return attribute propagation across multiple return sites (#186076)

Fixes #185159 

This patch fixes a bug in `AddReturnAttributes()` where propagated
return attributes could incorrectly leak across multiple return sites in
the callee being inlined.

`AddReturnAttributes()` walks the callee's return instructions and tries
to backward-propagate return attributes from the callsite to the
returned call when the callee directly returns a call result. However,
the propagated attribute builders were updated in-place while iterating
over return sites. As a result, attributes refined for one return site
could be reused when
processing a later return site. This is incorrect because each return
site should be handled independently, starting from the original
callsite attributes.

This patch ensures that propagated return attributes are reinitialized
for each return site, so propagation is computed independently per
returned call.
DeltaFile
+39-0llvm/test/Transforms/Inline/ret_attr_nofpclass.ll
+37-0llvm/test/Transforms/Inline/ret_attr_align_and_noundef.ll
+5-3llvm/lib/Transforms/Utils/InlineFunction.cpp
+81-33 files

FreeNAS/freenas f4fc7d5src/middlewared/middlewared/alert/source quota.py, src/middlewared/middlewared/plugins sysdataset.py

NAS-140297 / 26.0.0-BETA.2 / Use truenas_os_pyutils (by anodos325) (#18472)

Several functions that were originally provided by middlewared/utils
were moved to the truenas_os_pyutils module so that they can be cleanly
consumed by python modules outside of the middleware repository without
causing odd inter-dependencies. This commit finishes up the moves by
swapping out imports at call sites and removing redundant tests.

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

Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
DeltaFile
+0-828tests/unit/test_atomic_replace.py
+5-294src/middlewared/middlewared/utils/mount.py
+1-187src/middlewared/middlewared/utils/io.py
+0-80tests/unit/test_io.py
+3-3src/middlewared/middlewared/alert/source/quota.py
+2-2src/middlewared/middlewared/plugins/sysdataset.py
+11-1,39426 files not shown
+38-1,42132 files

LLVM/project ffbdec6libclc/clc/lib/generic/math clc_pow_base.inc clc_pow.inc

libclc: Update pow functions

The 4 flavors of pow were originally ported from rocm
device libs between c45ec604f593fcb03d770f4398142d2446017f68,
cc5c65b2c25e0a82fbad95f0ce3bb5262e29eeee, and
fe8e00bc3c65115b2e3d2a43cf3d0d756a934a52. Update to a newer
version. Additionally expose fast variants for use by the
libcall optimizer (e.g, __pow_fast) for float types.
DeltaFile
+542-0libclc/clc/lib/generic/math/clc_pow_base.inc
+0-438libclc/clc/lib/generic/math/clc_pow.inc
+0-414libclc/clc/lib/generic/math/clc_powr.inc
+0-405libclc/clc/lib/generic/math/clc_rootn.inc
+0-402libclc/clc/lib/generic/math/clc_pown.inc
+78-0libclc/clc/lib/generic/math/clc_ep.inc
+620-1,65923 files not shown
+990-1,72629 files

FreeNAS/freenas d5ed5adsrc/freenas/usr/bin install-dev-tools

NAS-140313 / 26.0.0-BETA.2 / Add flake8 deps as well when dev tools are installed (by sonicaj) (#18471)
DeltaFile
+11-2src/freenas/usr/bin/install-dev-tools
+11-21 files

LLVM/project 45e80d9clang/lib/Sema SemaConcept.cpp, clang/test/SemaTemplate concepts.cpp

add test case and explanation for regression introduced by #183010
DeltaFile
+9-0clang/test/SemaTemplate/concepts.cpp
+6-1clang/lib/Sema/SemaConcept.cpp
+15-12 files

LLVM/project ed76cbcllvm/include/llvm/CodeGen RegisterScavenging.h, llvm/lib/Target/AArch64 AArch64FrameLowering.cpp

[AArch64] Allocate two emergency spill slots for MTE to fix register … (#186505)

…scavenger crash

When `-sanitize=memtag-stack` is enabled and the compiler optimizes
contiguous ST2Gi instructions into an MTE loop (via
`TagStoreEdit::emitLoop`), it spawns two new post-RA virtual registers
simultaneously:
1. `BaseReg`
2. `SizeReg`

Under extremely high register pressure (such as in Swift async
continuation thunks, where almost all registers are kept live), the
Register Scavenger must fall back to using emergency spill slots to
assign physical registers to `BaseReg` and `SizeReg`.

Prior to this patch, `determineCalleeSaves` assumed that a maximum of
one register would ever need to be scavenged at a time. It either
allocated a single emergency spill slot, or bypassed the allocation

    [20 lines not shown]
DeltaFile
+190-0llvm/test/CodeGen/AArch64/memtag-stg-loop-reg-pressure.mir
+28-0llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+2-0llvm/include/llvm/CodeGen/RegisterScavenging.h
+220-03 files

LLVM/project 1a85eb9clang/test/SemaTemplate concepts.cpp

Address feedback
DeltaFile
+16-2clang/test/SemaTemplate/concepts.cpp
+16-21 files

FreeBSD/src aa15df4sys/sys queue.h

queue.h: Reorder STAILQ_INSERT_TAIL

The current implementation briefly violates the tail invariant.  This
is not usually an issue, but if an insert is in flight when a panic
occurs, we may then trip the invariant while dumping core.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    obiwac, olce, jhb
Differential Revision:  https://reviews.freebsd.org/D55819
DeltaFile
+2-1sys/sys/queue.h
+2-11 files

LLVM/project a12b612clang/test/CodeGenHLSL/resources res-array-global-unbounded.hlsl, llvm/include/llvm/Analysis DXILResource.h

[HLSL] Use 0 to represent unbounded resources (#186022)

SPIRV backend uses 0 to represent unbounded arrays. This patch makes
unbounded resources be represented with 0 when binding them, as well as
makes sure the backend uses OpTypeRuntimeArray to represent such cases.
Fix: https://github.com/llvm/llvm-project/issues/183367
DeltaFile
+29-0llvm/test/CodeGen/SPIRV/hlsl-resources/unbounded-arr.ll
+5-7llvm/lib/Analysis/DXILResource.cpp
+6-6clang/test/CodeGenHLSL/resources/res-array-global-unbounded.hlsl
+8-3llvm/include/llvm/Analysis/DXILResource.h
+2-3llvm/lib/Target/DirectX/DXILOpLowering.cpp
+4-0llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+54-1912 files not shown
+70-3518 files

LLVM/project 58ffc93llvm/lib/Transforms/InstCombine InstCombinePHI.cpp, llvm/test/Transforms/PhaseOrdering phi-protected-field-ptr.ll

Address review comments

Created using spr 1.3.6-beta.1
DeltaFile
+42-0llvm/test/Transforms/PhaseOrdering/phi-protected-field-ptr.ll
+2-4llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
+44-42 files

LLVM/project cb92017clang/lib/Sema SemaTemplateDeduction.cpp, clang/test/CXX/expr/expr.prim/expr.prim.req nested-requirement.cpp

[clang] use canonical arguments for checking function template constraints

This is a partial revert of #161671, restoring the original behaviour
where the canonical template arguments are used for function template
constraint checking in diagnostics.

This reverts the fix from #183010, which attempted to fix #182344
but it causes regressions. These regressions now have test cases included.

The attempt at #183010 is flawed because in the general case we can't
check satisfaction for constraints which have unsubstituted template arguments,
even if they don't affect the canonical type (ie they are purely syntactical),
because these types can still turn out to be invalid after substitution.

This is a problem when directly evaluating a concept specialization, but
it's not a problem with other template specializations because the as-written
types are preserved, and will be later substituted, and any failures here will
cause the program to be ill-formed anyway.


    [13 lines not shown]
DeltaFile
+4-4clang/test/SemaCXX/cxx2b-deducing-this.cpp
+3-4clang/lib/Sema/SemaTemplateDeduction.cpp
+2-2clang/test/SemaTemplate/concepts-recursive-inst.cpp
+1-1clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
+10-114 files