FreeBSD/ports 6c98e19devel/ispc Makefile

devel/ispc: specify versioned shared llvm library in LIB_DEPENDS

Purpose: depend on the correct llvm lib during build

PR:     298722
DeltaFile
+1-1devel/ispc/Makefile
+1-11 files

FreeBSD/ports 64829bamath/metis Makefile, math/metis/files patch-GKlib_CMakeLists.txt

math/metis: unbreak with cmake-4

PR:             295319
Reported by:    ngie

(cherry picked from commit b4e41e88370e0533c718953482cdf76483aa96bf)
DeltaFile
+8-0math/metis/files/patch-GKlib_CMakeLists.txt
+0-3math/metis/Makefile
+8-32 files

FreeBSD/ports b4e41e8math/metis Makefile, math/metis/files patch-GKlib_CMakeLists.txt

math/metis: unbreak with cmake-4

PR:             295319
Reported by:    ngie
DeltaFile
+8-0math/metis/files/patch-GKlib_CMakeLists.txt
+0-3math/metis/Makefile
+8-32 files

LLVM/project 4d2312boffload/include device.h, offload/libompaccsupport PluginManager.cpp device.cpp

[offload][omp] Move OpenMP KLE to libomptarget

Move preparations related to OpenMP KLE and
dynamicCGroupMem fallback out of the plugins and
into libomptarget.

Resructure Device::launch as it grew too large.
DeltaFile
+290-60offload/libompaccsupport/device.cpp
+2-144offload/plugins-nextgen/common/src/PluginInterface.cpp
+5-50offload/plugins-nextgen/common/include/PluginInterface.h
+1-1offload/plugins-nextgen/common/src/RecordReplay.cpp
+1-0offload/libompaccsupport/PluginManager.cpp
+1-0offload/include/device.h
+300-2556 files

LLVM/project 89b1283offload/include device.h, offload/libompaccsupport device.cpp

[offload][omp] Move strict threads & groups computation to libomptarget
DeltaFile
+178-3offload/libompaccsupport/device.cpp
+0-147offload/plugins-nextgen/common/src/PluginInterface.cpp
+9-63offload/plugins-nextgen/common/include/PluginInterface.h
+40-1offload/include/device.h
+9-9offload/test/offloading/ompx_bare_gridsize.c
+1-1offload/test/offloading/ompx_bare_multi_dim.cpp
+237-2242 files not shown
+238-2278 files

LLVM/project c358556offload/include device.h, offload/libompaccsupport PluginManager.cpp

[offload][omp] Move reading _kernel_environment to libomptarget
DeltaFile
+57-64offload/plugins-nextgen/common/include/PluginInterface.h
+26-47offload/plugins-nextgen/common/src/PluginInterface.cpp
+66-0offload/libompaccsupport/PluginManager.cpp
+19-0offload/include/device.h
+9-2offload/plugins-nextgen/cuda/src/rtl.cpp
+0-6offload/plugins-nextgen/host/src/rtl.cpp
+177-1193 files not shown
+185-1209 files

LLVM/project ded3f27offload/include PluginManager.h, offload/libompaccsupport PluginManager.cpp

Remove host special handling after compiler changes
DeltaFile
+2-11offload/libompaccsupport/PluginManager.cpp
+0-3offload/include/PluginManager.h
+2-142 files

LLVM/project 7552487offload/libompaccsupport PluginManager.cpp

Address review comments
DeltaFile
+11-7offload/libompaccsupport/PluginManager.cpp
+11-71 files

LLVM/project ddc7d4bllvm/lib/Target/Hexagon HexagonFrameLowering.cpp, llvm/test/CodeGen/Hexagon copy-to-combine-const64.mir

Hexagon: Don't duplicate the PC def when converting a return to L4_return (#225059)
DeltaFile
+6-5llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
+1-1llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
+1-1llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
+8-73 files

OpenBSD/ports VeErlXMgeo/spatialite/freexl Makefile

   freexl is no longer BROKEN on sparc64
VersionDeltaFile
1.11+0-2geo/spatialite/freexl/Makefile
+0-21 files

LLVM/project 04b52bfclang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp, clang/test/CIR/CodeGen ternary.cpp

[CIR] Fix assertion with pointer offset in ternary (#224724)

Ternary lowers into some blocks, so the values that come into it end up
being block arguments, so there is no defining op for them. As a result,
the 'optimization' of the zero/subtract isn't really possible. THis
patch uses a dyn_cast_if_present instead of a dyn_cast to make sure we
don't hit that.
DeltaFile
+18-0clang/test/CIR/Lowering/ternary.cir
+15-0clang/test/CIR/CodeGen/ternary.cpp
+2-2clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+35-23 files

LLVM/project bc9e7aellvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AArch64 vector-interleave-consecutive-splats.ll

[SelectionDAG] fold interleave of contiguous splats (#224318)

When operands of vector_interleave is splats and each splat's is from a
contiguous source , interleave operations can be folded to shuffles of
source of splat.
i.e.
interleave(splat(S[J]), splat(S[J+1]), splat(S[J+2]), ..., splat(S[J +
Factor - 1]))
can be folded to
shuffles (S[J], S[J+1], S[J+Factor -1], S[J]....)
DeltaFile
+102-0llvm/test/CodeGen/AArch64/vector-interleave-consecutive-splats.ll
+23-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+125-12 files

LLVM/project 7e47ea2llvm/test/MC/AMDGPU out-of-range-registers.s misaligned-vgpr-tuples-err.s

[AMDGPU] Update no-modifier operand tests for the dropped align diagnostic

The no-modifier reg-or-inline operands routed through the HwMode
predicate now report a misaligned tuple as a plain invalid operand,
matching the diagnostic dropped earlier in the stack.
DeltaFile
+7-7llvm/test/MC/AMDGPU/misaligned-vgpr-tuples-err.s
+1-1llvm/test/MC/AMDGPU/out-of-range-registers.s
+8-82 files

LLVM/project 995b5eellvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU] Rename the no-modifier operand predicate to *Target, NFC

Match the *Target naming used for the other alignment-aware operand
predicates.
DeltaFile
+48-48llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+48-481 files

LLVM/project 5f8ab46llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/test/MC/AMDGPU misaligned-vgpr-tuples-err.s

[AMDGPU] Route no-modifier reg-or-inline AsmParser operands through HwMode predicate

Convert the reg-or-inline operands with no modifiers (MFMA VGPR/AGPR
sources, VCSrc, v_pk_mov_b32, VOP scalar f64) from the fixed-class
isRegOrInlineNoMods to the HwMode-aware isRegOrInlineNoModsByHwMode, so an
odd-aligned tuple is rejected at the offending operand column instead of by
the validateVGPRAlign catch-all.

Co-Authored-By: Claude <noreply at anthropic.com>
DeltaFile
+53-46llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+7-7llvm/test/MC/AMDGPU/misaligned-vgpr-tuples-err.s
+60-532 files

LLVM/project feeabeallvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Fold zero dot operands to accumulator

Fold AMDGPU dot intrinsics when either operand is zero.

`dot(a, 0) = 0` and `dot(0, b) = 0`, so replace the intrinsic with its accumulator.
This avoids unrelated clamp and add/sub reassociation cases.
DeltaFile
+15-30llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+3-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+18-302 files

LLVM/project 16603bcllvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Canonicalize dot constant operands

Move constant dot product source operands to the right hand side
and add tests for signed and unsigned dot intrinsics.
DeltaFile
+12-12llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+9-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+21-122 files

LLVM/project cfae066llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Fold constant add/sub into the dot accumulator

`amdgcn.{s,u}dot{2,4,8}(a, b, C) +/- K -> dot(a, b, C +/- K)` when both the
accumulator C and K are constants. The new constant is computed with
wrapping APInt arithmetic to match the non-clamping accumulate.

Only applies when clamp is false (the saturating accumulate does not
reassociate) and the dot has a single use. K - dot is left alone since it
would need the dot product negated.
DeltaFile
+33-66llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+38-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+71-662 files

LLVM/project 6993e67llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

Use splat
DeltaFile
+2-2llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+2-21 files

LLVM/project 3e4b32allvm CMakeLists.txt, llvm/cmake WiXPerMachinePatch.xml

workflows/release-binaries: Improve Windows installer (#220414)

The Windows WiX installer was missing two things for its setup:

1. The "product ID" which is used to uninstall any previous installed
LLVM versions. This avoids having versions living side-by-side with each
new release. I've reused the same GUID as the current 23.1.0 Win64
installer, to continue that "line" of product. The AArch64 installation
and any prior LLVM version (NSIS) before 23.1.0 will need to be
uninstalled manually, if we want to avoid side-by-side installatin.

2. A "per machine" scope which avoids messy installations which are
installed globally, but cannot be uninstalled globally, and available
only for the current user. After this PR, the installation is available
/ uninstallable to all users on the machine.

Since LLVM currently requires cmake 3.20 for building, and hasn't been
bumped yet to 3.31, also provide a workaround for the WiX scope setup.


    [3 lines not shown]
DeltaFile
+50-2llvm/utils/release/build_llvm_release.bat
+15-0llvm/CMakeLists.txt
+6-0llvm/docs/ReleaseNotes.md
+5-0llvm/cmake/WiXPerMachinePatch.xml
+76-24 files

LLVM/project 69172declang/test/OpenMP teams_distribute_parallel_for_schedule_codegen.cpp target_parallel_for_simd_codegen.cpp

[clang][flang][omp] Always generate a kernel environment (#223772)

Currently OpenMP doesn't generate a Kernel Enviroment for host kernels
or ompx_bare kernels. This causes the runtime to have special handling
for this cases.

This patch ensures that a Kernel Environment is always generated which
will allow to simplify the RTL handling.

Done mostly by Claude.
DeltaFile
+1,413-1,413clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+1,031-1,031clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
+873-873clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
+816-816clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
+6,939-6,939130 files not shown
+26,644-26,516136 files

LLVM/project 5b77f2fmlir/docs Remarks.md, mlir/include/mlir/IR Remarks.h

[MLIR][Remark] Emit final-policy remarks in deterministic order

RemarkEmittingPolicyFinal stores remarks in a DenseSet whose hash
includes the location pointer, so the output order depends on heap
layout and changes between runs. Twenty runs of
mlir/test/Pass/remark-final.mlir gave fourteen different orders, which
is why the test uses CHECK-DAG.

Store remarks in a MapVector keyed by a new Identity: location, remark
name, combined category name and kind, the same fields the DenseSet
compared. A repeated identity overwrites the stored remark in place, so
a remark is printed where its identity was first reported with the
content it last had. Root remarks come out in first-report order and
linked children still follow their parent.

Identity is a private nested type of the policy, since nothing outside
decides what that policy treats as the same remark. Its asTuple() is the
only place the field list appears and drives both hashing and equality,
so the two cannot disagree about which fields matter. IdentityInfo is

    [14 lines not shown]
DeltaFile
+44-28mlir/include/mlir/IR/Remarks.h
+58-4mlir/unittests/IR/RemarkTest.cpp
+20-14mlir/test/Pass/remark-final.mlir
+15-9mlir/docs/Remarks.md
+5-5mlir/lib/IR/Remarks.cpp
+142-605 files

LLVM/project 0a40cb2libc/src/__support/CPP CMakeLists.txt vector.h, libc/test/src/__support/CPP CMakeLists.txt vector_test.cpp

[libc][CPP][NFC] Remove unused cpp::vector container (#224976)

Removed cpp::vector (added in 5afbbd04803c) and its unit tests.

The group and password database entrypoints now pack auxiliary pointer
arrays into the trailing scratch space of DynamicBuffer (7252edd9aa82),
leaving cpp::vector with no callers in the codebase.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+0-309libc/src/__support/CPP/vector.h
+0-302libc/test/src/__support/CPP/vector_test.cpp
+0-17libc/src/__support/CPP/CMakeLists.txt
+0-12libc/test/src/__support/CPP/CMakeLists.txt
+0-6404 files

LLVM/project 233f110orc-rt/lib/bedrock/sys/windows TargetTriple.cpp, orc-rt/test/unit/bedrock/sys TargetTripleTest.cpp

[orc-rt] Implement Windows target triple detection (#224514)

Adds Windows target triple detection for ORC-RT.

Currently supports x86-64 MSVC targets only. ARM64 will be added once
tested on that platform.
DeltaFile
+7-1orc-rt/lib/bedrock/sys/windows/TargetTriple.cpp
+5-2orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp
+12-32 files

LLVM/project 94eb926libsycl/include/sycl/__impl queue.hpp, libsycl/src queue.cpp

[libsycl] Integrate context to async handlers. (#224050)

Assisted-by: Claude Code.

---------

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
DeltaFile
+119-1libsycl/unittests/event/async_handler.cpp
+23-3libsycl/src/detail/global_objects.cpp
+13-6libsycl/src/detail/global_objects.hpp
+7-9libsycl/include/sycl/__impl/queue.hpp
+6-1libsycl/src/detail/queue_impl.hpp
+6-0libsycl/src/queue.cpp
+174-206 files

LLVM/project d903ac4llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Fold zero dot operands to accumulator

Fold AMDGPU dot intrinsics when either operand is zero.

`dot(a, 0) = 0` and `dot(0, b) = 0`, so replace the intrinsic with its accumulator.
This avoids unrelated clamp and add/sub reassociation cases.
DeltaFile
+15-30llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+3-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+18-302 files

LLVM/project a6f825dllvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Fold constant add/sub into the dot accumulator

`amdgcn.{s,u}dot{2,4,8}(a, b, C) +/- K -> dot(a, b, C +/- K)` when both the
accumulator C and K are constants. The new constant is computed with
wrapping APInt arithmetic to match the non-clamping accumulate.

Only applies when clamp is false (the saturating accumulate does not
reassociate) and the dot has a single use. K - dot is left alone since it
would need the dot product negated.
DeltaFile
+33-66llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+38-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+71-662 files

LLVM/project 1cb8c43llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Canonicalize dot constant operands

Move constant dot product source operands to the right hand side
and add tests for signed and unsigned dot intrinsics.
DeltaFile
+12-12llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+9-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+21-122 files

LLVM/project 4c284b6llvm/test/Transforms/InstCombine/AMDGPU llvm.amdgcn.dot.ll

[AMDGPU][InstCombine] Add dot zero/constant folding tests. NFC
DeltaFile
+616-0llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
+616-01 files

OpenBSD/ports tU7mk6Hdevel/xtensa-esp32-elf/binutils Makefile

   xtensa-esp32-elf/binutils is no longer BROKEN on sparc64
VersionDeltaFile
1.12+0-2devel/xtensa-esp32-elf/binutils/Makefile
+0-21 files