LLVM/project 82ecd00mlir/test/CAPI rewrite.c

pre-increment
DeltaFile
+5-5mlir/test/CAPI/rewrite.c
+5-51 files

LLVM/project 6d2f3d6mlir/include/mlir-c Rewrite.h, mlir/lib/CAPI/Transforms Rewrite.cpp

[mlir-c] Add 1:N TypeConverter conversion and materialization bindings

Builds on the source/target materialization C bindings:

- Target materialization callbacks now receive `originalType` (split from the
  previously-shared source/target callback typedef), exposing a documented C++
  capability that was otherwise unreachable from C.
- 1:N type conversion: `mlirTypeConverterAdd1ToNConversion` plus an opaque
  results accumulator (`MlirTypeConverterConversionResults` /
  `mlirTypeConverterConversionResultsAppend`). A declining callback's appended
  types are rolled back so the driver's "try the next conversion" invariant
  holds.
- 1:N target materialization: `mlirTypeConverterAdd1ToNTargetMaterialization`,
  whose callback fills a caller-allocated `outputs` buffer. A success that
  leaves any output null is treated as a decline rather than handing the driver
  a null-containing result.
- `mlirConversionPatternRewriterReplaceOpWithMultiple` for 1:N value
  replacement, which can drive a source materialization with nInputs > 1.
- An optional `matchAndRewrite1ToN` callback on `MlirConversionPatternCallbacks`

    [9 lines not shown]
DeltaFile
+706-1mlir/test/CAPI/rewrite.c
+163-14mlir/lib/CAPI/Transforms/Rewrite.cpp
+107-5mlir/include/mlir-c/Rewrite.h
+976-203 files

LLVM/project d768291mlir/test/CAPI rewrite.c

[mlir-c] Test the failure path of the 1:N type conversion callback

Adds a test that registers a 1:N conversion function returning
MlirTypeConverterConversionStatusFailure. Because it is tried before the
i32 -> (i16, i16) conversion, the failure must abort the whole conversion
(rather than falling back), leaving the IR unchanged -- the behavior that a
plain decline would not produce.
DeltaFile
+87-0mlir/test/CAPI/rewrite.c
+87-01 files

LLVM/project aa7fd45mlir/lib/Bindings/Python Rewrite.cpp

[mlir-c] Value-initialize MlirConversionPatternCallbacks in Python bindings

The Python conversion-pattern binding left the struct default-initialized,
so the newly-added optional matchAndRewrite1ToN field held an indeterminate
pointer. The driver's null check then read garbage and jumped into it,
segfaulting mlir/test/python/rewrite.py. Value-initialize the struct so
optional callbacks default to null.
DeltaFile
+3-1mlir/lib/Bindings/Python/Rewrite.cpp
+3-11 files

LLVM/project 75cb33dmlir/test/CAPI rewrite.c

[mlir-c] Fix -Wmissing-field-initializers in rewrite.c test

The new matchAndRewrite1ToN field left three existing
MlirConversionPatternCallbacks initializers under-initialized, which
fails the CI build under -Werror=-Wmissing-field-initializers.
DeltaFile
+4-3mlir/test/CAPI/rewrite.c
+4-31 files

LLVM/project 4705440mlir/include/mlir-c Rewrite.h, mlir/lib/CAPI/Transforms Rewrite.cpp

cleanup comments
DeltaFile
+2-18mlir/include/mlir-c/Rewrite.h
+0-12mlir/lib/CAPI/Transforms/Rewrite.cpp
+2-302 files

LLVM/project 4c716e5mlir/include/mlir-c Rewrite.h, mlir/lib/Bindings/Python Rewrite.cpp

[mlir-c] Use a tri-state status enum for the type conversion callback

MlirTypeConverterConversionCallback returned MlirLogicalResult and used a
null convertedType as a second failure sentinel, which could only express
success or "try another conversion" -- and conflated the C++ decline
(std::nullopt) and hard-failure (failure()) states.

Introduce MlirTypeConverterConversionStatus (Success/Failure/Declined) and
return it from the callback instead, mapping the three states to success(),
failure(), and std::nullopt respectively. Update the Python binding and the
C API test callback accordingly.

Add a C API unit test (testTypeConverterConversionStatus) exercising all
three status values through mlirTypeConverterConvertType.
DeltaFile
+72-6mlir/test/CAPI/rewrite.c
+23-6mlir/include/mlir-c/Rewrite.h
+16-7mlir/lib/CAPI/Transforms/Rewrite.cpp
+3-3mlir/lib/Bindings/Python/Rewrite.cpp
+114-224 files

FreeNAS/freenas aaf94a8src/middlewared/middlewared/plugins/boot_environment crud.py __init__.py, tests README.md

NAS-141595 / 27.0.0-BETA.1 / Replace zectl with the truenas_bootenv engine (#19298)

### Summary
The `boot_environment` plugin no longer shells out to `zectl`. Query,
clone, activate, destroy and keep now call the `truenas_bootenv` engine
in process on middleware's thread-local libzfs handle. `utils.py` and
`run_zectl_cmd` are deleted, and boot-time promotion goes through the
engine instead of parsing `zfs list -j` out of a shell pipeline.

See [truenas_pylibzfs
PR](https://github.com/truenas/truenas_pylibzfs/pull/260) for the engine
and why zectl is going. This PR is the rewiring, and needs that one
merged first.

### How the plugin is structured
The plugin is split in two. `crud.py` holds the async policy (the
mutation lock, the ordering, the grub marker, the rollback, the error
mapping) and never touches ZFS. `__init__.py` carries the `@api_method`
surface and the `be_*_impl` methods, which are synchronous because

    [49 lines not shown]
DeltaFile
+262-91src/middlewared/middlewared/plugins/boot_environment/crud.py
+123-9src/middlewared/middlewared/plugins/boot_environment/__init__.py
+103-0tests/unit/test_boot_environment_setup.py
+29-11tests/api2/test_boot_environments.py
+0-19src/middlewared/middlewared/plugins/boot_environment/utils.py
+6-7tests/README.md
+523-1371 files not shown
+523-1387 files

LLVM/project e39a2d1flang/lib/Lower/OpenMP OpenMP.cpp DataSharingProcessor.cpp, flang/test/Lower/OpenMP metadirective-loop.f90 metadirective-implementation.f90

[flang][OpenMP] Lower DO and SIMD variants in metadirectives

Lower DO, SIMD, and DO SIMD replacement directives selected by a
metadirective. Support standalone and begin/end forms with static or runtime
selection.

A standalone metadirective and its associated loop are represented as sibling
PFT evaluations. For example:

```fortran
!$omp metadirective &
!$omp& when(user={condition(flag)}: do) &
!$omp& otherwise(nothing)
do i = 1, n
  a(i) = i
end do
```

has the following evaluation shape:

    [45 lines not shown]
DeltaFile
+432-6flang/lib/Lower/OpenMP/OpenMP.cpp
+416-0flang/test/Lower/OpenMP/metadirective-loop.f90
+69-8flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+74-0flang/test/Lower/OpenMP/Todo/metadirective-loop-unstructured.f90
+59-0flang/test/Lower/OpenMP/Todo/metadirective-loop-enclosing-data-environment.f90
+46-1flang/test/Lower/OpenMP/metadirective-implementation.f90
+1,096-1512 files not shown
+1,278-2818 files

FreeBSD/doc aaa3351website/content/en/status/report-2026-04-2026-06 openjdk.adoc hpc-ports-modernization.adoc, website/content/en/status/report-2026-04-2026-07 hpc-ports-modernization.adoc

Status/2026Q2: fix location of reports in wrong dirs
DeltaFile
+0-61website/content/en/status/report-2026-04-3036-06/openjdk.adoc
+61-0website/content/en/status/report-2026-04-2026-06/openjdk.adoc
+0-46website/content/en/status/report-2026-04-2026-07/hpc-ports-modernization.adoc
+46-0website/content/en/status/report-2026-04-2026-06/hpc-ports-modernization.adoc
+107-1074 files

LLVM/project bf42992llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 loop-invariant-gather-inst-count.ll rgb_phi.ll

Revert "[SLP]Make the instruction-count check loop-aware"

This reverts commit 3f928aec54e28dd470a3f0fbbe2ebafb73691dcc to fix
buildbots https://lab.llvm.org/buildbot/#/builders/11/builds/44691

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/211091
DeltaFile
+64-64llvm/test/Transforms/SLPVectorizer/X86/loop-invariant-gather-inst-count.ll
+36-64llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+9-9llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
+7-8llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll
+5-5llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
+121-1505 files

LLVM/project 4139dffllvm/lib/Transforms/Vectorize/SandboxVectorizer Scheduler.cpp, llvm/unittests/Transforms/Vectorize/SandboxVectorizer SchedulerTest.cpp

[SBVec] Refill ready list during topdown scheduling

Visit nodes which are ready according to the direction of scheduling.
DeltaFile
+28-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
+9-3llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
+37-32 files

LLVM/project c7e1531clang/lib/CodeGen CGHLSLRuntime.cpp CGHLSLRuntime.h, clang/test/CodeGenHLSL/semantics flat-decoration.ps.hlsl

[HLSL][SPIRV] Support Flat and Location decorators in the frontend (#210116)

fixes #194293
fixes #194432

In HLSL we need both Location and and Flat must be emitted as a single
`spirv.Decorations` node.
Also we need to apply Flat decoration to pixe/fragment shades with
inputs of integer or double because only 32 bit floats can be
interpolated.

Assisted with Claude Opus 4.8 via Copilot
DeltaFile
+53-10clang/lib/CodeGen/CGHLSLRuntime.cpp
+51-0llvm/test/CodeGen/SPIRV/semantics/flat.ps.ll
+29-0clang/test/CodeGenHLSL/semantics/flat-decoration.ps.hlsl
+5-2clang/lib/CodeGen/CGHLSLRuntime.h
+138-124 files

LLVM/project 12e1c7flibcxx/src/include overridable_function.h

[PAC][libc++] Fix build with `ptrauth_calls` feature (#211033)

After partial revert of #208330 in #209928, the libcxx build started
failing because of missing `<cstdint>` include required for `uintptr_t`
declaration used only by code behind `ptrauth_calls` feature check. See
https://lab.llvm.org/buildbot/#/builders/227/builds/3358

This patch adds the missing include.
DeltaFile
+1-0libcxx/src/include/overridable_function.h
+1-01 files

LLVM/project 5009f54flang/lib/Lower/OpenMP OpenMP.cpp, flang/lib/Semantics openmp-utils.cpp

[flang][OpenMP] Reland implement collapse for imperfectly nested loops (#211000)

Reland of combined #208528 and #210753.
Fixes #199092 - Flang previously rejected intervening code between
associated loops in a collapsed nest (e.g. collapse(2) with statements
between the outer and inner DO). This patch removes that restriction and
implements correct lowering.
DeltaFile
+648-0flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
+216-4flang/lib/Lower/OpenMP/OpenMP.cpp
+148-0flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
+122-5flang/test/Semantics/OpenMP/do22.f90
+84-3flang/lib/Semantics/openmp-utils.cpp
+50-0flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
+1,268-1217 files not shown
+1,465-7223 files

LLVM/project d93e7c4mlir/test/CAPI rewrite.c

[mlir-c] Test the failure path of the 1:N type conversion callback

Adds a test that registers a 1:N conversion function returning
MlirTypeConverterConversionStatusFailure. Because it is tried before the
i32 -> (i16, i16) conversion, the failure must abort the whole conversion
(rather than falling back), leaving the IR unchanged -- the behavior that a
plain decline would not produce.
DeltaFile
+87-0mlir/test/CAPI/rewrite.c
+87-01 files

FreeBSD/ports 4cca098math/octave-forge-datatypes distinfo Makefile

math/octave-forge-datatypes: Update to 1.2.7.
DeltaFile
+3-3math/octave-forge-datatypes/distinfo
+1-1math/octave-forge-datatypes/Makefile
+4-42 files

LLVM/project 891b0bellvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp, llvm/test/Transforms/SandboxVectorizer topdown_vec.ll

3 element tests
DeltaFile
+128-0llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
+0-4llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+128-42 files

FreeBSD/ports 1cd336emath/octave-forge-pkg-octave-doc distinfo Makefile

math/octave-forge-pkg-octave-doc: Update to 0.7.3.
DeltaFile
+3-3math/octave-forge-pkg-octave-doc/distinfo
+1-1math/octave-forge-pkg-octave-doc/Makefile
+4-42 files

FreeBSD/src ba583f0share/man/man9 contigmalloc.9

contigmalloc.9: Correct typo

Reported by:    alc, rlibby
Fixes: caabdb3aefdc ("contigmalloc.9: Note that M_WAITOK may still return NULL")
DeltaFile
+1-1share/man/man9/contigmalloc.9
+1-11 files

LLVM/project 10651a9mlir/test/CAPI rewrite.c

[mlir-c] Fix -Wmissing-field-initializers in rewrite.c test

The new matchAndRewrite1ToN field left three existing
MlirConversionPatternCallbacks initializers under-initialized, which
fails the CI build under -Werror=-Wmissing-field-initializers.
DeltaFile
+4-3mlir/test/CAPI/rewrite.c
+4-31 files

LLVM/project 76f4464mlir/lib/Bindings/Python Rewrite.cpp

[mlir-c] Value-initialize MlirConversionPatternCallbacks in Python bindings

The Python conversion-pattern binding left the struct default-initialized,
so the newly-added optional matchAndRewrite1ToN field held an indeterminate
pointer. The driver's null check then read garbage and jumped into it,
segfaulting mlir/test/python/rewrite.py. Value-initialize the struct so
optional callbacks default to null.
DeltaFile
+3-1mlir/lib/Bindings/Python/Rewrite.cpp
+3-11 files

LLVM/project cc5385cmlir/include/mlir-c Rewrite.h, mlir/lib/CAPI/Transforms Rewrite.cpp

cleanup comments
DeltaFile
+2-18mlir/include/mlir-c/Rewrite.h
+0-12mlir/lib/CAPI/Transforms/Rewrite.cpp
+2-302 files

LLVM/project 699e9demlir/test/CAPI rewrite.c

pre-increment
DeltaFile
+6-6mlir/test/CAPI/rewrite.c
+6-61 files

LLVM/project 3c44d10mlir/include/mlir-c Rewrite.h, mlir/lib/CAPI/Transforms Rewrite.cpp

[mlir-c] Add 1:N TypeConverter conversion and materialization bindings

Builds on the source/target materialization C bindings:

- Target materialization callbacks now receive `originalType` (split from the
  previously-shared source/target callback typedef), exposing a documented C++
  capability that was otherwise unreachable from C.
- 1:N type conversion: `mlirTypeConverterAdd1ToNConversion` plus an opaque
  results accumulator (`MlirTypeConverterConversionResults` /
  `mlirTypeConverterConversionResultsAppend`). A declining callback's appended
  types are rolled back so the driver's "try the next conversion" invariant
  holds.
- 1:N target materialization: `mlirTypeConverterAdd1ToNTargetMaterialization`,
  whose callback fills a caller-allocated `outputs` buffer. A success that
  leaves any output null is treated as a decline rather than handing the driver
  a null-containing result.
- `mlirConversionPatternRewriterReplaceOpWithMultiple` for 1:N value
  replacement, which can drive a source materialization with nInputs > 1.
- An optional `matchAndRewrite1ToN` callback on `MlirConversionPatternCallbacks`

    [9 lines not shown]
DeltaFile
+731-2mlir/test/CAPI/rewrite.c
+163-14mlir/lib/CAPI/Transforms/Rewrite.cpp
+106-5mlir/include/mlir-c/Rewrite.h
+1,000-213 files

LLVM/project aa4fbb8mlir/include/mlir-c Rewrite.h, mlir/lib/Bindings/Python Rewrite.cpp

[mlir-c] Use a tri-state status enum for the type conversion callback

MlirTypeConverterConversionCallback returned MlirLogicalResult and used a
null convertedType as a second failure sentinel, which could only express
success or "try another conversion" -- and conflated the C++ decline
(std::nullopt) and hard-failure (failure()) states.

Introduce MlirTypeConverterConversionStatus (Success/Failure/Declined) and
return it from the callback instead, mapping the three states to success(),
failure(), and std::nullopt respectively. Update the Python binding and the
C API test callback accordingly.

Add a C API unit test (testTypeConverterConversionStatus) exercising all
three status values through mlirTypeConverterConvertType.
DeltaFile
+72-6mlir/test/CAPI/rewrite.c
+22-6mlir/include/mlir-c/Rewrite.h
+16-7mlir/lib/CAPI/Transforms/Rewrite.cpp
+3-3mlir/lib/Bindings/Python/Rewrite.cpp
+113-224 files

LLVM/project 4bf0d28clang/lib/CIR/CodeGen CIRGenOpenACCRecipe.cpp

[OpenACC/CIR] Remove std::transform_inclusive_scan use (#211076)

This seemingly is only added for GCC libstdcxx 11.1's C++17 support, but
our support matrix is 7.4. Replace it with a loop that implements the
same requirement.
DeltaFile
+5-4clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
+5-41 files

LLVM/project 1f1fcb9llvm/lib/Analysis BranchProbabilityInfo.cpp

[Analysis][NFC] Remove LoopBlock in BranchProbabilityInfo (#211083)

After removing SccInfo, this data structure is largely pointless.
DeltaFile
+53-84llvm/lib/Analysis/BranchProbabilityInfo.cpp
+53-841 files

LLVM/project 3f928aellvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 loop-invariant-gather-inst-count.ll rgb_phi.ll

[SLP]Make the instruction-count check loop-aware

Raw getNum{Scalar,Vector}Insts() counted one-time, LICM-hoisted
broadcasts/buildvectors against the loop body, rejecting profitable loop
trees (508.namd_r). Weight each entry by its loop-nest trip
count and drop nest-invariant ones; flat code is unchanged (scale 1).

Fixes #207572

Reviewers: bababuck, RKSimon, hiraditya

Pull Request: https://github.com/llvm/llvm-project/pull/210074
DeltaFile
+64-64llvm/test/Transforms/SLPVectorizer/X86/loop-invariant-gather-inst-count.ll
+64-36llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+9-9llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
+8-7llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll
+5-5llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
+150-1215 files

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

Address code review comments
DeltaFile
+7-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+7-61 files