LLVM/project 60f47a7 — libc/src/__support/threads/linux CMakeLists.txt, libc/src/__support/threads/linux/aarch64 CMakeLists.txt

[libc][cmake] Respect the configured optimization level for the Linux thread and TLS objects (#234382)

The `-O3` override on the Linux `thread` object dates from the old
approach of reading the thread arguments off the new thread's stack,
which #225384 removed; the `tls` objects copied the same pattern in
#225418. Neither needs it anymore, so drop the overrides and use the
optimization level configured by CMake.

Assisted-by: Claude
DeltaFile
+0-2libc/src/__support/threads/linux/CMakeLists.txt
+0-1libc/src/__support/threads/linux/x86_64/CMakeLists.txt
+0-1libc/src/__support/threads/linux/riscv/CMakeLists.txt
+0-1libc/src/__support/threads/linux/aarch64/CMakeLists.txt
+0-54 files

LLVM/project 06189c6 — clang/lib/Interpreter DeviceOffload.h

[NFC][clang-repl] Drop the private label in IncrementalCUDADeviceParser (#234600)

This is an NFC change. It moves the private members of
IncrementalCUDADeviceParser to the top of the class and drops the
`private:` specifier, to match `IncrementalHIPDeviceParser` and the rest
of the file.
DeltaFile
+9-11clang/lib/Interpreter/DeviceOffload.h
+9-111 files

LLVM/project e980d5f — llvm/lib/Analysis InstructionSimplify.cpp

[InstSimplify] Bail out early in simplifyICmpWithMinMax (NFC) (#234568)

All folds in simplifyICmpWithMinMax need at least one operand to be a
min/max. Bail out early to avoid wasting time on matching a number of
patterns.

stage1-O3: -0.05%
stage1-ReleaseThinLTO: -0.07%
stage1-ReleaseLTO-g: -0.04%
stage1-aarch64-O3: -0.05%
stage2-O3: -0.03%
stage2-clang: -0.04%


https://llvm-compile-time-tracker.com/compare.php?from=0668b6d3de48f173990d733f5a177fd88dc12b0d&to=035408799a27839f5341cd5a756f422b01bb15ff&stat=instructions:u

Aided by Opus 5.5

PR: https://github.com/llvm/llvm-project/pull/234568
DeltaFile
+4-0llvm/lib/Analysis/InstructionSimplify.cpp
+4-01 files

LLVM/project 01c7820 — llvm/lib/Target/AArch64 SMEInstrFormats.td AArch64InstrFormats.td

fixup! Rename the scalar MOVT index operand
DeltaFile
+2-2llvm/lib/Target/AArch64/SMEInstrFormats.td
+2-2llvm/lib/Target/AArch64/AArch64InstrFormats.td
+4-42 files

LLVM/project 238df2a — flang/unittests/Evaluate IntegerValueTest.cpp, llvm/test/CodeGen/AMDGPU float-to-arbitrary-fp-widen.ll

Rebase, other compile time improvements

Created using spr 1.3.7
DeltaFile
+4,842-5,011llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm90.ll
+4,185-0llvm/test/Transforms/LoopVectorize/WebAssembly/dequantize.ll
+0-3,634llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
+3,634-0llvm/test/Transforms/LoopVectorize/WebAssembly/CostModel/memory-interleave.ll
+1,465-1,512llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-widen.ll
+2,342-0flang/unittests/Evaluate/IntegerValueTest.cpp
+16,468-10,1571,646 files not shown
+95,215-40,0921,652 files

LLVM/project 61cdd63 — llvm/utils/gn/secondary/clang/lib/CodeGen BUILD.gn

[gn build] Port ebeb26d53eafd (#234608)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
+1-01 files

LLVM/project afb0c37 — llvm/utils/gn/secondary/clang/unittests/AST BUILD.gn

[gn build] Port e74976eb00d6b (#234607)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
+1-01 files

OPNSense/core a111233 — src/opnsense/scripts/suricata installRules.py

ids: explain why here
DeltaFile
+2-0src/opnsense/scripts/suricata/installRules.py
+2-01 files

LLVM/project 97722b0 — llvm/utils/gn/secondary/clang/lib/Sema BUILD.gn

[gn build] Port d7a7bd1667236 (#234604)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
+1-01 files

LLVM/project 3050038 — llvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp, llvm/test/CodeGen/AArch64/GlobalISel invoke-result-phi.ll

[GlobalISel] Preserve dominance when legalizing invoke-result PHIs

PHI legalization inserts conversions before the first terminator so they
execute on unwind edges. An invoke result is defined after the invoke-region
marker, however, and placing its conversion before that marker creates a
use before definition.

Keep the existing insertion point for values available before the invoke,
and insert after the definition for values produced inside the region.
Use the same rule for scalar and vector PHI resizing. This also ensures
vector widening for unwind PHIs executes before a potentially throwing call.

Update the pre-committed IR and helper-level checks and enable machine
verification in the IR test.
DeltaFile
+24-4llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+6-6llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
+4-5llvm/test/CodeGen/AArch64/GlobalISel/invoke-result-phi.ll
+34-153 files

LLVM/project 878337d — llvm/test/CodeGen/AArch64/GlobalISel invoke-result-phi.ll, llvm/unittests/CodeGen/GlobalISel LegalizerHelperTest.cpp

[GlobalISel][AArch64] Pre-commit PHI legalization tests around invokes

Cover a real invoke result and a vector PHI on an unwind edge. Check scalar
narrowing and vector splitting directly in LegalizerHelper tests so artifact
combining cannot hide misplaced conversions.

Record the current conversion placement for the subsequent dominance fix.
Temporarily disable machine verification in the IR test to capture the
existing use-before-definition output.
DeltaFile
+152-0llvm/test/CodeGen/AArch64/GlobalISel/invoke-result-phi.ll
+50-2llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
+202-22 files

LLVM/project 221475d — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Fixups
DeltaFile
+3-3llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-31 files

LLVM/project fef929a — flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics check-omp-variant.cpp openmp-utils.cpp

Verify selectorless clauses as well
DeltaFile
+36-19flang/lib/Semantics/openmp-utils.cpp
+9-15flang/lib/Semantics/check-omp-variant.cpp
+8-2flang/test/Semantics/OpenMP/metadirective-declare-reduction.f90
+5-0flang/include/flang/Semantics/openmp-utils.h
+58-364 files

LLVM/project b8ba120 — llvm/test/Transforms/LoopVectorize cse-replicate-poison-generating.ll

[LV] Add tests for CSE of replicates with poison-generating info (NFC) (#234590)
DeltaFile
+249-0llvm/test/Transforms/LoopVectorize/cse-replicate-poison-generating.ll
+249-01 files

FreeBSD/ports 458f95c — databases/jetbrains-datagrip pkg-plist Makefile

databases/jetbrains-datagrip: enable on powerpc64le

The fullLine native server is only shipped for x86_64.
DeltaFile
+1-1databases/jetbrains-datagrip/pkg-plist
+1-1databases/jetbrains-datagrip/Makefile
+2-22 files

FreeBSD/ports 9d9a9c3 — audio/linuxsampler Makefile, audio/linuxsampler/files patch-src_common_RTMath.cpp

audio/linuxsampler: enable on powerpc64*

RTMath.cpp carries a copy of the Linux kernel mftb() macro complete with
its __ftr_fixup section, which yields relocations lld rejects in PIC; a
plain mftb is all userspace needs.  Sent upstream.
DeltaFile
+21-0audio/linuxsampler/files/patch-src_common_RTMath.cpp
+1-1audio/linuxsampler/Makefile
+22-12 files

FreeBSD/ports fee1186 — devel/libmustache Makefile

devel/libmustache: fix build on powerpc64*

Thread sanitizer is not available there, and archived-template support,
the only user of xxHash, requires a little-endian target.
DeltaFile
+16-3devel/libmustache/Makefile
+16-31 files

FreeBSD/ports 84ae15c — games/crafty Makefile, games/crafty/files patch-Makefile patch-tbprobe.c

games/crafty: fix build on non-amd64

Drop -mpopcnt and assembly on non-amd64.
DeltaFile
+14-0games/crafty/files/patch-tbprobe.c
+1-6games/crafty/Makefile
+3-4games/crafty/files/patch-Makefile
+18-103 files

FreeBSD/ports c0b9e53 — audio/libspecbleach/files patch-thirdparty_pffft_src_simd_pf__altivec__float.h

audio/libspecbleach: fix build on powerpc64*

Add the VLOAD_* and VREV_* helpers to the AltiVec backend of the bundled
pffft and make ld_ps1() static like the other backends.
DeltaFile
+27-0audio/libspecbleach/files/patch-thirdparty_pffft_src_simd_pf__altivec__float.h
+27-01 files

FreeBSD/ports ff89d13 — emulators/ppsspp/files patch-Core_MIPS_fake_FakeJit.h

emulators/ppsspp: fix build on powerpc64le

FakeJit lacks the GetCodeBase() override the JIT interface requires.
DeltaFile
+10-0emulators/ppsspp/files/patch-Core_MIPS_fake_FakeJit.h
+10-01 files

LLVM/project c754214 — llvm/test/CodeGen/LoongArch/lasx vec-reduce-xor.ll vec-reduce-umin.ll, llvm/test/CodeGen/LoongArch/lasx/ir-instruction extractelement.ll

[LoongArch] Add patterns for `[X]VSTELM_W` to adapt to LA32 (#165224)
DeltaFile
+27-58llvm/test/CodeGen/LoongArch/lasx/vec-trunc-combine.ll
+15-28llvm/test/CodeGen/LoongArch/lasx/ir-instruction/extractelement.ll
+9-32llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
+16-22llvm/test/CodeGen/LoongArch/lasx/xvexth.ll
+11-24llvm/test/CodeGen/LoongArch/lasx/vec-reduce-xor.ll
+11-24llvm/test/CodeGen/LoongArch/lasx/vec-reduce-umin.ll
+89-18823 files not shown
+253-52029 files

LLVM/project 6ffccfa — lldb/source/Plugins/SymbolFile/NativePDB SymbolFileNativePDB.h SymbolFileNativePDB.cpp, lldb/test/API/functionalities/breakpoint/breakpoint_language TestBreakpointLanguage.py

[lldb][NativePDB] Implement FindFunctions with a regular expression (#233467)

`SymbolFileNativePDB::FindFunctions(const RegularExpression &, ...)` is
an empty stub, so regex breakpoints never find a `Function` and fall
back to the symbol table. Symbols carry no language, so a breakpoint's
language filter cannot find anything
(`BreakpointCreateByRegex("func_from", eLanguageTypeC_plus_plus)`
resolves to both the C and the C++ function).

This patch matches the regex against the function basenames and full
names (which also contain the mangled names), as `SymbolFileDWARF` does
with its index.

Fixes `TestBreakpointLanguage` with PDB.

rdar://190426286
DeltaFile
+52-34lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+4-0lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
+0-1lldb/test/API/functionalities/breakpoint/breakpoint_language/TestBreakpointLanguage.py
+56-353 files

LLVM/project 885e40a — mlir/lib/Conversion/TosaToLinalg TosaToLinalg.cpp, mlir/test/Conversion/TosaToLinalg tosa-to-linalg.mlir

[mlir][tosa] Don't broadcast non-constant mul shift and negate zero points (#233121)

When the `tosa.mul` shift or the `tosa.negate` zero points are not
constants,
the TosaToLinalg lowering passed them to the elementwise broadcasting
helpers,
which assume every operand has the rank of the input. These operands are
always
`tensor<1xT>`, so the lowering asserted for rank-0 inputs, for dynamic
shapes,
and for inputs with a size-1 dimension after the first (e.g. `3x1`).
Separately, when only one negate zero point was non-constant, the body
read both
zero points as block arguments although neither was passed to the
`linalg.generic`.
This patch keeps these single-element operands out of broadcasting and
passes
them to the `linalg.generic` with an indexing map that always reads
element 0.

    [12 lines not shown]
DeltaFile
+67-0mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
+38-19mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
+105-192 files

LLVM/project 9098cdc — clang-tools-extra/clangd/unittests FeatureModulesTests.cpp DiagnosticsTests.cpp

[clangd][NFC] Add regression coverage for current clang-tidy integration (#231461)

While moving clang-tidy into a FeatureModule, I found coverage gaps that
made it easy to accidentally change existing behavior.
This PR adds several tests to address this gap to make sure following
clang-tidy integration move into feature module won't lead to any
regressions.
The following functionalities are covered with with tests from this PR:
- Compiler warnings with no tidy checks enabled: `NOLINT` and
`WarningsAsErrors` must not affect them.
- Warning options from `clang-tidy` configuration: both `ExtraArgs` and
`ExtraArgsBefore` lists must affect warnings emitted during frontend
initialization.
- Configuration lookup: use `clangd`s requested filename, even when the
frontend input has a relative or different spelling.
- Consumer initialization: running `clang-tidy` must not reinitialize an
already initialized AST consumer.

These changes prepare moving the clang-tidy implementation into a

    [2 lines not shown]
DeltaFile
+84-0clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
+33-0clang-tools-extra/clangd/unittests/FeatureModulesTests.cpp
+117-02 files

FreeBSD/ports 1a4089b — databases/vchord Makefile

databases/vchord: fix build on powerpc64*

The simd crate uses unstable std::arch powerpc64 intrinsics.
DeltaFile
+7-0databases/vchord/Makefile
+7-01 files

FreeBSD/ports 7db4437 — math/libsemigroups Makefile pkg-plist

math/libsemigroups: only depend on HPCombi on amd64

HPCombi is SSE-only and the port already disables it elsewhere, but the
build dependency and the plist did not follow.  Fixes the build on
powerpc64*.
DeltaFile
+39-39math/libsemigroups/pkg-plist
+4-2math/libsemigroups/Makefile
+43-412 files

FreeBSD/ports 125ec25 — lang/chez-scheme Makefile, lang/chez-scheme/files patch-configure

lang/chez-scheme: enable on powerpc64*

There is no native backend for 64-bit PowerPC, so build the portable
bytecode variant.  configure has to be taught that FreeBSD reports
"powerpc" from uname -m for every PowerPC flavour.  Sent upstream.
DeltaFile
+22-0lang/chez-scheme/files/patch-configure
+5-1lang/chez-scheme/Makefile
+27-12 files

FreeBSD/ports e0f1d77 — lang/pfe Makefile, lang/pfe/files patch-pfe_def-regth.h patch-pfe_def-sbrcode.h

lang/pfe: fix build on powerpc64*

Do not select the 32-bit PowerPC subroutine-threading backend on
powerpc64 and let the portable one be used instead.
DeltaFile
+14-2lang/pfe/files/patch-pfe_def-sbrcode.h
+2-2lang/pfe/files/patch-pfe_def-regth.h
+0-1lang/pfe/Makefile
+16-53 files

FreeBSD/ports 8f02243 — science/anari pkg-plist Makefile

science/anari: fix build on powerpc64*

embree, which only the helide example device uses, has no PowerPC
support; build without that device there.
DeltaFile
+8-0science/anari/Makefile
+3-3science/anari/pkg-plist
+11-32 files

FreeBSD/ports fcebfe6 — databases/clickhouse-cpp Makefile

databases/clickhouse-cpp: enable on powerpc64
DeltaFile
+2-2databases/clickhouse-cpp/Makefile
+2-21 files