mirror-llvm-project/llvm
Alexey Bataev ed9551146f
[SLP]Improve reductions for copyables/split nodes
The original support for copyables leads to a regression in x264 in
RISCV, this patch improves detection of the copyable candidates by more
precise checking of the profitability and adds and extra check for
splitnode reduction, if it is profitable.

Fixes #184313

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/185697
2026-03-23 18:45:28 +00:00
..
benchmarks
bindings [llvm-c] Add LLVMParseIRInContext2 (#174085) 2026-01-08 16:50:05 +00:00
cmake [cmake] Restore exception flags in llvm-config --cxxflags (#176195) 2026-01-19 10:00:45 +00:00
docs Update ptrtoaddr provenance reference in ReleaseNotes 2026-03-18 21:13:49 +00:00
examples [llvm-c] Add LLVMParseIRInContext2 (#174085) 2026-01-08 16:50:05 +00:00
include [DTLTO][Windows] Expand short 8.3 form paths in ThinLTO module IDs (#178303) 2026-02-18 08:19:19 +00:00
lib [SLP]Improve reductions for copyables/split nodes 2026-03-23 18:45:28 +00:00
projects
resources
runtimes Revert "[OpenMP] Remove LLVM_ENABLE_PROJECTS=openmp build mode (#152189)" 2026-01-08 13:10:46 +01:00
test [SLP]Improve reductions for copyables/split nodes 2026-03-23 18:45:28 +00:00
tools [cmake] Restore exception flags in llvm-config --cxxflags (#176195) 2026-01-19 10:00:45 +00:00
unittests [AArch64][llvm] Update Armv9.7-A dependencies (#185034) 2026-03-12 23:26:49 +00:00
utils Bump version to 22.1.2 2026-03-11 00:31:53 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [cmake] Make CMAKE_BUILD_TYPE=Release the default (#174520) 2026-01-12 17:18:51 -08:00
CMakePresets.json
configure
CREDITS.TXT
LICENSE.TXT
Maintainers.md [BOLT] Update maintainers list 2026-01-08 13:57:26 -08:00
README.txt
RELEASE_TESTERS.TXT

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.