[all-commits] [llvm/llvm-project] 387703: [LoopIdiom] Select llvm.experimental.memset.patter...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed Jul 9 09:48:07 PDT 2025
Branch: refs/heads/users/alexey-bataev/spr/slp-emit-reduction-instead-of-2-extracts-scalar-op-when-vectorizing-operands
Home: https://github.com/llvm/llvm-project
Commit: 3877039fd1d09f87f13fdf64c544eafcfc09c650
https://github.com/llvm/llvm-project/commit/3877039fd1d09f87f13fdf64c544eafcfc09c650
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
A llvm/test/Transforms/LoopIdiom/RISCV/memset-pattern.ll
M llvm/test/Transforms/LoopIdiom/basic.ll
M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
Log Message:
-----------
[LoopIdiom] Select llvm.experimental.memset.pattern intrinsic rather than memset_pattern16 libcall (#126736)
In order to keep the change as incremental as possible, this only
introduces the memset.pattern intrinsic in cases where memset_pattern16
would have been used. Future patches can enable it on targets that don't
have the intrinsic, and select it in cases where the libcall isn't
directly usable. As the memset.pattern intrinsic takes the number of
times to store the pattern as an argument unlike memset_pattern16 which
takes the number of bytes to write, we no longer try to form an i128
pattern.
Special care is taken for cases where multiple stores in the same loop
iteration were combined to form a single pattern. For such cases, we
inherit the limitation that loops such as the following are supported:
```
for (unsigned i = 0; i < 2 * n; i += 2) {
f[i] = 2;
f[i+1] = 2;
}
```
But the following doesn't result in a memset.pattern (even though it
could be, by forming an appropriate pattern):
```
for (unsigned i = 0; i < 2 * n; i += 2) {
f[i] = 2;
f[i+1] = 3;
}
```
Addressing this existing deficiency is left for a follow-up due to a
desire not to change too much at once (i.e. to target equivalence to the
current codegen).
A command line option is introduced to force the selection of the
intrinsic even in cases it wouldn't be (i.e. in cases where the libcall
wouldn't have been selected). This is intended as a transitionary option
for testing and experimentation, to be removed at a later point.
The only platforms this should impact are those that have the memset_pattern16 libcall (Apple platforms). Testing performed to check for no unexpected codegen changes is described here https://github.com/llvm/llvm-project/pull/126736#issuecomment-3005097468
Commit: 27c9b55659c99fad4583fb6fa29dd079ea8b9582
https://github.com/llvm/llvm-project/commit/27c9b55659c99fad4583fb6fa29dd079ea8b9582
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRVCL.td
M clang/include/clang/Basic/BuiltinsSPIRVCommon.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/__clang_spirv_builtins.h
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
A clang/test/CodeGenSPIRV/Builtins/ids_and_ranges.c
A clang/test/Headers/spirv_ids.cpp
A clang/test/SemaSPIRV/BuiltIns/ids_and_ranges.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/builtin_intrinsics_32.ll
A llvm/test/CodeGen/SPIRV/builtin_intrinsics_64.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupThreadID.ll
Log Message:
-----------
[SPIRV] Add more id and range builtIns (#143909)
The patch adds intrinsics and lowering logic for GlobalSize,
GlobalOffset, SubgroupMaxSize, NumWorkgroups, WorkgroupSize,
WorkgroupId, LocalInvocationId, GlobalInvocationId, SubgroupSize,
NumSubgroups, SubgroupId and SubgroupLocalInvocationId SPIR-V builtins.
The patch also extend spv_thread_id, spv_group_id and
spv_thread_id_in_group to return anyint rather than i32. This allows the
intrinsics to support the opencl environment.
For each of the intrinsics, new clang builtins were added as well as a
binding for the SPIR-V "friendly" format. The original format doesn't
define such binding (uses global variables) but it is not possible to
express the Input SC which is normally required by the environement
specs, and using builtin functions is the most usual approach for other
backend and programming models.
Commit: ab187bbd3a5c64451846aa3480f271a93dfba760
https://github.com/llvm/llvm-project/commit/ab187bbd3a5c64451846aa3480f271a93dfba760
Author: Andreas C. Osowski <andreas at osowski.de>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
A clang/test/AST/ast-print-cconv-preserve.cpp
M clang/test/Sema/preserve-call-conv.c
M clang/test/Sema/preserve-none-call-conv.c
M clang/test/SemaCXX/lambda-attributes.cpp
Log Message:
-----------
[clang][AST] Fix positioning of preserve cconv attributes in TypePrinter (#147285)
TypePrinter currently generates function pointer types that do not
compile when using the `preserve_.*` calling conventions as per
https://clang.llvm.org/docs/AttributeReference.html#preserve-all ff.
Running clang with `-Xclang -ast-print` on the following:
```cc
using IN1 = void (__attribute__((preserve_most)) *)();
using IN2 = __attribute__((preserve_most)) void (*) ();
```
outputs:
```cc
using IN1 = void (*)() __attribute__((preserve_most));
using IN2 = void ((*))() __attribute__((preserve_most));
```
However, this does not compile:
```cc
<source>:3:23: error: expected ';' after alias declaration
3 | using IN1 = void (*)() __attribute__((preserve_most));
```
This PR updates TypePrinter such that output is correct and compiles:
```cc
using IN1 = __attribute__((preserve_most)) void (*)();
using IN2 = __attribute__((preserve_most)) void ((*))();
```
I've verified via `-ast-dump` that the AST looks equivalent.
Commit: beea2a941470368a87b1816e455b1db366c1bbb9
https://github.com/llvm/llvm-project/commit/beea2a941470368a87b1816e455b1db366c1bbb9
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/SemaCXX/ms-layout_version.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
Log Message:
-----------
[Clang] Respect MS layout attributes during CUDA/HIP device compilation (#146620)
This patch fixes an issue where Microsoft-specific layout attributes,
such as __declspec(empty_bases), were ignored during CUDA/HIP device
compilation on a Windows host. This caused a critical memory layout
mismatch between host and device objects, breaking libraries that rely
on these attributes for ABI compatibility.
The fix introduces a centralized hasMicrosoftRecordLayout() check within
the TargetInfo class. This check is aware of the auxiliary (host) target
and is set during TargetInfo::adjust if the host uses a Microsoft ABI.
The empty_bases, layout_version, and msvc::no_unique_address attributes
now use this centralized flag, ensuring device code respects them and
maintains layout consistency with the host.
Fixes: https://github.com/llvm/llvm-project/issues/146047
Commit: 0740db9bc12672295bde72e7007f7837f7f632c0
https://github.com/llvm/llvm-project/commit/0740db9bc12672295bde72e7007f7837f7f632c0
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M offload/tools/offload-tblgen/APIGen.cpp
Log Message:
-----------
[Offload] Add `_LAST` variant for generated enumerations (#147314)
Commit: 380954b26f64cb31da028d355941a394a3d0dacc
https://github.com/llvm/llvm-project/commit/380954b26f64cb31da028d355941a394a3d0dacc
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/test/AST/ast-print-cconv-preserve.cpp
Log Message:
-----------
Fix test failure introduced in ab187bb
This patch, #147285 introduced a test that used
preserve_none/preserve_all/preserve_most for the purposes of validating
its ast-dump. However, this attribute isn't supported on some
platforms, so this patch adds a triple to the test to ensure we try to
run it as a non-supported platform.
As this is simply an ast-dump test, there is no value to running it on
other configurations.
Commit: 13a1a632c25482f8fc0ffe2ca2147dec27d4d931
https://github.com/llvm/llvm-project/commit/13a1a632c25482f8fc0ffe2ca2147dec27d4d931
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
Log Message:
-----------
[lldb][test] Move std::valarray from libcxx to generic directory (#147704)
This just moves the test from `libcxx` to `generic`. There are currently
no `std::valarray` formatters for libstdc++ so I didn't add a test-case
for it.
Split out from https://github.com/llvm/llvm-project/pull/146740
Commit: 8ff636309d995871627546572520b3c638830f68
https://github.com/llvm/llvm-project/commit/8ff636309d995871627546572520b3c638830f68
Author: A. Jiang <de34 at live.cn>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
Log Message:
-----------
[libc++][docs] Fix bad status and links in Cxx2cIssues.csv (#147669)
Currently, versions for (already implemented) LWG4024 and LWG4157 are
listed, but they are not marked "Complete" yet.
- LWG4024 was implemented together with P1020R1 + P1973R1 in 9af9d39a47d.
- LWG4157 was implemented together with P2167R3 in 557f7e1398e1.
Moreover, links for LWG issues resolved in 2025-02 Hagenberg meeting
were broken, they need to be fixed.
Commit: 1e6dd8c1e47f90f33b4ade4a13309d978212c297
https://github.com/llvm/llvm-project/commit/1e6dd8c1e47f90f33b4ade4a13309d978212c297
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/TestDataFormatterStdU8String.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/TestDataFormatterMsvcStlString.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/TestDataFormatterMsvcStlU8String.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/main.cpp
Log Message:
-----------
[lldb][test] Merge MSVC STL std::(u8)string tests into generic directory (#147525)
Now that most STL formatter tests have been moved to `generic`. Do the
same for the MSVC tests (which are currently just for `std::string`).
The `std::string` test was mostly the same (MSVC just had 1 additional
check, which I moved over).
We also only tested `u8string` with MSVC. So i moved those into
`generic` as-is. I kept it separate from the existing std::string tests
since it requires c++20.
The tests are currently failing for libc++ and libstdc++ because MSVC
had a test case which checked that:
```
std::string overwritten_zero("abc");
const_cast<char *>(overwritten_zero.data())[3] = 'd';
```
prints as `"abc"`. But libc++ and libstdc++ print it as `"abcd"` (which
seems like the more correct thing to do?)
Commit: fa80a1a4d46d3efedd82855dc3b8c1031b11e4e1
https://github.com/llvm/llvm-project/commit/fa80a1a4d46d3efedd82855dc3b8c1031b11e4e1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterStdRangesRefView.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/main.cpp
Log Message:
-----------
[lldb][test] Move std::ranges::ref_view from libcxx to generic directory (#147705)
This just moves the test from `libcxx` to `generic`. There are currently
no `std::ranges::ref_view` formatters for libstdc++ so I didn't add a
test-case for it.
Split out from https://github.com/llvm/llvm-project/pull/146740
Commit: a34db6f88937666d35a86d4aaa149e3506ecaec4
https://github.com/llvm/llvm-project/commit/a34db6f88937666d35a86d4aaa149e3506ecaec4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
Log Message:
-----------
[libc++] Mark a few LWG issues as complete instead of Nothing To Do
A few LWG issues did require some testing changes and were not just
non-normative wording changes in the spec, so those should be
"Complete" instead of "Nothing to do".
Also mark LWG3987 and LWG4113 as complete:
- LWG3987 was done in https://github.com/llvm/llvm-project/pull/137524
- LWG4113 was done in https://github.com/llvm/llvm-project/pull/138291
Commit: bed9fe77dc690cf0147a0819350f275e65947cbe
https://github.com/llvm/llvm-project/commit/bed9fe77dc690cf0147a0819350f275e65947cbe
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/global.c
A offload/unittests/OffloadAPI/device_code/global_ctor.c
A offload/unittests/OffloadAPI/device_code/global_dtor.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Tests for global memory and constructors (#147537)
Adds two "launch kernel" tests for lib offload, one testing that
global memory works and persists between different kernels, and one
verifying that `[[gnu::constructor]]` works correctly.
Since we now have tests that contain multiple kernels in the same
binary, the test framework has been updated a bit.
Commit: 8905b1c38f15d7f7b31e741222ae1de0a11222d8
https://github.com/llvm/llvm-project/commit/8905b1c38f15d7f7b31e741222ae1de0a11222d8
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/zicond-opts.ll
Log Message:
-----------
[RISCV] Efficiently lower (select %cond, andn (f, x), f) using zicond (#147369)
The following case is now optimized:
(select c, (and f, ~x), f) -> (andn f, (czero_eqz x, c))
Commit: 92fbfc22c1c560e4484d4260a8ed7747f6b75476
https://github.com/llvm/llvm-project/commit/92fbfc22c1c560e4484d4260a8ed7747f6b75476
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[LLDB] Fix build after TargetInfo::adjust signature change (#147727)
Fixes buildbot failure on lldb-x86_64-debian due to
https://github.com/llvm/llvm-project/pull/146620
https://lab.llvm.org/buildbot/#/builders/162/builds/26414
Update LLDB calls to TargetInfo::adjust() to use the new 3-parameter
signature introduced in beea2a941470368a87b1816e455b1db366c1bbb9. Pass
nullptr for AuxTarget since LLDB doesn't use auxiliary targets in these
contexts.
Commit: 1770e9b5c6f9e95f253b0d8619de6f3a4290c96e
https://github.com/llvm/llvm-project/commit/1770e9b5c6f9e95f253b0d8619de6f3a4290c96e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
M mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] remove dangling builders from td (#147619)
These are "dangling" builders (decls are emitted but there are no defns
anywhere).
Commit: 2d030b0ecdb32b7b6b9d47f66182db7e2dafa026
https://github.com/llvm/llvm-project/commit/2d030b0ecdb32b7b6b9d47f66182db7e2dafa026
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[lldb][Expression][NFC] Run clang-format on ClangExpressionParser.cpp and ClangModulesDeclVendor.cpp
This wasn't addressed as part of https://github.com/llvm/llvm-project/pull/147727
Commit: 18ea6fcb23ff77362008a8e1ae8671d5d6f019fe
https://github.com/llvm/llvm-project/commit/18ea6fcb23ff77362008a8e1ae8671d5d6f019fe
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Propose new ClangIR Maintainer (#147365)
@xlauko is an active PR reviewer, contributing to ClangIR/MLIR
discussion for years now, and has been effectively overseeing the
quality of CIR dialect (the MLIR part). I'd like to nominate him to join
the list of maintainers.
---------
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Commit: d0caf0d4857c2b00ba988f86703663685ec8697f
https://github.com/llvm/llvm-project/commit/d0caf0d4857c2b00ba988f86703663685ec8697f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M flang/include/flang/Common/format.h
Log Message:
-----------
[flang] Avoid undefined behaviour when parsing format expressions (#147539)
The test flang/test/Semantics/io08.f90 was failing when UBSAN was
enabled:
```
/home/david.spickett/llvm-project/flang/include/flang/Common/format.h:224:26: runtime error: signed integer overflow: 10 * 987654321098765432 cannot be represented in type 'int64_t' (aka 'long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/david.spickett/llvm-project/flang/include/flang/Common/format.h:224:26
```
This is because the code was effectively:
* Take the risk of UB happening
* Check whether it happened or not
Which UBSAN is obviously not going to like. Instead of checking after
the fact, use llvm's helpers that catch overflow without actually doing
it.
Commit: 44d37695a5e158afdd9d3f9805d4a4a04cfc270a
https://github.com/llvm/llvm-project/commit/44d37695a5e158afdd9d3f9805d4a4a04cfc270a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/locale.cpp
A libcxx/test/benchmarks/locale/ctype.bench.cpp
Log Message:
-----------
[libc++] Optimize ctype::to{lower,upper} (#145344)
```
----------------------------------------------
Benchmark old new
--------------------------- ------------------
BM_tolower_char<char> 1.64 ns 1.41 ns
BM_tolower_char<wchar_t> 1.64 ns 1.41 ns
BM_tolower_string<char> 32.4 ns 12.8 ns
BM_tolower_string<wchar_t> 32.9 ns 15.1 ns
BM_toupper_char<char> 1.63 ns 1.64 ns
BM_toupper_char<wchar_t> 1.63 ns 1.41 ns
BM_toupper_string<char> 32.2 ns 12.7 ns
BM_toupper_string<wchar_t> 33.0 ns 15.1 ns
```
Commit: e8e5d07767c444913f837dd35846a92fcf520eab
https://github.com/llvm/llvm-project/commit/e8e5d07767c444913f837dd35846a92fcf520eab
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M flang/include/flang/Common/format.h
Log Message:
-----------
Revert "[flang] Avoid undefined behaviour when parsing format expressions (#147539)"
This reverts commit d0caf0d4857c2b00ba988f86703663685ec8697f.
MathExtras.h is not found in some builds.
Commit: 9f6784cc1fe40429bcab90540adabe870a78772c
https://github.com/llvm/llvm-project/commit/9f6784cc1fe40429bcab90540adabe870a78772c
Author: Ye Luo <yeluo at anl.gov>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M offload/test/offloading/disable_default_device.c
Log Message:
-----------
[libomptarget] fix test offloading/disable_default_device.c
Fixes the incorrect lit command line introduced in 536ba87726d8dea862d964678dbb761ca32e21fb
Commit: 3640a5842be1bf9dcdad72eb1fca97bc66f5b444
https://github.com/llvm/llvm-project/commit/3640a5842be1bf9dcdad72eb1fca97bc66f5b444
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Add Commutable flag to XNOR. (#147654)
Commit: 62f8377e4029b2db9b4826431625244c17598019
https://github.com/llvm/llvm-project/commit/62f8377e4029b2db9b4826431625244c17598019
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
Log Message:
-----------
[LV] Extend FindFirstIV to unsigned case (#146386)
Extend FindFirstIV vectorization to the unsigned case by introducing and
handling FindFirstIVUMin.
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: cd193f4c057ee5005197219df1c646b939a85711
https://github.com/llvm/llvm-project/commit/cd193f4c057ee5005197219df1c646b939a85711
Author: DonĂ¡t Nagy <donat.nagy at ericsson.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
Log Message:
-----------
[analyzer] Remove redundant bug type DoubleDelete (#147542)
This commit removes the DoubleDelete bug type from `MallocChecker.cpp`
because it's completely redundant with the `DoubleFree` bug (which is
already used for all allocator families, including new/delete).
This simplifies the code of the checker and prevents the potential
confusion caused by two semantically equivalent and very similar, but
not identical bug report messages.
Commit: 179107997c0a06644aa1f177fbae7ad997457df5
https://github.com/llvm/llvm-project/commit/179107997c0a06644aa1f177fbae7ad997457df5
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Update after db7888ca9aef6c203b363bbb395549b4e6cfa9d4 (#146732) (#147726)
Commit: cbb2ef3835df827b2809f4dedce6687626f30f5c
https://github.com/llvm/llvm-project/commit/cbb2ef3835df827b2809f4dedce6687626f30f5c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/TestDataFormatterStdU8String.py
Log Message:
-----------
[lldb][test] Fix MSVC std::string formatter tests
These were mistakenly changed during https://github.com/llvm/llvm-project/pull/147525
Commit: 38cd9033987623a00a144eeb304ccacdb27d116a
https://github.com/llvm/llvm-project/commit/38cd9033987623a00a144eeb304ccacdb27d116a
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/xandesvsinload-vln8.ll
M llvm/test/CodeGen/RISCV/rvv/xandesvsinload-vlnu8.ll
Log Message:
-----------
[RISCV] Convert the XAndesVSIntLoad intrinsic tests to opaque pointers. NFC
Commit: 6d7be75e3990e34af8ea6660c92ddca853543006
https://github.com/llvm/llvm-project/commit/6d7be75e3990e34af8ea6660c92ddca853543006
Author: David Green <david.green at arm.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64][GISel] Handle small vector fadd reductions.
This adds some test cases for v2 and v3 half vector fadd reductions. In doing
so it appears that GlobalISel was having trouble lowering the smaller vector
sizes. Add some basic handling by widening to a power2 or scalarizing if
necessary. Larger vectors are still having problems as FewerElements currently
requires the number of elements to be modula the vector length.
Commit: b1aa3e45f23a939d6473592a0449f647ca9cbc7b
https://github.com/llvm/llvm-project/commit/b1aa3e45f23a939d6473592a0449f647ca9cbc7b
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/lib/AST/CommentSema.cpp
Log Message:
-----------
[clang][diagnostics] Refactor "warn_doc_api_container_decl_mismatch" to use enum_select (#146433)
Related: https://github.com/llvm/llvm-project/issues/123121
This patch refactors the `warn_doc_api_container_decl_mismatch`
diagnostic to use enum_select instead of select. This gets rid of magic
numbers and improves readability in the caller site.
Commit: 0cc841ad28ff615f139425533f49e6a0a4c38b59
https://github.com/llvm/llvm-project/commit/0cc841ad28ff615f139425533f49e6a0a4c38b59
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M clang/Maintainers.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/BuiltinsSPIRVCL.td
M clang/include/clang/Basic/BuiltinsSPIRVCommon.td
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Headers/__clang_spirv_builtins.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/test/AST/ast-print-cconv-preserve.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
A clang/test/CodeGenSPIRV/Builtins/ids_and_ranges.c
A clang/test/Headers/spirv_ids.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Sema/preserve-call-conv.c
M clang/test/Sema/preserve-none-call-conv.c
M clang/test/SemaCXX/lambda-attributes.cpp
M clang/test/SemaCXX/ms-layout_version.cpp
A clang/test/SemaSPIRV/BuiltIns/ids_and_ranges.c
M clang/tools/clang-import-test/clang-import-test.cpp
M flang/include/flang/Optimizer/Dialect/FIROps.td
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__config
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/locale.cpp
A libcxx/test/benchmarks/locale/ctype.bench.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterStdRangesRefView.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/TestDataFormatterStdU8String.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/TestDataFormatterMsvcStlString.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/main.cpp
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/Makefile
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/TestDataFormatterMsvcStlU8String.py
R lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/main.cpp
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/RISCV/rvv/xandesvsinload-vln8.ll
M llvm/test/CodeGen/RISCV/rvv/xandesvsinload-vlnu8.ll
M llvm/test/CodeGen/RISCV/zicond-opts.ll
A llvm/test/CodeGen/SPIRV/builtin_intrinsics_32.ll
A llvm/test/CodeGen/SPIRV/builtin_intrinsics_64.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupThreadID.ll
A llvm/test/Transforms/LoopIdiom/RISCV/memset-pattern.ll
M llvm/test/Transforms/LoopIdiom/basic.ll
M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
M mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/lib/Dialect/Test/TestOps.td
M offload/test/offloading/disable_default_device.c
M offload/tools/offload-tblgen/APIGen.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/global.c
A offload/unittests/OffloadAPI/device_code/global_ctor.c
A offload/unittests/OffloadAPI/device_code/global_dtor.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rebase, supported ordered reductions
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/0c24c4bac83e...0cc841ad28ff
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list