LLVM/project c12a0d2mlir/include/mlir/IR OpImplementation.h, mlir/lib/IR OperationSupport.cpp

[mlir][ODS] Share optional operand and type parser logic (NFC) (#226066)

Move repeated optional operand and type parsing into out-of-line
helpers.

Generated parsers now reuse those helpers across operations.

This improves MLIR build time by avoid redundant compilation of these
helpers.

Assisted-by: Codex
DeltaFile
+5-21mlir/tools/mlir-tblgen/OpFormatGen.cpp
+26-0mlir/lib/IR/OperationSupport.cpp
+9-0mlir/include/mlir/IR/OpImplementation.h
+1-1mlir/test/mlir-tblgen/op-format.td
+41-224 files

LLVM/project 303cf70llvm/include/llvm/Analysis TargetFolder.h, llvm/test/Transforms/SLPVectorizer/RISCV revec.ll

[TargetFolder] Use getGetElementPtr() overload accepting DataLayout (#226068)

To directly construct the constant GEP in canonical ptradd form.

The test change is because this ends up canonicalizing the vector
GEP case as well, rather than just the scalar cases.
DeltaFile
+5-1llvm/include/llvm/Analysis/TargetFolder.h
+1-1llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
+6-22 files

FreeBSD/ports cf873fcnet/linux-remotedesktopmanager distinfo pkg-descr, net/linux-remotedesktopmanager/files linux-remotedesktopmanager.in

net/linux-remotedesktopmanager: Add New Port

Remote Desktop Manager centralizes remote connections and credentials in
a single application.  It supports RDP, VNC, SSH and web based sessions
and keeps them in a local or shared data source.

This port installs the vendor Linux build and runs it under the
Linuxulator.

Sponsored by:   Netzkommune GmbH
DeltaFile
+1,259-0net/linux-remotedesktopmanager/pkg-plist
+60-0net/linux-remotedesktopmanager/Makefile
+41-0net/linux-remotedesktopmanager/files/linux-remotedesktopmanager.in
+10-0net/linux-remotedesktopmanager/pkg-message
+4-0net/linux-remotedesktopmanager/pkg-descr
+3-0net/linux-remotedesktopmanager/distinfo
+1,377-01 files not shown
+1,378-07 files

FreeBSD/ports b7ff601www Makefile, www/linux-rl9-webkit2gtk3-jsc pkg-descr pkg-plist.aarch64

www/linux-rl9-webkit2gtk3-jsc: Add New Port

JavaScriptCore from Rocky Linux 9, the engine half of webkit2gtk3.

Sponsored by:   Netzkommune GmbH
DeltaFile
+21-0www/linux-rl9-webkit2gtk3-jsc/Makefile
+9-0www/linux-rl9-webkit2gtk3-jsc/distinfo
+7-0www/linux-rl9-webkit2gtk3-jsc/pkg-plist.amd64
+4-0www/linux-rl9-webkit2gtk3-jsc/pkg-plist.aarch64
+2-0www/linux-rl9-webkit2gtk3-jsc/pkg-descr
+1-0www/Makefile
+44-01 files not shown
+45-07 files

FreeBSD/ports e5eb552Mk/Uses linux.mk, x11-toolkits Makefile

x11-toolkits/linux-rl9-vte291: Add New Port

Terminal widget from Rocky Linux 9, for Linux applications that embed a
terminal.

Sponsored by:   Netzkommune GmbH
DeltaFile
+106-0x11-toolkits/linux-rl9-vte291/pkg-plist.amd64
+103-0x11-toolkits/linux-rl9-vte291/pkg-plist.aarch64
+24-0x11-toolkits/linux-rl9-vte291/Makefile
+9-0x11-toolkits/linux-rl9-vte291/distinfo
+1-0x11-toolkits/Makefile
+1-0Mk/Uses/linux.mk
+244-06 files

FreeBSD/ports ae924c3Mk/Uses linux.mk, www Makefile

www/linux-rl9-webkit2gtk3: Add New Port

Web content engine for GTK from Rocky Linux 9, for Linux applications
that embed a browser view.

Sponsored by:   Netzkommune GmbH
DeltaFile
+77-0www/linux-rl9-webkit2gtk3/pkg-plist.amd64
+72-0www/linux-rl9-webkit2gtk3/pkg-plist.aarch64
+28-0www/linux-rl9-webkit2gtk3/Makefile
+9-0www/linux-rl9-webkit2gtk3/distinfo
+1-0www/Makefile
+1-0Mk/Uses/linux.mk
+188-06 files

FreeBSD/ports 5c035cfMk/Uses linux.mk, textproc Makefile

textproc/linux-rl9-enchant2: Add New Port

Spell checking wrapper library from Rocky Linux 9.

Sponsored by:   Netzkommune GmbH
DeltaFile
+23-0textproc/linux-rl9-enchant2/Makefile
+15-0textproc/linux-rl9-enchant2/pkg-plist.amd64
+12-0textproc/linux-rl9-enchant2/pkg-plist.aarch64
+9-0textproc/linux-rl9-enchant2/distinfo
+1-0textproc/Makefile
+1-0Mk/Uses/linux.mk
+61-06 files

FreeBSD/ports 056eadesecurity Makefile, security/linux-rl9-libseccomp pkg-descr pkg-plist.aarch64

security/linux-rl9-libseccomp: Add New Port

Syscall filtering library from Rocky Linux 9.

Sponsored by:   Netzkommune GmbH
DeltaFile
+22-0security/linux-rl9-libseccomp/Makefile
+9-0security/linux-rl9-libseccomp/pkg-plist.amd64
+9-0security/linux-rl9-libseccomp/distinfo
+7-0security/linux-rl9-libseccomp/pkg-plist.aarch64
+2-0security/linux-rl9-libseccomp/pkg-descr
+1-0security/Makefile
+50-01 files not shown
+51-07 files

FreeBSD/ports 1105b03Mk/Uses linux.mk, print Makefile

print/linux-rl9-harfbuzz-icu: Add New Port

ICU integration for HarfBuzz from Rocky Linux 9.

Sponsored by:   Netzkommune GmbH
DeltaFile
+22-0print/linux-rl9-harfbuzz-icu/Makefile
+9-0print/linux-rl9-harfbuzz-icu/distinfo
+4-0print/linux-rl9-harfbuzz-icu/pkg-plist.amd64
+2-0print/linux-rl9-harfbuzz-icu/pkg-plist.aarch64
+1-0print/Makefile
+1-0Mk/Uses/linux.mk
+39-06 files

FreeBSD/ports 660e670Mk/Uses linux.mk, graphics Makefile

graphics/linux-rl9-lcms2: Add New Port

Color management engine from Rocky Linux 9.

Sponsored by:   Netzkommune GmbH
DeltaFile
+23-0graphics/linux-rl9-lcms2/Makefile
+9-0graphics/linux-rl9-lcms2/distinfo
+6-0graphics/linux-rl9-lcms2/pkg-plist.amd64
+4-0graphics/linux-rl9-lcms2/pkg-plist.aarch64
+1-0graphics/Makefile
+1-0Mk/Uses/linux.mk
+44-06 files

FreeBSD/ports f65a856Mk/Uses linux.mk, textproc Makefile

textproc/linux-rl9-hyphen: Add New Port

Hyphenation library from Rocky Linux 9.

Sponsored by:   Netzkommune GmbH
DeltaFile
+24-0textproc/linux-rl9-hyphen/Makefile
+11-0textproc/linux-rl9-hyphen/pkg-plist.amd64
+9-0textproc/linux-rl9-hyphen/pkg-plist.aarch64
+9-0textproc/linux-rl9-hyphen/distinfo
+1-0textproc/Makefile
+1-0Mk/Uses/linux.mk
+55-06 files

FreeBSD/ports 544cc4cmultimedia/termplay distinfo

multimedia/termplay: convert to .crate after 162d8b02848e

fetch: https://static.crates.io/crates/termplay/termplay-2.0.6.tar.gz?dummy=/rust/crates/termplay-2.0.6.tar.gz: Forbidden

PR:             298812
(cherry picked from commit bcaf5d81dfb706c5ab4a808f147b493ee278db80)
DeltaFile
+180-180multimedia/termplay/distinfo
+180-1801 files

FreeBSD/ports af00e38net-mgmt/geom-exporter Makefile, net-mgmt/nfs-exporter Makefile

all: unbreak fetch after bc18f00c490c

fetch: https://static.crates.io/crates/cargo-c/0.10.25+cargo-0.99.0?dummy=/rust/crates/cargo-c-0.10.25+cargo-0.99.0.crate: Forbidden
fetch: https://static.crates.io/crates/desed/1.2.2?dummy=/rust/crates/desed-1.2.2.crate: Forbidden
fetch: https://static.crates.io/crates/fsx/0.3.2?dummy=/rust/crates/fsx-0.3.2.crate: Forbidden
fetch: https://static.crates.io/crates/gbump/1.3.0?dummy=/rust/crates/gbump-1.3.0.crate: Forbidden
fetch: https://static.crates.io/crates/bindgen-cli/0.72.1?dummy=/rust/crates/bindgen-cli-0.72.1.crate: Forbidden
fetch: https://static.crates.io/crates/cbindgen/0.29.4?dummy=/rust/crates/cbindgen-0.29.4.crate: Forbidden
fetch: https://static.crates.io/crates/doh-proxy/0.9.16?dummy=/rust/crates/doh-proxy-0.9.16.crate: Forbidden
fetch: https://static.crates.io/crates/pjdfstest/0.2.2?dummy=/rust/crates/pjdfstest-0.2.2.crate: Forbidden
fetch: https://static.crates.io/crates/dify/0.8.0?dummy=/rust/crates/dify-0.8.0.crate: Forbidden
fetch: https://static.crates.io/crates/dssim/3.2.4?dummy=/rust/crates/dssim-3.2.4.crate: Forbidden
fetch: https://static.crates.io/crates/termplay/2.0.6?dummy=/rust/crates/termplay-2.0.6.tar.gz: Forbidden
fetch: https://static.crates.io/crates/s3req/1.3.1?dummy=/rust/crates/s3req-1.3.1.crate: Forbidden
fetch: https://static.crates.io/crates/%SUBDIR%?dummy=/rust/crates/freebsd-geom-exporter-0.1.4.crate: Bad Request
fetch: https://static.crates.io/crates/%SUBDIR%?dummy=/rust/crates/freebsd-nfs-exporter-0.4.7.crate: Bad Request
fetch: https://static.crates.io/crates/sequoia-chameleon-gnupg/0.13.1?dummy=/rust/crates/sequoia-chameleon-gnupg-0.13.1.crate: Forbidden
fetch: https://static.crates.io/crates/sequoia-sq/1.4.0?dummy=/rust/crates/sequoia-sq-1.4.0.crate: Forbidden
fetch: https://static.crates.io/crates/ssh-vault/1.0.10?dummy=/rust/crates/ssh-vault-1.0.10.crate: Forbidden

    [12 lines not shown]
DeltaFile
+1-2net-mgmt/nfs-exporter/Makefile
+1-2net-mgmt/geom-exporter/Makefile
+1-1x11/swayrbar/Makefile
+1-1x11/swayr/Makefile
+1-1x11/alacritty/Makefile
+1-1sysutils/flowgger/Makefile
+6-818 files not shown
+24-2624 files

LLVM/project 43a0a95llvm/lib/Target/WebAssembly WebAssemblyCFGStackify.cpp, llvm/test/CodeGen/WebAssembly cfg-stackify-eh-legacy.mir exception-legacy.mir

[WebAssembly] Remove per-invoke EH_LABEL handling (#226053)

Per-invoke `EH_LABEL`s are no longer emitted after #225903. This removes
code that handles per-invoke `EH-LABEL`s and removes them from mir
tests.
DeltaFile
+7-31llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
+2-9llvm/test/CodeGen/WebAssembly/exception-legacy.mir
+0-6llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
+9-463 files

NetBSD/pkgsrc-wip 29e316cpegtl Makefile distinfo

wip/pegtl: Upgraded to recent version 4.0.2; USE_CMAKE replaced
DeltaFile
+288-124pegtl/PLIST
+3-3pegtl/distinfo
+2-2pegtl/Makefile
+293-1293 files

LLVM/project 1087708flang/lib/Semantics resolve-directives.cpp, flang/test/Semantics/OpenMP defaultmap-clause-none.f90

[flang][OpenMP] Fix crash in defaultmap(none) on structure constructors (#220994)

Fixes :
[https://github.com/llvm/llvm-project/issues/218929](https://github.com/llvm/llvm-project/issues/218929)
Flang was crashing when a target defaultmap(none:...) region contained a
structure constructor, like this:
```
program p
  type t
  end type
  type(t) :: x

  !$omp target defaultmap(none:aggregate)
  x = t()
  !$omp end target
end
```
The problem is in `IsOpenMPAggregate` and `IsOpenMPScalar`. When the
OpenMP attribute visitor walks the names in the region, it hits the t in

    [7 lines not shown]
DeltaFile
+14-0flang/test/Semantics/OpenMP/defaultmap-clause-none.f90
+6-0flang/lib/Semantics/resolve-directives.cpp
+20-02 files

OPNSense/core 7284164src/etc/inc interfaces.lib.inc interfaces.inc

interfaces: skip pfsync interface reconfiguration if peer unchanged.
DeltaFile
+15-1src/etc/inc/interfaces.inc
+14-0src/etc/inc/interfaces.lib.inc
+29-12 files

LLVM/project 65d651bllvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.set.rounding.ll readlane-known-bits.ll

[AMDGPU] Look through readfirstlane/readlane in computeKnownBitsForTargetInstr. (#224275)

Currently, `computeKnownBitsForTargetInstr` in GISel and
`computeKnownBitsForTargetNode` in SDAG treats
`amdgcn.readfirstlane/readlane` as fully unknown, even though both just
return the data operand's value from some lane. This patch teaches it to
recurse into the data operand (operand 2) and reuse its known bits.

Thus, it unblocks known-bits combines (e.g. redundant_and) that see
these intrinsics while still generic.
DeltaFile
+89-0llvm/test/CodeGen/AMDGPU/readlane-known-bits.ll
+52-0llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-readlane.mir
+50-0llvm/test/CodeGen/AMDGPU/GlobalISel/combine-readlane-redundant-and.mir
+8-24llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
+7-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+5-0llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+211-241 files not shown
+211-257 files

LLVM/project 2347fc7flang/include/flang/Lower PFTBuilder.h, flang/lib/Lower PFTBuilder.cpp

[flang] Detect loops whose branching is confined to their body

A DO loop is classified as either structured or unstructured, and a single
raw branch anywhere in its body forces the loop -- and every construct
enclosing it -- onto the unstructured path.

That is stronger than necessary. A loop keeps its structured control flow
as long as its branching neither leaves its body nor enters it from
outside. Classify such a loop separately from a fully unstructured one.

This only classifies: lowering is unchanged. PFT dumps mark the new
classification with '~', which is what the tests key on.
DeltaFile
+191-23flang/lib/Lower/PFTBuilder.cpp
+137-0flang/test/Lower/pre-fir-tree-unstructured-internals.f90
+51-6flang/include/flang/Lower/PFTBuilder.h
+9-6flang/test/Lower/trailing-cycle.f90
+388-354 files

LLVM/project e1c829aflang/include/flang/Lower PFTBuilder.h

[flang][NFC] Say which control successors are not incoming branches

The map records branches, not every control successor: a construct
transferring control between its own statements is not a branch
(F2023 11.2.1 p1), so the successors analyzeBranches sets directly are
absent from it. Say so, rather than calling the map a plain inverse.
DeltaFile
+4-2flang/include/flang/Lower/PFTBuilder.h
+4-21 files

LLVM/project cbe5b43flang/include/flang/Lower PFTDefs.h PFTBuilder.h, flang/lib/Lower PFTBuilder.cpp

[flang] Record the evaluations that branch to each evaluation

The PFT records where each branch goes, but not where it comes from, so
asking whether anything branches into a construct means walking the whole
procedure.

Record the reverse edges beside the forward ones, and print them in PFT
dumps so both directions of the branch graph are visible.
DeltaFile
+68-0flang/test/Lower/pre-fir-tree-incoming-branches.f90
+20-0flang/lib/Lower/PFTBuilder.cpp
+8-8flang/test/Lower/assigned-goto-labeled-end.f90
+3-3flang/test/Lower/trailing-cycle.f90
+3-0flang/include/flang/Lower/PFTDefs.h
+3-0flang/include/flang/Lower/PFTBuilder.h
+105-111 files not shown
+106-127 files

LLVM/project 6cf36fdlibcxx/docs/Status Cxx17Issues.csv

[libc++][docs] Mark LWG2727 Complete in LLVM 24 (#225606)

In 9853cb54d9d2684b27f0d0db89c00c2da7e31b88 and
672843a3f2ee2aaaed0463ec9064b6ccea2a5d4d, we implemented parallel
versions of `std::min_element`, `std::max_element`, and
`std::minmax_element` without adding incorrect `constexpr`. This
essentially implemented the resolution of LWG2727.
DeltaFile
+1-1libcxx/docs/Status/Cxx17Issues.csv
+1-11 files

LLVM/project b8f452eflang/lib/Lower Bridge.cpp, flang/test/Lower do-loop-branch-to-loop-header.f90 do_loop_unstructured.f90

[flang] Lower loops whose branching is confined to their body structurally

Such a loop was classified separately by a previous change but still
lowered as a raw CFG, so its structured form was lost.

Lower it structurally instead, with its body folded into a region that can
hold the branching. The loop keeps its bounds on the op, so it remains
available to whatever transforms or parallelizes it. Only the body is
folded: the loop control statements are emitted as they are for any
structured loop, since a branch from outside may target either of them.

Loops an OpenACC or OpenMP directive owns are lowered the same way, so
they keep their form too.
DeltaFile
+20-134flang/test/Lower/do_loop_unstructured.f90
+119-11flang/lib/Lower/Bridge.cpp
+73-0flang/test/Lower/OpenACC/acc-unstructured-internals.f90
+34-28flang/test/Lower/OpenMP/wsloop-unstructured-cycle.f90
+55-0flang/test/Lower/do-loop-branch-to-loop-header.f90
+50-0flang/test/Lower/OpenMP/metadirective-loop-unstructured.f90
+351-17310 files not shown
+453-24116 files

LLVM/project 4e323a6flang/include/flang/Lower PFTBuilder.h, flang/lib/Lower PFTBuilder.cpp

[flang] Detect loops whose branching is confined to their body

A DO loop is classified as either structured or unstructured, and a single
raw branch anywhere in its body forces the loop -- and every construct
enclosing it -- onto the unstructured path.

That is stronger than necessary. A loop keeps its structured control flow
as long as its branching neither leaves its body nor enters it from
outside. Classify such a loop separately from a fully unstructured one.

This only classifies: lowering is unchanged. PFT dumps mark the new
classification with '~', which is what the tests key on.
DeltaFile
+191-23flang/lib/Lower/PFTBuilder.cpp
+137-0flang/test/Lower/pre-fir-tree-unstructured-internals.f90
+51-6flang/include/flang/Lower/PFTBuilder.h
+9-6flang/test/Lower/trailing-cycle.f90
+388-354 files

LLVM/project d5c01b4flang/include/flang/Lower PFTBuilder.h

[flang][NFC] Say which control successors are not incoming branches

The map records branches, not every control successor: a construct
transferring control between its own statements is not a branch
(F2023 11.2.1 p1), so the successors analyzeBranches sets directly are
absent from it. Say so, rather than calling the map a plain inverse.
DeltaFile
+4-2flang/include/flang/Lower/PFTBuilder.h
+4-21 files

LLVM/project 84afb5aflang/lib/Optimizer/CodeGen CodeGen.cpp CodeGenOpenMP.cpp, flang/lib/Optimizer/Dialect FIROps.cpp

[flang] Stop using Operation::getAttrs (NFC) (#223049)

Migrate FIR attribute copying and printing to the explicit inherent and
discardable attribute APIs.

Also upgrade the textual assembly to stop mixing inherent and
discardable attributes in the same dictionary.

This is part of a general migration to use the "new" properties-based
APIs and stop mixing discardable/inherent attributes, see #155475

Assisted-by: Codex
DeltaFile
+143-59flang/lib/Optimizer/Dialect/FIROps.cpp
+77-77flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
+41-41flang/test/Lower/OpenACC/acc-reduction.f90
+37-37flang/test/Transforms/tbaa2.fir
+30-24flang/lib/Optimizer/CodeGen/CodeGen.cpp
+26-26flang/test/Lower/OpenMP/implicit-dsa.f90
+354-264522 files not shown
+2,413-2,299528 files

LLVM/project 27cddfellvm/lib/Target/Mips MipsInstrInfo.td, llvm/test/MC/Mips/mips32r6 valid.s

[Mips] Add sync instruction aliases (#225866)

These aliases are documented in the MIPS ISA Reference Manual. These
also exist in binutils and are declared to be part of the MIPS32R2 ISA.
DeltaFile
+6-0llvm/lib/Target/Mips/MipsInstrInfo.td
+5-0llvm/test/MC/Mips/mips64r6/valid.s
+5-0llvm/test/MC/Mips/mips64r5/valid.s
+5-0llvm/test/MC/Mips/mips64r3/valid.s
+5-0llvm/test/MC/Mips/mips64r2/valid.s
+5-0llvm/test/MC/Mips/mips32r6/valid.s
+31-05 files not shown
+48-211 files

LLVM/project e26fb78mlir/test/mlir-tblgen op-decl-and-defs.td op-operand.td, mlir/tools/mlir-tblgen OpDefinitionsGen.cpp

[mlir][ODS] Reuse collective builders for zero-result ops (NFC) (#226059)

Forward the no-result separate-argument builder to its collective
counterpart instead of generating the same operand, attribute, and
region construction twice. This cuts OpenMPDialect.cpp build time by
1.5% and its machine-code text by about 71 KB.

Assisted-by: Codex
DeltaFile
+7-4mlir/test/mlir-tblgen/op-attribute.td
+9-0mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+6-2mlir/test/mlir-tblgen/op-operand.td
+2-0mlir/test/mlir-tblgen/op-decl-and-defs.td
+24-64 files

LLVM/project 07fbbacmlir/include/mlir/IR Diagnostics.h, mlir/lib/IR Diagnostics.cpp

[mlir] Reduce Diagnostic storage across standard library debug modes (NFC) (#226070)

The multi-part diagnostic support added a SmallVector of part boundaries
to Diagnostic. With libstdc++'s _GLIBCXX_DEBUG enabled, the two
std::vector members also grow substantially: sizeof(Diagnostic) reaches
288 bytes. This exceeds the 256-byte limit for default
SmallVector<Diagnostic> and breaks Transform dialect builds that use
that type.

Use zero-inline SmallVectors for the owned string buffers and attached
notes. Both collections already allocated when populated, while their
empty representation no longer grows under _GLIBCXX_DEBUG. Give the
part-boundary vector zero inline elements as well: ordinary diagnostics
have a single part and never populate it. Keep the four inline argument
slots, so common diagnostic assembly retains its existing allocation
behavior. Splitting a diagnostic now allocates boundary storage.

On this 64-bit checkout, sizeof(Diagnostic) falls from 224 to 192 bytes
normally and from 288 to 192 bytes with _GLIBCXX_DEBUG.

Assisted-by: Codex
DeltaFile
+4-3mlir/include/mlir/IR/Diagnostics.h
+3-2mlir/lib/IR/Diagnostics.cpp
+7-52 files

LLVM/project 7942551offload/libompaccsupport AsyncInfo.cpp, offload/libomptarget CMakeLists.txt omptarget.cpp

[offload][nfc] Move AsyncInfoTy's definitions to libompaccsupport (#220991)

AsyncInfoTy will be used by both OpenMP and OpenACC. Extract its
implementation from `omptarget.cpp` into `libompaccsupport` so that it
can also be compiled independently by libacctarget.
DeltaFile
+69-0offload/libompaccsupport/AsyncInfo.cpp
+0-52offload/libomptarget/omptarget.cpp
+1-0offload/libomptarget/CMakeLists.txt
+70-523 files