LLVM/project 4f057d9clang/docs ReleaseNotes.md, clang/include/clang/Basic DiagnosticASTKinds.td

[Clang][Sema] Error message refers to `__begin1` with `constexpr` variable in range-based for loop (#218145)

Fixes #211926

When a range-based for loop variable is declared `constexpr`, its
initializer is the compiler-built `*__begin1`, which normally can't be a
constant expression. The constant evaluator reports what it sees at the
leaf — `read of non-constexpr variable '__begin1' is not allowed in a
constant expression`, plus a `declared here` note pointing at the loop's
colon — without saying what `__begin1` is.

Both constant evaluators now emit a single dedicated note when they read
one of the loop's implicit variables, so the existing `constexpr
variable 'x' must be initialized by a constant expression` error is
followed by `'__begin1'-variable of range-based 'for' loop is not a
constant expression`, pointed at the loop it belongs to. The note takes
the variable as an argument, so it names `__end1` or `__range1` when
those are what was read. No Sema changes. A constexpr loop variable that
*is* valid (CWG1204, when `operator*` never reads the iterator) still

    [4 lines not shown]
DeltaFile
+75-0clang/test/SemaCXX/constant-expression-cxx11.cpp
+8-0clang/test/AST/ByteCode/cxx11.cpp
+8-0clang/lib/AST/ByteCode/Interp.cpp
+6-0clang/docs/ReleaseNotes.md
+5-0clang/lib/AST/ExprConstant.cpp
+3-0clang/include/clang/Basic/DiagnosticASTKinds.td
+105-01 files not shown
+108-07 files

LLVM/project a61b2a5llvm/test/CodeGen/AMDGPU sdwa-ops.mir

[AMDGPU] Address #220798 reviewer comments for sdwa-ops.mir test13
DeltaFile
+2-5llvm/test/CodeGen/AMDGPU/sdwa-ops.mir
+2-51 files

LLVM/project 290c4d7llvm/docs LibFuzzer.md

[docs][libFuzzer] Fix `-timeout_exitcode` and `-error_exitcode` descriptions (#221776)
DeltaFile
+5-3llvm/docs/LibFuzzer.md
+5-31 files

FreeNAS/freenas bbc5271src/middlewared/middlewared/alert/source container_migration.py, src/middlewared/middlewared/plugins/container migrate.py

Alert when container migration skips legacy VM-type incus instances
DeltaFile
+39-0src/middlewared/middlewared/plugins/container/migrate.py
+23-0src/middlewared/middlewared/alert/source/container_migration.py
+2-0src/middlewared/middlewared/pytest/unit/alert/inventory/applicability.txt
+64-03 files

LLVM/project ff62a2amlir/cmake/modules AddMLIR.cmake, mlir/docs ReleaseNotes.md

[MLIR][CMake] Remove aggregate generated-header ordering

Remove the broad mlir-headers prerequisites now that direct links and
HEADER_LIBS relationships provide generated-header ordering.

Keep own generators and intentional source-generation dependencies explicit.
Document migration options for downstream projects that relied on aggregate
ordering.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+0-32mlir/lib/CAPI/Dialect/CMakeLists.txt
+11-0mlir/docs/ReleaseNotes.md
+0-9mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
+4-4mlir/cmake/modules/AddMLIR.cmake
+0-6mlir/lib/Conversion/ArithAndMathToAPFloat/CMakeLists.txt
+0-6mlir/lib/CMakeLists.txt
+15-57122 files not shown
+16-382128 files

LLVM/project 78dc636mlir/cmake/modules AddMLIR.cmake, mlir/docs CMakeInfrastructure.md

[MLIR][CMake] Add HEADER_LIBS and document CMake infrastructure

Add HEADER_LIBS as a flat list of literal library targets for generated headers
included without a link relationship. Resolve aliases and forward references,
accept imported libraries as already generated, follow nested HEADER_LIBS and
link interfaces, and reject missing, executable, utility, or generator-
expression entries with configure-time diagnostics. Represent header-only
edges in the common internal INTERFACE graph, including cyclic relationships.

Record links added by mlir_target_link_libraries for the same deferred ordering.
Add explicit, commented HEADER_LIBS edges for every audited header-only include
that is not covered by mlir-generic-headers, and keep this facility a rare
layering escape hatch.

Document dialects, interfaces, passes, PDLL, generated documentation, library
visibility, C API aggregation, tools, exports, standalone consumers, and the
generated-file model. Add a CMake fixture covering cycles, aliases, conditions,
LINK_ONLY, imported and ignored items, post-hoc links, and invalid providers.
Build each consumer independently from a clean state to verify transitive

    [5 lines not shown]
DeltaFile
+343-0mlir/docs/CMakeInfrastructure.md
+192-0mlir/test/CMake/header-dependencies.test
+110-1mlir/cmake/modules/AddMLIR.cmake
+12-0mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+10-1mlir/lib/Rewrite/CMakeLists.txt
+7-0mlir/test/CMake/lit.local.cfg
+674-214 files not shown
+712-720 files

LLVM/project d506b59llvm/include/llvm/IR PatternMatch.h, llvm/lib/Transforms/InstCombine InstCombineSelect.cpp

[InstCombine] support trunc condition in foldSelectICmpAndAnd (#220690)

Fixes regression seen in test in https://github.com/llvm/llvm-project/pull/184182
DeltaFile
+101-11llvm/test/Transforms/InstCombine/select-of-bittest.ll
+40-25llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+11-0llvm/include/llvm/IR/PatternMatch.h
+152-363 files

LLVM/project 6cec9b2llvm/cmake/modules TableGen.cmake AddLLVM.cmake, llvm/test lit.site.cfg.py.in

[CMake] Propagate generated-header prerequisites through link dependencies

The goal is to simplify and make more robust the handling of generated-header
(TableGen) dependencies. Today these dependencies are managed manually, which
is fragile: missing edges often surface only in parallel builds, and sometimes
in incremental builds.

Record each llvm_add_library DEPENDS list independently from the cumulative
LLVM_COMMON_DEPENDS value, and mark public TableGen targets as generated-header
prerequisites. A deferred traversal follows every direct non-INTERFACE link and
transitive link interface, resolves aliases, and conservatively extracts target
candidates from generator expressions.

Represent generated-header prerequisites with internal INTERFACE libraries.
Let CMake propagate their utility dependencies through the header graph, and
reuse each provider's interface to handle cycles without computing closures.
Disabled generator-expression arms may generate extra headers, but cannot
introduce a provider library or object cycle.


    [10 lines not shown]
DeltaFile
+151-14llvm/cmake/modules/AddLLVM.cmake
+80-0llvm/test/CMake/generated-header-dependencies.test
+6-0llvm/cmake/modules/TableGen.cmake
+2-0llvm/test/lit.site.cfg.py.in
+2-0llvm/test/CMake/lit.local.cfg
+241-145 files

LLVM/project 15bf5e5llvm/lib/Transforms/InstCombine InstCombineInternal.h InstCombineAndOrXor.cpp

[InstCombine] Prepare to support trunc nuw condition in foldAndOrOfICmps (NFC) (#221555)

this is a NFC rewrite to be able to support Trunc nuw by using m_IcmpLike matcher in foldAndOrOfICmps
DeltaFile
+230-197llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+9-5llvm/lib/Transforms/InstCombine/InstCombineInternal.h
+239-2022 files

LLVM/project 55e4d32llvm/lib/Transforms/Utils LoopPeel.cpp LoopUtils.cpp, llvm/test/Transforms/LoopUnroll/branch-weights-freq peel-last-iteration.ll

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+26-36llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+21-38llvm/test/Transforms/LoopUnroll/branch-weights-freq/peel-last-iteration.ll
+0-6llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
+1-4llvm/lib/Transforms/Utils/LoopUtils.cpp
+1-3llvm/lib/Transforms/Utils/LoopPeel.cpp
+49-875 files

LLVM/project 2c6393ellvm/lib/Transforms/Scalar LICM.cpp JumpTableToSwitch.cpp, llvm/lib/Transforms/Utils SimplifyCFG.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+26-36llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+21-38llvm/test/Transforms/LoopUnroll/branch-weights-freq/peel-last-iteration.ll
+7-10llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
+4-8llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
+1-6llvm/lib/Transforms/Scalar/LICM.cpp
+1-6llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
+60-1047 files not shown
+65-13713 files

LLVM/project f967b05llvm/test/Transforms/LoopVectorize/AArch64 predicated-costs.ll force-target-instruction-cost.ll, llvm/test/Transforms/LoopVectorize/X86 invariant-load-gather.ll replicate-uniform-call.ll

isUnformAcrossVFsAndUFs is sufficient, no need for "is available"
DeltaFile
+300-90llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
+49-14llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
+31-13llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
+6-29llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
+20-7llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
+19-7llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
+425-1608 files not shown
+528-19714 files

LLVM/project 8062516llvm/test/Transforms/LoopVectorize div-exact.ll if-pred-stores.ll, llvm/test/Transforms/LoopVectorize/VPlan dissolve-replicate-regions.ll

[VPlan] Skip branch term in masks for some preserved uniform edges
DeltaFile
+6-425llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
+36-129llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
+9-123llvm/test/Transforms/LoopVectorize/div-exact.ll
+25-76llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
+19-80llvm/test/Transforms/LoopVectorize/X86/predicated-replicate-feeding-cast.ll
+7-59llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
+102-89235 files not shown
+370-1,36841 files

LLVM/project 9af193cllvm/lib/Transforms/Vectorize VPlanPredicator.cpp, llvm/test/Transforms/LoopVectorize hoist-predicated-loads.ll if-pred-stores.ll

[VPlan][Predicator] Preserve some uniform control flow

Implements "Partial Control-Flow Linearization" by Simon Moll and
Sebastian Hack.

That should allow implementation of an alternative to
https://github.com/llvm/llvm-project/pull/141900 based on this
functionality (see BOSCC in the paper).
DeltaFile
+1,514-204llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+323-129llvm/test/Transforms/LoopVectorize/predicator.ll
+184-128llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
+234-16llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+81-45llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
+102-10llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
+2,438-53240 files not shown
+3,129-78746 files

LLVM/project c210e22llvm/lib/Transforms/Vectorize VPlanPredicator.cpp

Implement non-uniform part of partial linearization algorithm
DeltaFile
+58-13llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+58-131 files

LLVM/project fc83369llvm/lib/Transforms/Vectorize VPlanRecipes.cpp

Don't crash dumping malformed phis
DeltaFile
+20-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+20-01 files

LLVM/project d0435b1llvm/lib/Transforms/Vectorize VPlanPredicator.cpp, llvm/test/Transforms/LoopVectorize predicator.ll

I think we need to freeze
DeltaFile
+195-173llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+26-13llvm/test/Transforms/LoopVectorize/predicator.ll
+14-0llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+6-5llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
+4-2llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
+4-2llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
+249-1953 files not shown
+257-1999 files

LLVM/project c494b36llvm/lib/Transforms/Vectorize VPlanPredicator.cpp

[AI] Move convertPhisToBlends to post-linearization
DeltaFile
+27-9llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+27-91 files

LLVM/project 665cf06llvm/lib/Transforms/Vectorize VPlanUtils.h VPlanUtils.cpp, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

Luke's reconstructSSA (#212209)
DeltaFile
+268-0llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+37-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+9-0llvm/lib/Transforms/Vectorize/VPlanUtils.h
+314-03 files

LLVM/project 525d9f5llvm/test/Transforms/LoopVectorize predicator.ll, llvm/test/Transforms/LoopVectorize/VPlan predicator.ll

Copy to LoopVectorize/predicator.ll and generate CHECKs in both
DeltaFile
+1,074-0llvm/test/Transforms/LoopVectorize/predicator.ll
+547-1llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+1,621-12 files

LLVM/project b779f91llvm/test/Transforms/LoopVectorize/VPlan predicator.ll

Create actual test functions (AI-assisted)
DeltaFile
+478-25llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+478-251 files

LLVM/project de6abbfllvm/test/Transforms/LoopVectorize/VPlan predicator.ll

Predicator tests for uniform control flow preservation
DeltaFile
+168-0llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+168-01 files

LLVM/project 9756cbfllvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

[DAGCombiner] Use canonical shift amount type when decomposing a multiply. (#222211)

This allows the shifts to CSE with other shifts that are already in
canonical form.
DeltaFile
+7-7llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+7-71 files

LLVM/project 3462664llvm/lib/Transforms/Vectorize VPlanPredicator.cpp, llvm/test/Transforms/LoopVectorize predicator.ll

[VPlan] Use compact RPOT instead of just RPOT

This is necessary for the future partial linearization change, but I
wanted to commit this bit independently because it changes some tests on
itself and could potentially provide more blend optimization
opportunites (at least I hoped) but that didn't seem to happen.
DeltaFile
+56-13llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+32-32llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+4-4llvm/test/Transforms/LoopVectorize/predicator.ll
+4-4llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
+96-534 files

LLVM/project e669e1ellvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Drop `removeCommonBlendMask` from `simplifyBlends` - noop now
DeltaFile
+0-19llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+0-191 files

LLVM/project 216a882llvm/lib/Transforms/Vectorize VPlanPredicator.cpp, llvm/test/Transforms/LoopVectorize pr43166-fold-tail-by-masking.ll

[VPlan] Optimize away common blend mask in predicator
DeltaFile
+12-105llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+18-28llvm/test/Transforms/LoopVectorize/RISCV/pr154103.ll
+15-15llvm/test/Transforms/LoopVectorize/VPlan/RISCV/cse-loads-evl.ll
+5-16llvm/test/Transforms/LoopVectorize/pr43166-fold-tail-by-masking.ll
+16-2llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+8-7llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
+74-17324 files not shown
+123-23130 files

LLVM/project 602c260llvm/lib/Transforms/Vectorize VPlanPredicator.cpp, llvm/test/Transforms/LoopVectorize reduction-inloop.ll dereferenceable-info-from-assumption-constant-size.ll

[VPlan] Make blend operands non-reorderable to optimize their masks in predicator

Sort the incoming edges according to RPOT order so that we could use
simpler source block mask instead of the edge mask.
DeltaFile
+78-118llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
+105-10llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+28-18llvm/test/Transforms/LoopVectorize/RISCV/pr154103.ll
+14-24llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+15-21llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
+18-18llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
+258-20951 files not shown
+522-43357 files

LLVM/project f0919adllvm/test/Transforms/LoopVectorize/VPlan predicator.ll

Remove tests from predicator.ll
DeltaFile
+0-352llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+0-3521 files

LLVM/project 17092bdllvm/lib/Target/SystemZ SystemZCallingConv.h

[SystemZ] XPLINK64: use AExt for 32-bit pointer formals (#222350)

CC_XPLINK64_Pointer was setting LocInfo=ZExt, promising the optimizer
that the caller had zero-extended bit 32. Evidence from Open XL 1.1 and
2.2 shows that callers do not consistently zero-extend `__ptr32`
arguments
-- Open XL 1.1 emits nothing on the caller side; Open XL 2.2 only
zero-extends in the explicit cast case. Every actual use of a 31-bit
pointer goes through `addrspacecast` which emits `LLGTR` to clear bit 32
at
the point of use, so no callee relies on the register being clean at the
parameter boundary. Change LocInfo to AExt to accurately reflect that
only the low 32 bits are valid.

Extracted from #206833 per reviewer request.
DeltaFile
+1-1llvm/lib/Target/SystemZ/SystemZCallingConv.h
+1-11 files

LLVM/project 84c6f31lldb/source/ValueObject DILEval.cpp, lldb/test/API/commands/frame/var-dil/expr/CreateValueFromExpression TestCreateValueFromExpression.py

[lldb] Fix DIL losing StackFrame context after casting to pointer
DeltaFile
+10-3lldb/test/API/commands/frame/var-dil/expr/CreateValueFromExpression/TestCreateValueFromExpression.py
+3-5lldb/source/ValueObject/DILEval.cpp
+13-82 files