LLVM/project 746d09allvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

[SystemZ][z/OS] Fix "relative immediate relocation section mismatch" (#222437)

Constants should go inside the text section, but this is not explicitly
coded. In the test case, the EH table is generated into a PR section.
Then the constant pool of function `fn_with_const_pool()` is emitted,
which goes into the PR section of the EH table instead of the code
section. When the constant is later referenced in the code, the relative
offset cannot be calculated because different sections are involved.
The fix is to explicitly return the text section for constants.
DeltaFile
+6-0llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+5-0llvm/test/CodeGen/SystemZ/zos-eh.ll
+3-0llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+14-03 files

LLVM/project acc42b3llvm/lib/CodeGen TargetInstrInfo.cpp, llvm/lib/Target/AArch64 AArch64InstrInfo.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+353-0llvm/test/CodeGen/AArch64/machine-combiner-fma-chain.ll
+329-0llvm/test/CodeGen/X86/machine-combiner-fma-chain.ll
+271-0llvm/lib/CodeGen/TargetInstrInfo.cpp
+113-0llvm/test/CodeGen/RISCV/machine-combiner-fma-chain.ll
+80-0llvm/lib/Target/X86/X86InstrInfo.cpp
+45-0llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+1,191-07 files not shown
+1,279-213 files

FreeBSD/src 8e75ea5cddl/contrib/opensolaris/common/ctf ctf_hash.c

libctf: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    markj
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59537
DeltaFile
+1-2cddl/contrib/opensolaris/common/ctf/ctf_hash.c
+1-21 files

FreeBSD/src 076c9dbsbin/camcontrol persist.c

camcontrol: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    ken, imp
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59540
DeltaFile
+2-3sbin/camcontrol/persist.c
+2-31 files

FreeBSD/src e1a1206sbin/ifconfig ifieee80211.c

sbin/ifconfig: remove unused static function parameter

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    glebius
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59541
DeltaFile
+3-3sbin/ifconfig/ifieee80211.c
+3-31 files

FreeBSD/src c65c63ctests/sys/kqueue/libkqueue timer.c

tests/kqueue: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    markj
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59542
DeltaFile
+1-5tests/sys/kqueue/libkqueue/timer.c
+1-51 files

FreeBSD/src fead44bsbin/fsck_msdosfs dir.c

fsck_msdosfs: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    delphij
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59543
DeltaFile
+3-3sbin/fsck_msdosfs/dir.c
+3-31 files

LLVM/project 847fb5cllvm/include/llvm/Object GOFFObjectFile.h, llvm/lib/Object GOFFObjectFile.cpp ArchiveWriter.cpp

[llvm-ar][GOFF] Implement symbol attributes for GOFF archives (#214528)

z/OS archive symbol table entries contain a 32-bit attribute word
alongside each member offset.

The low three bits encode:
```
  bit 2 (0x4): 64-bit addressing (AMODE 64)
  bit 1 (0x2): XPLink calling convention
  bit 0 (0x1): Writable Static Area (WSA)
```

Previously in e2c8fa0, llvm-ar wrote zero for these attributes. This
patch reads them from GOFF ESD
records and stores them in a SymbolAttrs vector parallel to the existing
Symbols vector in MemberData
to emit the correct word per symbol.

These attributes are tested using `llvm-nm --print-armap` implemented in
#214527 within the LIT test.
DeltaFile
+76-0llvm/test/tools/llvm-ar/zos-symattrs.test
+38-14llvm/lib/Object/ArchiveWriter.cpp
+38-0llvm/lib/Object/GOFFObjectFile.cpp
+8-1llvm/test/tools/llvm-ar/zos-write.test
+6-0llvm/include/llvm/Object/GOFFObjectFile.h
+166-155 files

FreeBSD/src d1ef616sys/net iflib.c

iflib: remove unused variables

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    gallatin
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59544
DeltaFile
+3-3sys/net/iflib.c
+3-31 files

FreeBSD/ports b85f52bwww/dolibarr19 Makefile

www/dolibarr19: Fix CPE information
DeltaFile
+3-0www/dolibarr19/Makefile
+3-01 files

FreeBSD/ports 21d95c8www/dolibarr21 Makefile

www/dolibarr21: Fix CPE information
DeltaFile
+3-0www/dolibarr21/Makefile
+3-01 files

FreeBSD/ports 0013d39www/dolibarr20 Makefile

www/dolibarr20: Fix CPE information
DeltaFile
+3-0www/dolibarr20/Makefile
+3-01 files

FreeBSD/src d5047ddsys/dev/cxgb cxgb_sge.c

cxgb(4): remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    np
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59545
DeltaFile
+2-2sys/dev/cxgb/cxgb_sge.c
+2-21 files

FreeBSD/src 94f7019sys/netpfil/ipfilter/netinet ip_nat.c

ipfilter: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    cy
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-4sys/netpfil/ipfilter/netinet/ip_nat.c
+3-41 files

LLVM/project d37f496clang/lib/Driver/ToolChains/Arch ARM.cpp, clang/test/Driver eabi.c

CodeGen: Remove TargetOptions::EABIVersion

The field's only effect was gating the __aeabi_mem*[4|8] libcalls via the
IsEABI4/IsEABI5 predicates. That distinction is derivable from the triple's
environment, so replace the two predicates with a single
triple-derived IsEABIVersion and delete the field.

The clang -meabi option and clang::TargetOptions::EABIVersion are
retained (now codegen-inert); the llc/opt -meabi flag is removed. -meabi
now only takes effect on triples with a bare-EABI/GNU environment pair
(arm-none-eabi <-> gnueabi), which is the only case with a triple
representation.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+32-0clang/lib/Driver/ToolChains/Arch/ARM.cpp
+4-21llvm/test/CodeGen/ARM/arm-eabi.ll
+13-6clang/test/Driver/eabi.c
+7-11llvm/include/llvm/IR/RuntimeLibcalls.h
+0-17llvm/lib/Target/ARM/ARMTargetMachine.cpp
+7-7llvm/lib/IR/RuntimeLibcalls.cpp
+63-6231 files not shown
+130-15737 files

LLVM/project 8895125clang/lib/Basic/Targets ARM.cpp AArch64.cpp, clang/test/Frontend gnu-mcount.c

Let an explicit -meabi override the gnueabi mcount default
DeltaFile
+2-1clang/lib/Basic/Targets/ARM.cpp
+2-1clang/lib/Basic/Targets/AArch64.cpp
+2-0clang/test/Frontend/gnu-mcount.c
+6-23 files

LLVM/project 9abcb40clang/lib/Basic/Targets AArch64.cpp ARM.cpp, clang/test/Frontend gnu-mcount.c

clang/ARM: Derive -pg mcount name from the triple environment

For a glibc/gnueabi ARM and AArch64 targets, GCC's -pg instrumentation
always calls __gnu_mcount_nc (with the caller pushing LR, per the "nc"
no-LR-clobber ABI). clang only produced this when -meabi=gnu was passed
explicitly; a separate gnueabi triple wrongly called plain "mcount".

On ARM, glibc's EABI profiling entry point is __gnu_mcount_nc
(sysdeps/arm/arm-mcount.S, exported since GLIBC_2.8). It does provide plain
mcount/_mcount, but only as a legacy APCS compat alias (__mcount_arm_compat,
gated on GCC_COMPAT(4,3)/SHLIB_COMPAT) that reads an APCS frame-pointer
record rather than following the EABI push-LR convention. Calling it from
EABI -pg code is thus an ABI mismatch, not the intended entry point.

Derive the GNU-vs-plain mcount name from the triple environment in addition
to the explicit -meabi=gnu, so a gnueabi target gets the correct __gnu_mcount_nc
call by default, matching GCC:

    push    {lr}

    [5 lines not shown]
DeltaFile
+6-3clang/test/Frontend/gnu-mcount.c
+4-3clang/lib/Basic/Targets/ARM.cpp
+3-1clang/lib/Basic/Targets/AArch64.cpp
+13-73 files

LLVM/project 5e497ceclang/test/OpenMP sections_reduction_task_codegen.cpp parallel_reduction_codegen.cpp

[OpenMP] Avoid use of ConstantExpr::getSizeOf() (#222662)

Support for this will be dropped as part of the ptradd migration.
Replace with a constant size.

While I'm touching the code anyway, I also simplified the size
calculation a bit. It's computing both the size in bytes and in
elements. Avoid doing an unnecessary division followed by multiply for
the size in bytes.
DeltaFile
+296-300clang/test/OpenMP/for_reduction_codegen.cpp
+275-280clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
+275-280clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
+250-253clang/test/OpenMP/for_reduction_codegen_UDR.cpp
+232-235clang/test/OpenMP/parallel_reduction_codegen.cpp
+177-180clang/test/OpenMP/sections_reduction_task_codegen.cpp
+1,505-1,52823 files not shown
+3,166-3,22629 files

LLVM/project af00b17utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[BUILD]: Fix for #221812 (#222671)

[BUILD]: Fix for #221812
DeltaFile
+20-5utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+20-51 files

LLVM/project 658872cllvm/lib/Target/SystemZ/MCTargetDesc SystemZTargetStreamer.cpp, llvm/test/CodeGen/SystemZ zos-ppa1.ll zos-align-constpool.ll

[SystemZ][z/OS] Correctly align the constant pool and the PPA1 (#222128)

Both should be half-word aligned. However, testing revealed that both
can end up on odd addresses, which leads to relocation errors. Fix is to
change the alignment.
DeltaFile
+20-0llvm/test/CodeGen/SystemZ/zos-align-constpool.ll
+2-2llvm/test/CodeGen/SystemZ/zos-ppa1.ll
+2-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
+24-23 files

LLVM/project 972a171llvm/test/Transforms/InstCombine/SystemZ libcall-arg-exts.ll

[InstCombine] Generate test checks (NFC) (#222670)

With UTC_ARGS --disable to preserve the declaration check lines
at the end.
DeltaFile
+42-17llvm/test/Transforms/InstCombine/SystemZ/libcall-arg-exts.ll
+42-171 files

LLVM/project 29a4849llvm/lib/Target/Hexagon HexagonPatternsHVX.td HexagonISelLowering.h, llvm/test/CodeGen/Hexagon vreduce-max-lowering.ll vreduce-min-lowering.ll

[Hexagon] Lower vreduce(min|max)((imum)?) (#211898)

Add custom lowering for VECREDUCE_FMIN/FMAX/FMINIMUM/FMAXIMUM on HVX
float vector types. The target-independent default expansion reduces
these pairwise using the hardware min/max instruction directly, which
does not implement IEEE-754 NaN-propagation semantics: a NaN in the
input can silently corrupt the reduction result, and an all-NaN input
produces a non-NaN value instead of NaN.

The custom lowering strips NaN elements to the appropriate neutral value
(+/-Inf) before the pairwise tree reduction so a NaN can't corrupt other
lanes, then fixes up the scalar result to NaN if every input element was
NaN.

FMINNUM/FMAXNUM on HVX vector types get the same treatment: NaN operands
are replaced with the neutral value before delegating to the hardware
min/max, with a fixup to restore NaN when both operands were NaN (per
llvm.minnum/maxnum semantics).

Co-authored-by: Kaushik Kulkarni <kauskulk at qti.qualcomm.com>
DeltaFile
+194-2llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
+109-0llvm/test/CodeGen/Hexagon/vreduce-fminmax-nan-fixup.ll
+81-0llvm/test/CodeGen/Hexagon/vreduce-min-lowering.ll
+59-0llvm/test/CodeGen/Hexagon/vreduce-max-lowering.ll
+8-0llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
+8-0llvm/lib/Target/Hexagon/HexagonISelLowering.h
+459-26 files

LLVM/project a4e37ddllvm/cmake/modules AddLLVM.cmake, mlir/cmake/modules AddMLIR.cmake

[mlir] Reuse the MLIRIR PCH through dependencies (NFC)

Track whether an MLIR library's link closure reaches MLIRIR and reuse the
MLIRIR PCH for those libraries. Preserve higher-priority local PCHs and add an
explicit opt-out for targets whose sources are incompatible with reuse.

Relative to the core and LLVM dialect PCH parent, clean Release builds of LLVM
and MLIR with Ninja -j16 pinned to CPUs 16-31 improved as follows:

  wall:   398.79s -> 386.47s (-3.09%)
  user:  5789.14s -> 5624.02s (-2.85%)
  system: 455.05s -> 438.45s (-3.65%)

Assisted-by: Codex
DeltaFile
+60-1mlir/cmake/modules/AddMLIR.cmake
+38-0mlir/test/lib/CMake/CMakeLists.txt
+8-1llvm/cmake/modules/AddLLVM.cmake
+1-0mlir/test/lib/CMakeLists.txt
+1-0mlir/test/lib/CMake/Inputs/PCHOptOut.c
+1-0mlir/test/lib/CMake/Inputs/PCHOptOut.cpp
+109-26 files

LLVM/project e7c30a5mlir/include/mlir/Dialect/LLVMIR pch.h, mlir/lib CMakeLists.txt

[mlir][LLVM] Reuse a PCH for MLIRLLVMDialect (NFC)

Build a private precompiled header from the LLVM dialect and LLVM IR headers
and use it for MLIRLLVMDialect. Build dialect libraries before conversions so
the PCH is available early and repeated parsing is avoided.

Relative to the MLIRIR PCH parent, clean Release builds of LLVM and MLIR with
Ninja -j16 pinned to CPUs 16-31 improved as follows:

  wall:   420.41s -> 398.79s (-5.14%)
  user:  6125.97s -> 5789.14s (-5.50%)
  system: 481.88s -> 455.05s (-5.57%)

Assisted-by: Codex
DeltaFile
+14-0mlir/include/mlir/Dialect/LLVMIR/pch.h
+3-0mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+1-1mlir/lib/CMakeLists.txt
+18-13 files

LLVM/project 6b70650mlir/include/mlir/IR pch.h, mlir/lib CMakeLists.txt

[mlir] Reuse a precompiled header for MLIRIR (NFC) (#222576)

Build a private precompiled header from the common MLIR IR headers and
use it for MLIRIR. Build Support and IR first so the PCH is available
early, and qualify the LLVM LSP Location name that the broader header
surface exposes.

On current main, clean Release builds of LLVM and MLIR with `ninja -j16`
improved as follows:

```
  wall:   535.99s -> 420.41s (-21.56%)
  user:  7550.29s -> 6125.97s (-18.86%)
  system: 569.85s -> 481.88s (-15.44%)
```

Assisted-by: Codex
DeltaFile
+20-0mlir/include/mlir/IR/pch.h
+8-8mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
+2-2mlir/lib/CMakeLists.txt
+3-0mlir/lib/IR/CMakeLists.txt
+33-104 files

FreeBSD/ports 7868521textproc/libebml Makefile distinfo, textproc/libebml/files patch-src_EbmlUnicodeString.cpp

textproc/libebml: Update to 1.4.7
DeltaFile
+4-4textproc/libebml/files/patch-src_EbmlUnicodeString.cpp
+3-3textproc/libebml/distinfo
+1-1textproc/libebml/Makefile
+8-83 files

LLVM/project e6e102aclang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/Passes RunCodeGen.h

[Passes] Add DisableSimplifyLibCalls flag to runCodeGenPipeline (#222430)

This enables this abstraction to be a drop-in replacement for rustc
after some minor refactoring.
DeltaFile
+9-8llvm/lib/Passes/RunCodeGen.cpp
+2-1clang/lib/CodeGen/BackendUtil.cpp
+1-0llvm/include/llvm/Passes/RunCodeGen.h
+12-93 files

LLVM/project 26c633blldb/test/Shell/SymbolFile/NativePDB ast-restore.test class-layout.test, lldb/test/Shell/SymbolFile/NativePDB/Inputs ClassLayoutTest.cpp

[lldb] Move most PDB shell tests to NativePDB (#222370)

I plan to remove the DIA PDB plugin before the 24 release - we switched
the default to the native one in 22. To avoid losing test coverage in
the process, this moves the SymbolFile/PDB tests to
SymbolFile/NativePDB. They were already running with both plugins. In
some cases, we set `env LLDB_USE_NATIVE_PDB_READER=1`, which I flipped.

The remaining shell tests are:
- `func-symbols.test`: Has a duplicate in NativePDB with different
checks, because the two plugins don't create identical types (see
comment in test)
- `udt-layout.test`: Also has a duplicate with different checks, because
the two plugins show the base classes in a different order.

Other than that, there's also a [unittest for
PDB](https://github.com/llvm/llvm-project/blob/2de38b4861ed4a7be7ddd42fc803e91d1fe81b14/lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp).
I'm not sure what we should do about it. Looking over the tests there,
most of these are already covered by the shell tests.
DeltaFile
+0-114lldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
+112-0lldb/test/Shell/SymbolFile/NativePDB/Inputs/ClassLayoutTest.cpp
+0-103lldb/test/Shell/SymbolFile/PDB/class-layout.test
+103-0lldb/test/Shell/SymbolFile/NativePDB/class-layout.test
+0-92lldb/test/Shell/SymbolFile/PDB/ast-restore.test
+92-0lldb/test/Shell/SymbolFile/NativePDB/ast-restore.test
+307-30973 files not shown
+1,312-1,30479 files

FreeNAS/freenas cecf2c8src/middlewared/middlewared/plugins/container __init__.py migrate.py, src/middlewared/middlewared/pytest/unit/alert/inventory applicability.txt

Create `IncusVirtualMachinesWereNotMigratedAlert` if there still are some Incus VM datasets
DeltaFile
+57-3src/middlewared/middlewared/plugins/container/migrate.py
+1-5src/middlewared/middlewared/plugins/container/__init__.py
+2-0src/middlewared/middlewared/pytest/unit/alert/inventory/applicability.txt
+60-83 files

FreeBSD/ports a2eaecemultimedia/openshot Makefile pkg-plist, multimedia/openshot/files patch-MANIFEST.in patch-src_launch.py

multimedia/openshot: Update to 4.0.0 and switch to Qt6

PR:             296230, 297734
DeltaFile
+204-64multimedia/openshot/pkg-plist
+0-171multimedia/openshot/files/patch-doc_effects.rst
+31-27multimedia/openshot/files/patch-setup.py
+9-6multimedia/openshot/Makefile
+14-0multimedia/openshot/files/patch-src_launch.py
+10-3multimedia/openshot/files/patch-MANIFEST.in
+268-2715 files not shown
+276-29911 files