LLVM/project 43b2c29llvm/include/llvm/CodeGen Rematerializer.h, llvm/lib/CodeGen Rematerializer.cpp

[CodeGen] Add initial multi-def rematerialization support

This significantly improves support for rematerializing registers
with more than one definition. In particular, this includes cases where
different lanes of a register are defined over multiple instructions.

There are still a few restrictions that can hopefully be relaxed in the
future.

- All defining instructions must be part of the same rematerialization
  region.
- No pure user of the register (i.e., an MI that doesn't also defined a
  part of the register) must read the register before its last
  definition.

These constraints ensure that the underlying DAG representation
maintained by the rematerializer is still valid, making this a
relatively incremental improvement.
DeltaFile
+287-140llvm/lib/CodeGen/Rematerializer.cpp
+211-10llvm/unittests/CodeGen/RematerializerTest.cpp
+75-44llvm/include/llvm/CodeGen/Rematerializer.h
+43-43llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
+66-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+1-1llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+683-2396 files

LLVM/project 88eb4d1clang/lib/CIR/CodeGen CIRGenExpr.cpp, clang/test/CIR/CodeGen cxx2b-static-call-operator.cpp

[CIR] Lower C++23 static call/subscript operators correctly

C++23 static `operator()` (P1169R4) and static `operator[]` (P2589R1)
still produce a CXXOperatorCallExpr in the AST, but the resolved
CXXMethodDecl is static, so they should be lowered as ordinary static
function calls -- not routed through the implicit-object member call
path.

CIRGenFunction::emitCallExpr previously dispatched any
CXXOperatorCallExpr whose callee was a CXXMethodDecl into
emitCXXOperatorMemberCallExpr, which asserts md->isInstance().  Every
C++23 static-operator call therefore hit:

    Assertion `md->isInstance() &&
        "Trying to emit a member call expr on a static method!"' failed

This dominates libcxx-with-CIR failures (~33% of fails in a partial
`std/` run on the May 2026 ClangIR baseline) since recent libcxx
threads `static constexpr operator()` through its functor types.

    [27 lines not shown]
DeltaFile
+158-0clang/test/CIR/CodeGen/cxx2b-static-call-operator.cpp
+24-8clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+182-82 files

GhostBSD/install-station 708aed3install_station use_zfs.py interface_controller.py

Fix ZFS page validation and Next button reliability

Replace the swap size text entry with a SpinButton capped to the
selected disk size, consolidate _disk_count_valid and _update_next_button
into a single _is_ready method that checks all preconditions, update the
Next button from on_password_changed so it disables when passwords stop
matching, re-enable the Next button in back_page so navigating back no
longer leaves it stuck disabled, reduce the left panel gap, and fix a
startup crash from mirror_selection firing before swap_entry was created.
DeltaFile
+37-52install_station/use_zfs.py
+1-1install_station/interface_controller.py
+38-532 files

NetBSD/pkgsrc-wip eddc387glslang distinfo, spirv-headers distinfo

vulkan-sdk: update to 1.4.350.0
DeltaFile
+0-17spirv-tools/patches/patch-source_opt_decoration__manager.cpp
+3-4spirv-tools/distinfo
+3-3vulkan-tools/distinfo
+3-3glslang/distinfo
+3-3spirv-headers/distinfo
+3-3vulkan-headers/distinfo
+15-333 files not shown
+22-389 files

LLVM/project 72af17ellvm/include/llvm/Support SourceMgr.h, llvm/lib/Support SourceMgr.cpp

[Support] Faster line and column lookup in SourceMgr (#195881)

Previously line and column lookup worked by finding the line number by
utilizing a cache of offsets of line ends. And finding the column number
by linear search of a previous newline. This is quite slow and caused
some issues after merging #174566 and was fixed by wrapping all calls of
the slow function in a `if (ParserContext)` in #180068. This is not
ideal, since when the parser context would be supplied the parsing of
files with long lines will take ages.

This PR implements a fix to the problem by utilizing the computed
offsets for line ends to calculate the position on the current line.
Thus improving the asymptotic complexity of the getLineAndColumn method
from O(log l + c) to O(log l) (l is number of lines, c is column
position of the pointer). While not adding any overhead.

The second commit in this PR just updates two comments that I thought
were misleading.


    [2 lines not shown]
DeltaFile
+21-18llvm/lib/Support/SourceMgr.cpp
+11-6llvm/include/llvm/Support/SourceMgr.h
+1-6mlir/lib/AsmParser/Lexer.cpp
+1-6mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
+34-364 files

LLVM/project cdefc14llvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp InstrumentorConfigFile.cpp

[Instrumentor] Allow multiple config files with different filters

To instrument different functions in different ways we allow to provide
multiple config files now. Each file will result in one instrumentation
run. Multiple files can be passed via command line option or listed in
a "summary" file that is passed via command line option (to keep the
command length managable).
DeltaFile
+52-14llvm/lib/Transforms/IPO/Instrumentor.cpp
+56-0llvm/test/Instrumentation/Instrumentor/multi_config.ll
+20-20llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
+37-0llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
+16-0llvm/test/Instrumentation/Instrumentor/multi_config_4.json
+12-2llvm/include/llvm/Transforms/IPO/Instrumentor.h
+193-3615 files not shown
+247-4621 files

LLVM/project e91b574llvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add a global function regexp to limit the instrumentation (#197577)

Only functions that match the "function_regex" will be instrumented, or
if they have the instrumentation attribute.

Duplicate of https://github.com/llvm/llvm-project/pull/196234 because I
messed up the stacked commits.
DeltaFile
+55-0llvm/test/Instrumentation/Instrumentor/function_regex.ll
+27-12llvm/lib/Transforms/IPO/Instrumentor.cpp
+26-0llvm/test/Instrumentation/Instrumentor/function_regex.json
+26-0llvm/test/Instrumentation/Instrumentor/bad_function_regex.json
+11-0llvm/test/Instrumentation/Instrumentor/bad_function_regexp.ll
+7-1llvm/include/llvm/Transforms/IPO/Instrumentor.h
+152-131 files not shown
+155-147 files

LLVM/project 2b3db47mlir/include/mlir/Dialect/XeGPU/Transforms XeGPULayoutImpl.h, mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp XeGPUPropagateLayout.cpp

[MLIR][XeGPU] Honor convert_layout's input_layout when resolving layout conflict (#194935)

This PR changes getConsumerLayoutAt now to return the input_layout
attribute directly when the consuming op is xegpu.convert_layout, since
its required operand layout is explicitly declared rather than inferable
from the result. This lets ResolveLayoutConflicts detect a real mismatch
against the producer's layout and insert a bridging convert_layout,
instead of being masked by the fallback that returned the producer's own
layout.
DeltaFile
+59-34mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
+12-11mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+8-1mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+2-1mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
+81-474 files

LLVM/project 450a5eaclang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageExtractor.cpp

[SSAF] Let UnsafeBufferUsageExtractor & PointerFlowExtractor ignore templates

Templates are ignored for two reasons:

- Template instantiations are still handled. Template facts can be
  inferred from their instantiations.
- Template ASTs may have extra kinds of expressions (e.g.,
  ParenListExpr) that are hard to handle because of their dependent
  nature.
DeltaFile
+33-1clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+33-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+6-0clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+6-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+78-14 files

LLVM/project c096a10clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

[SSAF] Increase Expr kind coverage in EntityPointerLevelTranslator

Add support for more kinds of Expr that can be translated to
EntityPointerLevel(s).

Additionally, fix bugs in PointerFlowExtractor discovered by tests
added for the new Expr kinds.
DeltaFile
+114-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+101-8clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+67-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+9-6clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+291-144 files

NetBSD/pkgsrc-wip e09f6d1R PLIST distinfo, R/patches patch-configure.ac

(math/R) updated 4.5.3 to 4.6.0
DeltaFile
+29-6R/PLIST
+16-7R/patches/patch-configure.ac
+4-4R/distinfo
+2-1R/Makefile
+51-184 files

NetBSD/pkgsrc ykSodgvdoc CHANGES-2026

   doc: Updated math/R to 4.5.3
VersionDeltaFile
1.3007+2-1doc/CHANGES-2026
+2-11 files

LLVM/project 7033c31llvm/include/llvm/CodeGen Rematerializer.h, llvm/lib/CodeGen Rematerializer.cpp

[CodeGen] Add initial multi-def rematerialization support

This significantly improves support for rematerializing registers
with more than one definition. In particular, this includes cases where
different lanes of a register are defined over multiple instructions.

There are still a few restrictions that can hopefully be relaxed in the
future.

- All defining instructions must be part of the same rematerialization
  region.
- No pure user of the register (i.e., an MI that doesn't also defined a
  part of the register) must read the register before its last
  definition.

These constraints ensure that the underlying DAG representation
maintained by the rematerializer is still valid, making this a
relatively incremental improvement.
DeltaFile
+287-140llvm/lib/CodeGen/Rematerializer.cpp
+211-10llvm/unittests/CodeGen/RematerializerTest.cpp
+75-44llvm/include/llvm/CodeGen/Rematerializer.h
+43-43llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
+65-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+1-1llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+682-2396 files

NetBSD/pkgsrc 9PDztGJmath/R distinfo Makefile

   (math/R) Updated 4.5.2 to 4.5.3, another update may follow,:

   CHANGES IN R 4.5.3:

     UTILITIES:

       * tools/fetch-recommended can be used instead of
         tools/rsync-recommended to fetch recommended packages into R
         sources using curl on systems without rsync or behind firewalls.

     PACKAGE INSTALLATION:

       * C++ standard specifications (CXX_STD = in src/Makevars* and in
         the SystemRequirements field of the DESCRIPTION file) are now
         checked more thoroughly.  Invalid values are still ignored but
         now give a warning, as do contradictory specifications.

       * (Preliminary) support for C++26 has been extended to Windows.


    [51 lines not shown]
VersionDeltaFile
1.117+4-4math/R/distinfo
1.283+4-3math/R/Makefile
1.46+2-1math/R/PLIST
+10-83 files

FreeBSD/ports ee7302dwww/element-web pkg-plist distinfo

www/element-web: Update to 1.12.18

Approved by:    maintainer (implicit, version bump, as per PR 258262)
DeltaFile
+111-108www/element-web/pkg-plist
+3-3www/element-web/distinfo
+2-2www/element-web/Makefile
+116-1133 files

LLVM/project 99dc307llvm/test/CodeGen/AMDGPU div_i128.ll, llvm/test/CodeGen/AMDGPU/GlobalISel sdivrem.ll udivrem.ll

Merge branch 'main' into users/jdoerfert/instrumentor_multi_config
DeltaFile
+3,436-2,769llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
+2,801-2,109llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
+3,283-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-bf16.ll
+1,017-2,228llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
+1,609-1,359llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+526-554llvm/test/CodeGen/AMDGPU/div_i128.ll
+12,672-9,019327 files not shown
+22,053-14,040333 files

LLVM/project e721580llvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add unreachable support; unreachable stack trace printing (#197339)

Allow to instrument unreachable and provide a use case to identify an
unreachable was reached.

Duplicate of https://github.com/llvm/llvm-project/pull/195408 as I can't
use GH properly.
DeltaFile
+21-0llvm/include/llvm/Transforms/IPO/Instrumentor.h
+12-0llvm/lib/Transforms/IPO/Instrumentor.cpp
+12-0llvm/test/Instrumentation/Instrumentor/unreachable.ll
+5-0llvm/test/Instrumentation/Instrumentor/default_config.json
+50-04 files

LLVM/project 9e3819dclang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowExtractor.cpp

[SSAF] Increase Expr kind coverage in EntityPointerLevelTranslator

Add support for more kinds of Expr that can be translated to
EntityPointerLevel(s).

Additionally, fix bugs in PointerFlowExtractor discovered by tests
added for the new Expr kinds.
DeltaFile
+114-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+101-8clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+67-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+9-6clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+291-144 files

LLVM/project 34e25e7clang/lib/CIR/Dialect/Transforms FlattenCFG.cpp, clang/test/CIR/CodeGen cleanup-scope-goto-within.cpp

[CIR] Allow local goto within cleanup regions (#197539)

Until now, CIR's FlattenCFG pass reported an NYI error any time a goto
operation was found within a cleanup scope region. This change loosens
that restriction to allow goto operations that transfer to another block
within the same cleanup region. This case doesn't require any change in
the cleanup scope flattening. It just has to be detected and ignored.
The goto will be lowered as it is when no cleanup scope is present.

We are still reporting an NYI error in cases where a goto operation
branches out of the cleanup scope. That will be implemented in a
follow-up change.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
DeltaFile
+166-0clang/test/CIR/CodeGen/cleanup-scope-goto-within.cpp
+110-0clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
+50-14clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+6-4clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
+332-184 files

LLVM/project 6872c74mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp, mlir/test/Target/LLVMIR openmp-simd-linear.mlir

Fix regressions in OpenMP V&V and Fujitsu testsuites

The users iterator apparently becomes invalid after one of its uses is
replaced. Fix this by making a copy of the list of users.
DeltaFile
+52-4mlir/test/Target/LLVMIR/openmp-simd-linear.mlir
+2-1mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+54-52 files

LLVM/project 8be54bfflang/lib/Lower/OpenMP DataSharingProcessor.cpp, flang/test/Lower/OpenMP composite_simd_linear.f90 distribute-parallel-do-simd.f90

Reland "[flang][OpenMP] Fix lowering of LINEAR iteration variables (#188851)"

Linear iteration variables were being treated as private. This fixes
one of the issues reported in #170784.

The regressions in the OpenMP V&V and Fujitsu testsuites happened
because the users iterator was apparently becoming invalid, after one of
its uses was replaced. This was fixed by making a copy of the list of
users.
DeltaFile
+47-17mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+22-17flang/test/Lower/OpenMP/composite_simd_linear.f90
+34-0mlir/test/Target/LLVMIR/openmp-simd-linear.mlir
+12-13flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
+8-5flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+5-5flang/test/Lower/OpenMP/loop-pointer-variable.f90
+128-575 files not shown
+144-7011 files

FreeNAS/freenas abbfe6csrc/middlewared_docs generate_docs.py, src/middlewared_docs/docs index.rst

draft
DeltaFile
+259-4src/middlewared_docs/generate_docs.py
+1-0src/middlewared_docs/docs/index.rst
+260-42 files

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

[VPlan] Simplify and strengthen Replicate::execute (NFC) (#196055)
DeltaFile
+13-45llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+13-451 files

LLVM/project 0fc922fflang/include/flang/Optimizer/Support InternalNames.h, flang/lib/Optimizer/Support InternalNames.cpp

[flang] Exclude procedure scope variables in isModuleScopeDataUniquedName  (#192999)

In particular, for saved local such as `x` in the sample below,
isModuleScopeDataUniquedName should return false.
```
module m
contains
    subroutine foo()
      integer, save :: x ! <-- SAVE
    end subroutine
end
```
DeltaFile
+18-3flang/unittests/Optimizer/InternalNamesTest.cpp
+4-1flang/lib/Optimizer/Support/InternalNames.cpp
+3-1flang/include/flang/Optimizer/Support/InternalNames.h
+25-53 files

OpenBSD/ports S3novh4graphics/inkscape/patches patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp

   Prepare for poppler-26.05.
VersionDeltaFile
1.7+41-58graphics/inkscape/patches/patch-src_extension_internal_pdfinput_poppler-cairo-font-engine_cpp
+41-581 files

FreeBSD/ports c874bb8www/fmd-server distinfo Makefile

www/fmd-server: update to 0.15.0

Release notes: https://gitlab.com/fmd-foss/fmd-server/-/releases/v0.15.0
DeltaFile
+89-89www/fmd-server/distinfo
+4-3www/fmd-server/Makefile
+93-922 files

OpenBSD/ports ERUqooRprint/scribus/patches patch-scribus_plugins_import_pdf_slaoutput_cpp patch-scribus_plugins_import_pdf_importpdfconfig_h

   Prepare for poppler-26.05.
VersionDeltaFile
1.27+20-337print/scribus/patches/patch-scribus_plugins_import_pdf_slaoutput_cpp
1.7+8-8print/scribus/patches/patch-scribus_plugins_import_pdf_importpdfconfig_h
1.3+1-1print/scribus/patches/patch-CMakeLists_Dependencies_cmake
1.5+1-1print/scribus/patches/patch-scribus_CMakeLists_txt
+30-3474 files

NetBSD/pkgsrc-wip 64568ccspirv-tools PLIST Makefile, spirv-tools/patches patch-source_opt_decoration__manager.cpp

Import parallel/spirv-tools
DeltaFile
+46-0spirv-tools/PLIST
+32-0spirv-tools/Makefile
+24-0spirv-tools/buildlink3.mk
+17-0spirv-tools/patches/patch-source_opt_decoration__manager.cpp
+9-0spirv-tools/DESCR
+6-0spirv-tools/distinfo
+134-01 files not shown
+135-07 files

FreeNAS/freenas 73b3351tests/api2 test_container.py

Fix tests
DeltaFile
+95-41tests/api2/test_container.py
+95-411 files

LLVM/project 77e4b82clang/include/clang/CIR/Dialect/Transforms CIRTransformUtils.h, clang/lib/CIR/Dialect/Transforms CXXABILowering.cpp CIRTransformUtils.cpp

[CIR] Make collectUnreachable more robust (#197334)

The CXXABILowering and LowerToLLVM passes both use a
`collectUnreachable` function to find unreachable blocks and add them to
a SmallVector that will be passed to `applyPartialConversion` to avoid
leaving unconverted operations in the dead blocks. We can't simply call
`eraseUnreachableBlocks` because we don't yet protect indirect branch
and goto targets from being erased.

Application testing revealed that our `collectUnreachable` function was
missing blocks in SCCs, because they were connected to each other. This
change revises `collectUnreachable` to instead build a list of reachable
blocks and then walk all blocks to find the ones that aren't in the
reachable list (which is what `eraseUnreachableBlocks` does).

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
DeltaFile
+2-66clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
+2-65clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+44-0clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
+36-1clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
+0-35clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.h
+34-0clang/test/CIR/CodeGen/unreachable-cycle.c
+118-1673 files not shown
+121-1699 files