[all-commits] [llvm/llvm-project] d746bc: [LoopInterchange] Add test for direction vector of...
Daniil Kovalev via All-commits
all-commits at lists.llvm.org
Tue Jul 7 04:52:09 PDT 2026
Branch: refs/heads/users/kovdan01/ptrauth-module-flags-mismatch
Home: https://github.com/llvm/llvm-project
Commit: d746bcfec552523ec1fe4852e1437b9cb3c4a400
https://github.com/llvm/llvm-project/commit/d746bcfec552523ec1fe4852e1437b9cb3c4a400
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/dependency-all-neg-eq.ll
Log Message:
-----------
[LoopInterchange] Add test for direction vector of `[* > =]` (NFC) (#206958)
Add a test case with a direction vector of `[* > =]`. Interchanging the
inner two loops is legal in this case, but it is currently not applied
because the definition of the "normal" form of direction vectors is not
good.
Commit: 3c16a8b183693e8df2e2173764e10c33c33ab06a
https://github.com/llvm/llvm-project/commit/3c16a8b183693e8df2e2173764e10c33c33ab06a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++] Don't #define __unused with glibc in system_reserved_names.gen.py (#206971)
Newer glibc versions use the identifier `__unused`. To run the test
successufly again disable the `__unused` check with glibc.
Commit: 28f08a6f64a7677ee5e1af6729103cf35df366f9
https://github.com/llvm/llvm-project/commit/28f08a6f64a7677ee5e1af6729103cf35df366f9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/include/__locale
M libcxx/include/module.modulemap.in
M libcxx/include/syncstream
M libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
M libcxx/test/std/library/description/conventions/expos.only.func/synth_three_way.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
Log Message:
-----------
[libc++] Don't make libc++ headers system headers in the modulemap (#205509)
We currently have `[system]` attributes in the modulemap, which
automatically makes the headers inside the module system headers. This
disables warnings when running the tests, which we generally don't want.
We also already have `#pragma GCC system_header` everywhere and use
`-isystem`, so there isn't much need for the tag in the modulemap as
well.
Commit: e16a0a30801efea7129751a4757f278a34269799
https://github.com/llvm/llvm-project/commit/e16a0a30801efea7129751a4757f278a34269799
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
Log Message:
-----------
[NFC][LLVM][Verifier] Eliminate redundant checks for GC intrinsics (#206890)
Commit: b5f36b15d16e97dc4cdd04ab60a37ef4a51d1a76
https://github.com/llvm/llvm-project/commit/b5f36b15d16e97dc4cdd04ab60a37ef4a51d1a76
Author: David Spickett <david.spickett at arm.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/Target/RegisterFlags.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
M lldb/test/API/linux/aarch64/permission_overlay/TestAArch64LinuxPOE.py
M lldb/unittests/Target/RegisterFlagsTest.cpp
Log Message:
-----------
[lldb] Print register enum types only once (#204818)
Even if multiple fields reference them. I found this debugging AArch64
POE which has a register that contains 16 permission fields. All of
which use the same enum type.
Before these changes:
```
(lldb) register info por
<...>
Perm15: 0 = No Access, 1 = Read, 2 = Execute, 3 = Read, Execute, 4 = Write, 5 = Write, Read, 6 = Write, Execute, 7 = Read, Write, Execute <... 14 copies of the enum one per field...>
Perm0: 0 = No Access, 1 = Read, 2 = Execute, 3 = Read, Execute, 4 = Write, 5 = Write, Read, 6 = Write, Execute, 7 = Read, Write, Execute
```
After:
```
(lldb) register info por_el0
<...>
Perm15, Perm14, Perm13, Perm12, Perm11, Perm10, Perm9, Perm8, Perm7, Perm6, Perm5, Perm4, Perm3, Perm2, Perm1, Perm0: 0 = No Access, 1 = Read, 2 = Execute,
3 = Read, Execute, 4 = Write,
5 = Write, Read, 6 = Write, Execute,
7 = Read, Write, Execute
```
Which looks weird because we indent the enum according to the list of
fields still, but I may change that later. Anyway, this won't be a
problem for most cases where 2 or 3 fields share a type. This register
is an extreme example.
A unit test has been added and a test for POE using the existing core
file tests. They both test the same thing but the POE test is there to
show a motivating example.
Assisted by: Codex (gpt 5.5)
Commit: 5a7be9b2a8fcd508facd360010ad940a70bde396
https://github.com/llvm/llvm-project/commit/5a7be9b2a8fcd508facd360010ad940a70bde396
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/vp-intrinsics-bad.ll
Log Message:
-----------
[NFC][LLVM] Adopt vector overload types for vp cast intrinsics (#206548)
Commit: 2146dab17c298b296e16c22cac64bf9ccd9f4e2f
https://github.com/llvm/llvm-project/commit/2146dab17c298b296e16c22cac64bf9ccd9f4e2f
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/test/Dialect/Affine/pipeline-data-transfer.mlir
Log Message:
-----------
[mlir][affine] Add trip count check for affine-pipeline-data-transfer pass (#206755)
Fix `affine-pipeline-data-transfer` to skip loops with a constant trip
count ≤0, avoiding invalid DMA generation that leads to wrong code.
Commit: 19f4c9913d17c7df8d78d3541943d47f67cf8073
https://github.com/llvm/llvm-project/commit/19f4c9913d17c7df8d78d3541943d47f67cf8073
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_after_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_hit_count_early_exit.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/where_hit_count.cpp
Log Message:
-----------
[Dexter] Enable after_hit_count for state nodes (#203846)
The after_hit_count attribute for a state node causes it to become
active only after it would have become active N times. This uses the
existing logic for incrementing hit counts, i.e. after the node becomes
"active", we will not add another hit count until it stops being active
for at least one step. Since state nodes with after_hit_count do not
become active before reaching the required hit count, this requires us
to keep track of an "early" set of state nodes, meaning nodes that would
be active if not for their after_hit_count.
Commit: 5e4eb7f4c8f4ef30254fcbc9dd15c032f1039484
https://github.com/llvm/llvm-project/commit/5e4eb7f4c8f4ef30254fcbc9dd15c032f1039484
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/RTTI.h
M orc-rt/lib/executor/RTTI.cpp
Log Message:
-----------
[orc-rt] Add missing noexcept specifiers to RTTI.h. (#206979)
Adds noexcept specifiers that were missing from some methods in RTTI.h.
Commit: 517e48db3117985e328930ce283285cd935db631
https://github.com/llvm/llvm-project/commit/517e48db3117985e328930ce283285cd935db631
Author: David Spickett <david.spickett at arm.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Utility/Log.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Utility/Log.cpp
M lldb/test/API/commands/log/invalid-args/TestInvalidArgsLog.py
M lldb/tools/lldb-server/LLDBServerUtilities.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Utility/LogTest.cpp
Log Message:
-----------
[lldb] Return llvm::Error from EnableLogChannel (#206479)
Instead of a boolean plus writing errors to a stream.
llvm::Error is either success or an error message, unlike
before where we could (and did sometimes) succeed but
also have an error message.
We can do this for DisableLogChannel too but
I'll do that in a follow up.
Commit: 6087989da294a85291d7e562e03714dbdd231624
https://github.com/llvm/llvm-project/commit/6087989da294a85291d7e562e03714dbdd231624
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Log Message:
-----------
[NFC][AMDGPU] Use SIInstrFlags predicates in Disassembler (#206762)
Replace raw TSFlags accesses with SIInstrFlags predicate calls in
AMDGPUDisassembler.
Part of a series following the introduction of SIInstrFlags predicates.
Commit: 41f826f54cb7c9e263068bfb0eb03bb90bc272fa
https://github.com/llvm/llvm-project/commit/41f826f54cb7c9e263068bfb0eb03bb90bc272fa
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/conditions.cpp
Log Message:
-----------
[Dexter] Add condition check to state nodes (#203847)
This patch enables the ability for state nodes to check conditions,
meaning they will be active only if the condition is met.
Condition evaluation is somewhat language specific; we directly check
whether the value of the evaluated expression is "true"
(case-insensitive), which works for the languages we actually use Dexter
with, but may require generalizing in future.
We also cache conditions as they are evaluated; each time we step, we
clear all cached conditions for the current frame and any expired
frames, but we keep the cached conditions for any frames rootwards from
the current frame; this prevents us from unexpectedly exiting out of a
callee frame because of debug info not surviving a stack unwind; if the
early exit is desired, an !and{at_frame_idx, condition} under the lower
frame may suffice.
Commit: c9ae1305b08161a626a9c7267350bd36b01f2393
https://github.com/llvm/llvm-project/commit/c9ae1305b08161a626a9c7267350bd36b01f2393
Author: Jan André Reuter <jan at zyten.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A offload/test/ompt/get_num_devices.c
M openmp/runtime/src/ompt-general.cpp
Log Message:
-----------
[OpenMP][OMPT] Map `ompt_get_num_devices` to runtime function (#200790)
Since 82e94a593433f36734e2d34898d353a2ecb65b8b, `ompt_get_num_devices`
was hard coded to always provide a return value of `1`, regardless of
the actual number of devices. Tools relying on this return value were
henced forced to use other approaches to estimate the number of
available devices.
To improve the situtation, map the returned value to the one provided by
`omp_get_num_devices()`. This does not resolve the issue completely
though. When OMPT is initialized through `libomptarget.so`, the
PluginManager, providing the number of devices, is not initialized until
after OMPT has been fully set up. This means that tools, trying to
retrieve the number of devices during the _initialize_ callback, will
still receive the incorrect number of devices.
Still, this is a significant improvement compared to the prior state
which provided an incorrect result for most of the program runtime.
Closes #196829
---------
Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
Commit: 525f5a1ded8c66e4a3dff82ed066df8cf6a67dae
https://github.com/llvm/llvm-project/commit/525f5a1ded8c66e4a3dff82ed066df8cf6a67dae
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
R clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc-amdgcnspirv.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
Revert "[HIP][AMDGPU] Use non-LTO pipeline for non-RDC in the linker wrapper (#201135)" (#206961)
I believe I fixed the immediate issues that were causing regressions
with this, and now this is leading to its own regressions in building
Pytorch apparently. This was explicitly marked as a hack, and this
should resolve an ongoing issue so we should revert this for now.
Should fix LCOMPILER-2396
This reverts commit eaff67c9838f98d221aa563c9e5d4e714d636674.
Commit: bb6868abb8dd6f8ef7130ed2c81cf538793547c6
https://github.com/llvm/llvm-project/commit/bb6868abb8dd6f8ef7130ed2c81cf538793547c6
Author: A. Jiang <de34 at live.cn>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/include/__memory/temporary_buffer.h
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
Log Message:
-----------
[libc++] Fix behavior for `get_temporary_buffer` with non-positive size (#206871)
Per C++17 [depr.temporary.buffer]/4, `get_temporary_buffer` is required
to return `{nullptr, 0}` when the size argument is zero or negative.
libc++ used to correctly handle this, but the refactoring in
94e7c0b051c79fd56205f115771980f2e7812306 got this wrong.
GCC generally warns on negative size due to `-Walloc-size-larger-than=`,
which is false positive due to incomplete control flow analysis. The
warning is coupled with optimizations, and this patch make tests
suppress it instead.
Commit: 4ddf664c6c3d6487c7fca1fd2149c0f2356db321
https://github.com/llvm/llvm-project/commit/4ddf664c6c3d6487c7fca1fd2149c0f2356db321
Author: Fedor Nikolaev <fridrixnm at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M mlir/lib/ABI/ABITypeMapper.cpp
M mlir/unittests/ABI/ABITypeMapperTest.cpp
Log Message:
-----------
[mlir][ABI] Fix scalable vector mapping in ABITypeMapper (#206617)
mapVectorType in ABITypeMapper incorrectly used ElementCount::getFixed
for all vector types, including scalable ones (e.g. vector<[4]xf32>).
This results in scalable vectors being mapped as fixed-size vectors,
which produces incorrect ABI lowering for SVE and RISC-V V targets.
Commit: 8a3b7152a396073bbcaf5f2a49ef0ad2512f8b7e
https://github.com/llvm/llvm-project/commit/8a3b7152a396073bbcaf5f2a49ef0ad2512f8b7e
Author: Harishankar.1 <88716735+Harishankar14 at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
A llvm/test/CodeGen/X86/combine-fcmp-uno-self.ll
Log Message:
-----------
[X86] Fold FP UNORD/ORD compare against known-non-NaN to self-compare (#206943)
Replace a known-non-NaN operand of an UNORD/ORD FP compare with the
other operand, so we emit `cmpp a, a` instead of materializing the
constant with `vxorpd`. Matches GCC.
Added combine-fcmp-uno-self.ll which covers the folding and a negative
case.
Fixes #202756
Commit: 3b0c4575ec629192c54b2504a32dc99692e3973f
https://github.com/llvm/llvm-project/commit/3b0c4575ec629192c54b2504a32dc99692e3973f
Author: hulxv <hulxxv at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libc/shared/builtins.h
A libc/shared/builtins/divdf3.h
M libc/src/__support/builtins/CMakeLists.txt
A libc/src/__support/builtins/divdf3.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_builtins_test.cpp
Log Message:
-----------
[libc] add shared divdf3 builtin (#205675)
Re-exposes LLVM-libc's `__divdf3` as `shared::divdf3` for reuse by
compiler-rt's builtins.
Stacked change - merge these first:
- #200094
- #205669
- #205670
- #205671
- #205672
- #205673
- #205674
Part of #197824
Commit: 5f282ce09f961d33414bb6c42a57b907efcb6aec
https://github.com/llvm/llvm-project/commit/5f282ce09f961d33414bb6c42a57b907efcb6aec
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/include/wchar.h
Log Message:
-----------
[libc++] Assume that <wchar.h> in llvm-libc has const-overloads. (#206805)
See discussion in https://github.com/llvm/llvm-project/pull/201236 -
we're close to enabling wide characters in libc++ when it's built on top
of llvm-libc.
llvm-libc headers use `const wchar_t*` return type for selected wchar
functions, so we need to configure libc++ to assume that const-overloads
for these functions are available in this case, and the implementations
in libc++ wrapper around `<wchar.h>` are not needed.
Commit: fc5798ef92ed1eddd80ef84ba739204dd0877d20
https://github.com/llvm/llvm-project/commit/fc5798ef92ed1eddd80ef84ba739204dd0877d20
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
M llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Cancel common addend/multiplier in SimplifyICmpOperands (#205014)
Simplify:
```
(K + A) pred (K + B) -> A pred B
(C * A) pred (C * B) -> A pred B
```
when no-wrap flags allow it: NSW for signed predicates, NUW for
unsigned. Also requires C > 0 for signed in the multiplication case.
For equality comparisons, `(K + A) eq/ne (K + B)` simplifies to `A eq/ne
B` without requiring any no-wrap flags.
Alive2 proofs: https://alive2.llvm.org/ce/z/KmyqsD
Commit: 0c69421ce1a6a756c3581f9c0a031762a5bc678f
https://github.com/llvm/llvm-project/commit/0c69421ce1a6a756c3581f9c0a031762a5bc678f
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/__init__.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/dap_types.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/lldb_dap_testcase.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/utils.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_basic.py
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_Types.py
Log Message:
-----------
[lldb-dap] Add a new lldb-dap test infrastructure (#203978)
Introduce a new test infrastructure under lldbsuite/test/tools/lldb_dap
that replaces the dict-based dap_server. Initially the new and legacy
version will live side by side.
Once all tests are ported, the legacy version will be removed. The new
infrastructure has four files:
- dap_types.py: DAP protocol messages as frozen dataclasses, plus
serializer/deserializer functions to and from JSON.
- utils.py: Helper classes for launching and managing lldb-dap process
and its connection.
- session.py: DAP session layer. Owns the per-session state.
- session_helpers.py: Higher-level helpers for writing tests.
Using dataclasses for protocol types lets us catch unexpected or missing
fields at deserialization time instead of at use-site.
Adds a new environment flag, LLDBDAP_RUN_AS_SERVER, that runs the test
suite against lldb-dap in server mode for test cases with
USE_DEFAULT_DEBUG_ADAPTER=True. In the future this could be extended to
run the entire suite through a single lldb-dap server.
Migrates TestDAP_launch_basic and TestDAP_invalidatedEvent to show the
new style and Add unittests for the new primitives: DAPConnection,
EventHistory, and the DAP type (de)serializer.
Some class and function names may not be ideal. I'm open to suggestions.
More information in [discourse
page](https://discourse.llvm.org/t/rfc-making-the-lldb-dap-test-infrastructure-more-reliable/90694).
Commit: ac9a2048fd03ad4f59c3afc4acbfb52a36bbe153
https://github.com/llvm/llvm-project/commit/ac9a2048fd03ad4f59c3afc4acbfb52a36bbe153
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.h
M lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
Log Message:
-----------
[lldb] Recover mangled symbol names from DWARF on WebAssembly (#206832)
The Wasm "name" section stores only demangled names, so the symbols
ObjectFileWasm builds from it have no mangled name. Without one, the
symbol table indexes neither the mangled name nor the C++ base and
method name variants derived from it, so looking up a symbol by mangled
name fails and breakpoints set by a template or operator name find no
locations.
Override SymbolFileWasm::AddSymbols to copy each function's mangled name
from its DWARF DW_AT_linkage_name onto the matching symbol, matched by
file address. This is confined to the Wasm symbol file, so other targets
are unaffected.
Commit: 0c2d34d221b74aa5a8d3afbd17aee2d0e8c1c256
https://github.com/llvm/llvm-project/commit/0c2d34d221b74aa5a8d3afbd17aee2d0e8c1c256
Author: Jeremy Kun <jkun at google.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/RegisterAllDialects.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Reland "[mlir][nvvm] extract NVVM inliner interface from LLVM dialect" with flang fixes (#206782)
Commit: eff826e91dc7321eb38821da600dd411707e67fa
https://github.com/llvm/llvm-project/commit/eff826e91dc7321eb38821da600dd411707e67fa
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
Log Message:
-----------
[MLIR][Vector] Generalize broadcast lowering for single-element vector to nD (#206501)
Commit: 41f1d13b2e2488f0d0c478add92d77c697e3f915
https://github.com/llvm/llvm-project/commit/41f1d13b2e2488f0d0c478add92d77c697e3f915
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/Transforms/hoist-allocas.cir
Log Message:
-----------
[CIR][OpenMP] Prevent HoistAllocas pass from hoisting above OpenMP regions (#206168)
This patch modifies the HoistAllocas pass to prevent it from hoisting
allocas outside OpenMP regions, since this may break isolated from above
requirements and affect privatization semantics.
Assisted-by: Cursor / claude-4.8-opus-medium
Commit: ad021b65fc9d2b69916d89654e8ebb544b82b17f
https://github.com/llvm/llvm-project/commit/ad021b65fc9d2b69916d89654e8ebb544b82b17f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M .ci/green-dragon/lldb-windows.groovy
Log Message:
-----------
[lldb][Windows][CI] refine timeouts (#206942)
Add/refine timeouts on each step of the lldb on Windows CI script. This
should help avoid runaway builds which timeout after 24h.
Commit: 8fc5ad0e0308d3305dd132b00250c2f36a4c95e5
https://github.com/llvm/llvm-project/commit/8fc5ad0e0308d3305dd132b00250c2f36a4c95e5
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-virtual-and-override.cpp
Log Message:
-----------
[clang-tidy] Add AllowVirtualAndOverride to modernize-use-override (#206111)
Add an `AllowVirtualAndOverride` option to `modernize-use-override` so
codebases can keep virtual on methods that are also marked override.
AI Usage: Test cases assisted by Codex.
Closes https://github.com/llvm/llvm-project/issues/202030
Commit: 3848a2fceab7d4682771c91d28bad9d0304e2b81
https://github.com/llvm/llvm-project/commit/3848a2fceab7d4682771c91d28bad9d0304e2b81
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Don't try to fold alignment assumptions containing adds (#207001)
The fold seems to not actually be that useful in real code.
Commit: a675a661b86f54d45e90778362a97c1699e63442
https://github.com/llvm/llvm-project/commit/a675a661b86f54d45e90778362a97c1699e63442
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/ISO_Fortran_binding.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/Pointer.cpp
M flang/docs/ReleaseNotes.md
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/allocator-registry-consts.h
M flang/include/flang/Runtime/pointer.h
Log Message:
-----------
[Flang-RT] Change alignment for allocatable and pointer arrays to 64 … (#206525)
…bytes
in https://github.com/llvm/llvm-project/pull/194969 the default array
alignment was changed to 64bytes for Fortran globals. In this PR the
malloc wrapper in the flang runtime is modified to accept an alignment
argument (0 default) and for cases above 16 byte (std::max_align_t) uses
`aligned_alloc` instead of malloc.
The issue of alignment was discussed in this RFC:
https://discourse.llvm.org/t/rfc-alignment-of-global-arrays/90397/13
Assisted-by: Opus 4.6
Commit: c248ca1a72c103ae249fc92abde5df9a247b55b3
https://github.com/llvm/llvm-project/commit/c248ca1a72c103ae249fc92abde5df9a247b55b3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIR-V] Use llvm STLExtras range algorithms (NFC) (#206969)
Commit: adc037c1acf0e8a2ebdcb67f56f93e42b030fdf3
https://github.com/llvm/llvm-project/commit/adc037c1acf0e8a2ebdcb67f56f93e42b030fdf3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAuxDataHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIR-V] Use MathExtras helpers for bit arithmetic (NFC) (#206968)
Commit: 276bcc700a4cdc3348f779a6cd2db11f50c6d076
https://github.com/llvm/llvm-project/commit/276bcc700a4cdc3348f779a6cd2db11f50c6d076
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Transforms/RewriteStatepointsForGC/intrinsics-bare.ll
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
Log Message:
-----------
[LLVM] Fix signature for `gc.get.pointer.base` intrinsic (#206991)
`experimental.gc.get.pointer.base` intrinsic requires that the return
and argument type are the same pointer types. Currently this is checked
explicitly in Verifier.cpp. Instead, change the type signature of
`.gc.get.pointer.base` to use `LLVMMatchType` to enforce this
restriction.
Commit: d8f0e0836a2e668011582c61b03d7fbded67d265
https://github.com/llvm/llvm-project/commit/d8f0e0836a2e668011582c61b03d7fbded67d265
Author: Valery Dmitriev <valeryd at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
Log Message:
-----------
[MCP] Add test case to demonstrate issue with spill copy elimination (NFC) (#206855)
Show the bug not preserving a caller-save register across a call.
Commit: d15004a32ab1a747b45005cc0e480913b09275bb
https://github.com/llvm/llvm-project/commit/d15004a32ab1a747b45005cc0e480913b09275bb
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/test/API/commands/register/register_command/TestRegisters.py
Log Message:
-----------
[lldb][Windows] allow test_convenience_registers to PASS (#206956)
`RegisterCommandsTestCase.test_convenience_registers` passes when using
`LLDB_USE_LLDB_SERVER=1` since
https://github.com/llvm/llvm-project/pull/203498 was merged.
rdar://180307995
Commit: dd8f6111ba36c3f8e9f9bee786ed627c075b5d7a
https://github.com/llvm/llvm-project/commit/dd8f6111ba36c3f8e9f9bee786ed627c075b5d7a
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/utils/libcxx/test/features/misc.py
Log Message:
-----------
[libcxx] Enable std module test on FreeBSD (#206269)
We updated the CI to 15.1, and it should work now.
Commit: 154834916515ad8f9286a759a4f629f6efafde9a
https://github.com/llvm/llvm-project/commit/154834916515ad8f9286a759a4f629f6efafde9a
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Lower/OpenMP/target-kernel-types.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOffloadUtils.h
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M offload/test/offloading/fortran/target-no-loop.f90
Log Message:
-----------
[Flang][OpenMP][MLIR] Improve SPMD-No-Loop handling (#206953)
This patch modifies the handling of the
`-fopenmp-assume-teams-oversubscription` and
`-fopenmp-assume-threads-oversubscription` compiler options in Flang and
the corresponding `omp.flags` MLIR attribute to have this information
present on both host and target device MLIR modules. This is necessary
to ensure SPMD to SPMD-No-Loop kernel promotion happens uniformly and no
divergence between host and device representations of the same target
region is introduced.
The identification of the kernel type in Flang lowering is updated to
address some broken edge cases. In particular, no SPMD to SPMD-No-Loop
transformation is performed on `target parallel do [simd]` kernels. A
split `target + parallel loop` is now marked SPMD, which was a case
missed previously, and the trip count on `target teams ompx_bare`
kernels isn't host evaluated even if removing the `ompx_bare` clause
would result in a valid SPMD kernel.
Commit: 8ba6f7b2b1e55c188999fd8a68dc18dabf7dad9f
https://github.com/llvm/llvm-project/commit/8ba6f7b2b1e55c188999fd8a68dc18dabf7dad9f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Port e7290b1f1815626c4461d38671d93093590bf405 (#207014)
We also need to add a header or otherwise we end up with incomplete
types for template instanation in modules builds which are used for
header parsing.
Commit: 6bdb63f619111bcb6479beb1bfa8b48612ba1755
https://github.com/llvm/llvm-project/commit/6bdb63f619111bcb6479beb1bfa8b48612ba1755
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/Basic/Warnings.cpp
Log Message:
-----------
[Clang] Try to fix data race on HasColors after #202441 (#206975)
Summary:
The clangd users call these functions in multi-thraeded contexts. The
raw_fd_stream has_colors query is cached, which was giving some data
races. Just use the process-level check for now.
Commit: ead99b0a6a2d7df32df687d46fab5937c6551179
https://github.com/llvm/llvm-project/commit/ead99b0a6a2d7df32df687d46fab5937c6551179
Author: adams381 <adams at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/switch-range.c
M clang/test/CIR/Transforms/switch.cir
Log Message:
-----------
[CIR] Fix unsigned/wide switch case-range lowering (#206575)
A `switch` over an unsigned (or wider-than-32-bit) integer with a GNU
`case lo ... hi` range was miscompiled. SingleSource `pr34154.c` is the
witness: it switches on an `unsigned long long` with
`case 1000000000000000000ULL ... 9999999999999999999ULL`, and under `-fclangir`
every value took the default.
The flattening pass decided whether a range was empty with a signed compare,
`lowerBound.sgt(upperBound)` in `CIRSwitchOpFlattening`. The upper bound
`9999999999999999999` is larger than `INT64_MAX`, so as a signed value it is
negative and the range looked empty -- it was dropped and the case body left
unreachable, so control always reached the default. Behind that sat three more
width/signedness slips: the small-range size gate compared a 64-bit difference
against a 32-bit `APInt`, the expansion loop advanced a signed `APInt` cursor
that looped forever for a range ending at the type's maximum (the cursor wraps
past the top of the domain), and `condBrToRangeDestination` built the
lower-bound and range-length constants and the subtraction at a hardcoded
32-bit width, which truncates a 64-bit range.
The fix derives the switch operand's integer type once: the emptiness test uses
the operand's signedness, the range-check constants and the subtraction are
built at the operand width, and small ranges are expanded with a count-based
cursor. The `sub x, lo; ule (x - lo), (hi - lo)` range check is a
cyclic-distance test that works for both signed and unsigned switches, so the
comparison stays unsigned; the existing 32-bit signed-range lowering is
unchanged.
Commit: 2abfdb597ee9235b754dd8d4c7ac4af3f784616c
https://github.com/llvm/llvm-project/commit/2abfdb597ee9235b754dd8d4c7ac4af3f784616c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Port 58203500b5bd1628401c1a103eb264b7d78ea3bb (#207018)
Commit: fe5242883a815e4411519eb763a89e00b01e88ba
https://github.com/llvm/llvm-project/commit/fe5242883a815e4411519eb763a89e00b01e88ba
Author: adams381 <adams at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
A clang/test/CIR/CodeGen/int128-global-const.cpp
M clang/test/CIR/IR/global.cir
A clang/test/CIR/IR/invalid-int-attr.cir
Log Message:
-----------
[CIR] Round-trip wide cir.int attributes (#206602)
printIntLiteral printed a cir.int value with APInt::getSExtValue() /
getZExtValue(), both of which assert once the value needs more than 64
bits, and parseIntLiteral parsed into int64_t/uint64_t. So a cir.int
attribute holding a value wider than 64 bits -- for example an __int128
constant like (__int128)1 << 70 -- aborted whenever the module was
printed (-emit-cir, cir-opt, round-trip verification) and could not be
parsed back. The trigger is the value magnitude, not the declared type
width: a 128-bit-typed attribute holding a small value printed fine,
which is why the existing 128-bit cir.int tests never caught it.
The fix prints through APInt::toString and parses through
AsmParser::parseOptionalInteger into an APInt fitted to the type width
(mirroring how the builtin IntegerAttr handles arbitrary widths), so a
cir.int of any width round-trips. The old int64_t/uint64_t parse path is
removed.
global.cir gains signed and unsigned 128-bit globals with values that
need more than 64 bits, plus narrow-width round-trips (255 : !u8i,
100 : !s8i), and new int128-global-const.cpp and invalid-int-attr.cir
tests cover the CIRGen path and the "integer value too large" diagnostic.
Commit: 4d87e55d8a41872ef40079866d0527d8a1381c57
https://github.com/llvm/llvm-project/commit/4d87e55d8a41872ef40079866d0527d8a1381c57
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libunwind/src/DwarfInstructions.hpp
Log Message:
-----------
[libunwind][aarch64] Fix auth on PAuth_LR'd frames (#206814)
The RA_SIGN_STATE pseudo register is a three-state enum, so it should be
encoded as one in the unwinder's representation. This fixes a bug on the
authentication path, which assumed "is signed with PC" was a subset of
"is signed".
Commit: 0705e7be49abd0d0f8b545065700a04322e2682c
https://github.com/llvm/llvm-project/commit/0705e7be49abd0d0f8b545065700a04322e2682c
Author: KRM7 <Krisztian.Rugasi at hightec-rt.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
Log Message:
-----------
[GlobalISel] Exclude scalar to ptr unmerges from unmerge_dead_to_trunc combiner (#206707)
This combiner is supposed to replace a G_UNMERGE_VALUES with a truncate
if only the first element is used. Vector types are excluded because the
combiner will not insert bitcasts before/after the truncate, but the
case where either the src/dst type is a scalar and the other type is a
pointer is not handled even though this case would also need bitcasts.
Commit: bfca0091b74f0480a17a92358125d1d56fd64558
https://github.com/llvm/llvm-project/commit/bfca0091b74f0480a17a92358125d1d56fd64558
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
Log Message:
-----------
[lldb] Tighten TestFrameProviderCircularDependency loop (#206987)
The third test in this file iterated `range(new_frame_count)` while the
other two are bounded by `range(min(new_frame_count, 3))`.
On Windows the deeper iteration hits llvm.org/pr24778 (CRT startup
symbol resolution) and fails on the bottom frame's `assertNotEqual(pc,
0)`.
This patch makes the test match the sibling tests' bound. the test still
exercises the circular-dependency invariant on the top three frames.
This fixes the test on Windows.
rdar://181125272
Commit: a811d8f7c6e8151a7d644881f964ae822a6e3937
https://github.com/llvm/llvm-project/commit/a811d8f7c6e8151a7d644881f964ae822a6e3937
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h
M llvm/lib/DebugInfo/PDB/Native/DbiStream.cpp
A llvm/test/tools/llvm-pdbutil/dbi-section-contribs-v2-yaml.test
A llvm/test/tools/llvm-pdbutil/dbi-section-contribs-ver60-yaml.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
[llvm-pdbutil] Include DBI section contribs in YAML (#191624)
The DBI section contribs stream is required for line information in
WinDBG and VS - otherwise, you can't set line breakpoints. With this PR,
we generate and parse it in yaml2pdb/pdb2yaml.
LLVM can't generate the `SectionContrib2` (`SC2`) record, so we don't
support this in yaml2pdb. At least in my small test, MSVC didn't
generate that record either.
Commit: 0ca111acd40fe60c424261ef3004987f66959838
https://github.com/llvm/llvm-project/commit/0ca111acd40fe60c424261ef3004987f66959838
Author: Valery Dmitriev <valeryd at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
R llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
Log Message:
-----------
Revert "[MCP] Add test case to demonstrate issue with spill copy elimination (NFC)" (#207025)
Reverts llvm/llvm-project#206855
Commit: b1b9198709749eb612bfce7cfb6a3abf71483bdd
https://github.com/llvm/llvm-project/commit/b1b9198709749eb612bfce7cfb6a3abf71483bdd
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/bug121973.f90
A flang/test/Semantics/stmt-func04.f90
Log Message:
-----------
[flang] Implement check for statement function dummy argument names (#204417)
Implement F2023 19.4.2 conformance check for statement function dummy
argument names
Fixes: #203820
F2023 19.4.2 permits a statement function dummy argument to share its
name with an **accessible** identifier only when that identifier is a scalar
variable. Flang previously accepted all such clashes silently.
```fortran
subroutine s
real :: arr(10)
real :: ok
f(arr) = arr + 1 ! error: arr is an array
h(ok) = ok + 1 ! ok: scalar variable shadowing is permitted
end subroutine
```
Assisted-by: Claude
Commit: 6ce05ad8384d6e18f7b22c2b2f6e05678f4911d3
https://github.com/llvm/llvm-project/commit/6ce05ad8384d6e18f7b22c2b2f6e05678f4911d3
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/cmake/caches/AndroidNDK.cmake
A libcxx/vendor/android/android_assertion_handler.in
Log Message:
-----------
[libc++] Add Android assertion handler (#198831)
We're in the process of increasing the use of libc++ hardening in
Android. The handlers we're using deviate from the defaults in two ways:
- All handlers are `nomerge` for better postmortem crash attribution
- `_LIBCPP_VERBOSE_ABORT` is wrapped by a `NOINLINE` function to reduce
binary size overhead slightly (on x86_64, the diff is ~9B per call
to _LIBCPP_VERBOSE_ABORT).
This patch introduces a custom handler for Android with these properties.
Commit: fe7e78c72071d4a654b2140be4df33de902dd6eb
https://github.com/llvm/llvm-project/commit/fe7e78c72071d4a654b2140be4df33de902dd6eb
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/VersionTuple.h
M llvm/unittests/Support/VersionTupleTest.cpp
Log Message:
-----------
[Support] Fix VersionTuple DenseMapInfo conformance (#206872)
In C++ standard library (and many other programming languages standard
libraries), if two values are equal, they should return the same hash.
This requirement is pretty common so associative containers can quickly
find values that might be equal by calculating the hash, and if that
requirement is not hold, associative containers might not work as
expected.
The documentation of `DenseMapInfo` does not specify the same
requirement, as far as I can see, but its usage on `DenseMap` relies on
it, or objects that compare equal might end up in different buckets and
will not be correctly found.
`DenseMapInfo<VersionTuple>` implementation of `getHashValue` was
implementing its own logic for hashing, but delegating to `VersionTuple`
for equality. `VersionTuple` equality partially compares its scalar
member variables, skipping some boolean member variables, but the
`getHashValue` implementation was using those boolean member variables
as well, creating different hashes for `VersionTuple` that were
considered equal. This divergence was creating problems when
`VersionTuple` was used as keys for `DenseMap` in some cases.
`VersionTuple` also implements LLVM Hashing `hash_value`, and the
implementation of that matches the equality operator, so switch
`getHashValue` to delegate to `hash_value`, the same that `isEqual`
delegates to the equality operator to keep the logic synchronized.
Includes a small unit test that verifies that when `isEqual` returns
true, the return values of `getHashValue` are the same. This test failed
before these changes.
Commit: 9b3d68f159e7f2d4ccded135b8bde8b282cd7422
https://github.com/llvm/llvm-project/commit/9b3d68f159e7f2d4ccded135b8bde8b282cd7422
Author: mkovacevic99 <mkovacevic at baylibre.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/test/CodeGen/atomic-auto-type.c
Log Message:
-----------
[Clang] Add FileCheck lines to atomic-auto-type codegen test (#206749)
Follow-up to #197874. The codegen test was missing FileCheck lines,
making it a no-op. Add checks that verify both __auto_type _Atomic and
_Atomic __auto_type produce correct allocas and stores.
Follow up to comment from:
https://github.com/llvm/llvm-project/pull/197874#discussion_r3496368126
Commit: a5864f9604e7d218c09d44d13c0a17a28f8456a5
https://github.com/llvm/llvm-project/commit/a5864f9604e7d218c09d44d13c0a17a28f8456a5
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
A flang/test/Lower/OpenMP/non-rectangular-collapse.f90
A flang/test/Lower/OpenMP/non-rectangular-collapse2.f90
A flang/test/Lower/OpenMP/non-rectangular-collapse3.f90
Log Message:
-----------
[Flang][OpenMP] Emit TODO for non-rectangular collapsed loop nests (#205558)
Non-rectangular loop nests (where an inner loop bound depends on an
outer IV) with collapse currently generate incorrect code that segfaults
at runtime, since OpenMPIRBuilder's collapseLoops assumes rectangular
iteration spaces.
Added a check during lowering to detect the non-rectangular case and
emit a clear "not yet implemented" error instead of silently producing
broken code.
minimal reproducer :
```
program repro
implicit none
integer, parameter :: N = 10
integer :: arr(N,N), i, j
arr = 0
!$omp parallel do collapse(2)
do i = 1, N
do j = 1, i ! non-rectangular: upper bound depends on i
arr(j,i) = 1
end do
end do
if (sum(arr) /= N*(N+1)/2) then
print , "FAIL: sum =", sum(arr), " expected", N(N+1)/2
stop 1
end if
print *, "PASS"
end program
```
```
flang -O1 -fopenmp -fopenmp-version=50 repro.f90 && ./a.out
Segmentation fault (signal 11)
```
---------
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: f298ab915f28ec8979de184b429b8a8c04491dff
https://github.com/llvm/llvm-project/commit/f298ab915f28ec8979de184b429b8a8c04491dff
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
Log Message:
-----------
[AMDGPU] Fix SIFoldOperands crash on REG_SEQUENCE with physical register (#206976)
The getRegSeqInit function crashes on REG_SEQUENCE instructions with
physical register inputs.
Since both optimizations that use getRegSeqInit do not need to handle
such REG_SEQUENCE instructions, this patch changes the function to
return nullptr which signals that the optimization should not happen.
Commit: dd6d1112d940b90cf8542a2a6efdf76366949897
https://github.com/llvm/llvm-project/commit/dd6d1112d940b90cf8542a2a6efdf76366949897
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/unittests/Basic/CMakeLists.txt
Log Message:
-----------
Fix MSVC build after #206326 (#206993)
MSVC defaults to a non-utf8 encoding, and we added unicode characters in
some test files, which causes CI failures
Commit: d4147132172a52b47fd1ffcbcc3da67099ea2bef
https://github.com/llvm/llvm-project/commit/d4147132172a52b47fd1ffcbcc3da67099ea2bef
Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Intrinsics.cpp
A llvm/test/TableGen/intrinsic-default-args.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[LLVM][Tablegen] Add Default arguments support for Intrinsics in TableGen (#198557)
This patch adds LLVM infrastructure to support default argument values
for intrinsics, modeled after C++ default arguments.
The motivation is to simplify the evolution of intrinsic signatures by
removing the hand-written AutoUpgrade boilerplate that intrinsic authors
must repeat for every new trailing parameter.
This feature extends the existing TableGen `ImmArg<>` property with an
optional `DefaultValue<V>`, written as `ImmArg<ArgIndex<N>,
DefaultValue<V>>`, so an intrinsic author can declare a default value
alongside an immediate argument. When older .ll or .bc IR is loaded,
AutoUpgrade fills in the missing trailing arguments from the
TableGen-generated default-value table ; no per-intrinsic hand-written
upgrade case is required.
Link to the RFC, where this feature will be discussed:
https://discourse.llvm.org/t/rfc-default-argument-support-for-llvm-intrinsics/90839
Commit: ce8509f96615bd4bef3f2f3af8d1f6955ee6210f
https://github.com/llvm/llvm-project/commit/ce8509f96615bd4bef3f2f3af8d1f6955ee6210f
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
Log Message:
-----------
[OpenACC] append triples when materializing reduction destroy recipes (#207034)
Append the triples if they exist when materializing the destroy region.
Commit: cf360fbc1f6725b085c18c7cde88e823aecedf01
https://github.com/llvm/llvm-project/commit/cf360fbc1f6725b085c18c7cde88e823aecedf01
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/ADT/IntervalMap.h
M llvm/lib/Support/UnicodeNameToCodepoint.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp
Log Message:
-----------
[LLVM] Avoid nested std::min and std::max. NFC. (#206982)
Commit: 1d2645fef0f2eabe3f96f70dde8a82b3c41ca6c7
https://github.com/llvm/llvm-project/commit/1d2645fef0f2eabe3f96f70dde8a82b3c41ca6c7
Author: adams381 <adams at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/global-replace-string-array.c
Log Message:
-----------
[CIR] Fix getNewInitValue on string-literal arrays
`getNewInitValue` in `CIRGenModule.cpp` rebuilds a global's initializer when
`replaceGlobal` fixes up references after a global's type changes -- for
example when an `extern` array is referenced while still incomplete and then
completed. Its `ConstArrayAttr` branch cast `getElts()` to an `mlir::ArrayAttr`,
but a `ConstArrayAttr` built from a string literal stores its elements as a
`StringAttr`. A struct global that both points at the replaced global and has a
`char` array member therefore aborted on a failed `cast<ArrayAttr>` during
CIRGen.
`ConstArrayAttr::verify` allows only two element kinds: an `ArrayAttr` or a
`StringAttr`. A `StringAttr` holds raw 8-bit bytes and references no globals, so
there is nothing to rewrite. The fix returns the initializer unchanged for the
`StringAttr` case and `cast`s on the `ArrayAttr` path, so a future third element
kind asserts rather than silently passing through.
This surfaced compiling CPython's deep-frozen module data (SPEC CPU 2026
714.cpython_r), where frozen objects cross-reference each other and carry string
payloads. The benchmark advances past this abort to a const-record type-identity
issue that is tracked separately.
Commit: 842558edbb506fb1f7575e915d3a7b6f07e49b1e
https://github.com/llvm/llvm-project/commit/842558edbb506fb1f7575e915d3a7b6f07e49b1e
Author: Nadharm <ndhiantravan at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A llvm/test/TableGen/searchabletables-multi-string-key.td
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Fix SearchableTable lookup comparator w/ multiple string keys (#207021)
This change fixes a bug in `SearchableTableEmitter::emitLookupFunction`
where `emitComparator` redeclares `LHSStr`/`RHSStr` in the same scope.
This fix simply attaches the Field.Name to the emitted `LHSStr`/`RHSStr`
variable names.
Commit: e6c909a48a62ccfe3bf4839109719c5128d66b3c
https://github.com/llvm/llvm-project/commit/e6c909a48a62ccfe3bf4839109719c5128d66b3c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M utils/bazel/.bazelrc
Log Message:
-----------
[bazel] Fix remote exec with thin docker images (#205849)
rules_python is working on flipping this default but without this
setting /usr/bin/python3 must exist to run a py_binary. This might not
be the case in remote exec environments where you're trying to use the
smallest possible image.
Commit: 4a6f7b11e38e5141e80f7664c13eb01a4b1f1c3d
https://github.com/llvm/llvm-project/commit/4a6f7b11e38e5141e80f7664c13eb01a4b1f1c3d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
Log Message:
-----------
[lld] Make R_AARCH64_PREL32/16 only signed ints (#205963)
After https://github.com/ARM-software/abi-aa/pull/401, these are defined
to be only signed 32/16 bit ints rather than both signed and unsigned.
Assisted-by: Gemini
Commit: e0500fa504b28d8f1930781676c90130ea1aae21
https://github.com/llvm/llvm-project/commit/e0500fa504b28d8f1930781676c90130ea1aae21
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
Log Message:
-----------
DAG: Preserve poison in all-undef build_vector/concat_vectors folds (#206947)
Commit: a201ae3addcef5580c1228c9b7c7538cfac690a3
https://github.com/llvm/llvm-project/commit/a201ae3addcef5580c1228c9b7c7538cfac690a3
Author: jimingham <jingham at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
Log Message:
-----------
Handle the case where the ISA we find when looking up a method implementation has masked bits (#206864)
We need to canonicalize these since we look them up, and the PointerISA
is the right thing to use since it actually points at the class.
I can't write a test for this because ObjC mostly uses the masks for
swift/objc interop. I will add a test on the swift fork.
Commit: fdc29a9e1912bf48d9035adb0953df2c95d3ce06
https://github.com/llvm/llvm-project/commit/fdc29a9e1912bf48d9035adb0953df2c95d3ce06
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
A llvm/test/tools/llvm-split/SplitByCategory/recursion-and-cycles.ll
Log Message:
-----------
[llvm][SplitModuleByCategory] Fix infinite loop on cyclic global uses (#206862)
The dependency graph construction in `addUserToGraphRecursively` walked
the users of globals without visited set. A cycle in the use graph
caused it to push the same users forever, hanging the splitter.
Track visited users so each is processed once.
Co-Authored-By: Claude
Commit: 539ad355f1efbb65be135a1e5ffd2dd918c80fb9
https://github.com/llvm/llvm-project/commit/539ad355f1efbb65be135a1e5ffd2dd918c80fb9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
Log Message:
-----------
[mlir][sme] Update the multi-tile e2e example (#202979)
These changes enable hoisting of the accumulator load/store operations
out of the K loop.
Many thanks to @steplong for identifying the missing steps (see #201562)
Commit: fa84e624accacc8795414e6df20f7b5f79194619
https://github.com/llvm/llvm-project/commit/fa84e624accacc8795414e6df20f7b5f79194619
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
Log Message:
-----------
[NFC][AMDGPU] Use SIInstrFlags predicates in MCA (#206761)
Replace raw TSFlags accesses with SIInstrFlags predicate calls in
AMDGPUCustomBehaviour.
Part of a series following the introduction of SIInstrFlags predicates.
Commit: 524b97ad33322dd0caba35c5cc2b8e1b1a831cc3
https://github.com/llvm/llvm-project/commit/524b97ad33322dd0caba35c5cc2b8e1b1a831cc3
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/tests/shtest-output-printing.py
Log Message:
-----------
[lit] Truncate process output to 10 kiB (#206355)
The output of processes is transformed multiple times:
1. All non-piped/redirected output of processes is collected
(communicate() for the last process of the pipe, read() for all
previous.)
- It's not good that we *collect* the entire output at all (frequent
realloc+memcpy for large buffers) and I'd rather not have a
possibly large output stored in Python at all.
2. The output is converted into strings (memcpy/utf-8 decode) and stored
in the results list of executeScriptInternal.
3. executeScriptInternal builds the debug output combining all these
stdout/stderr.
- It performs a lot of `out += ...`, which allocates (malloc+memcpy)
a new string every time. There are many of these concatenations.
4. The combined debug output is returned (together with other things) to
_runShTest, which determines whether the test passed, executing the
test multiple times if necessary. It also string-formats the output.
5. ShTest returns the result, which is pickled, sent to the main process
(write/read), unpickled, and processed further e.g. for writing the
test result to stdout.
Due to locking, no other tests can start during this time and as most of
this happens in C code, interrupting also has some delay.
We have some tests that produce a large amount of output (llvm-exegesis
in particular has tests that output >50 MiB). This causes the tests to
stall for several seconds, sometimes more than a minute.
Therefore, truncate the output of processes to 10 kiB when adding it to
the debug output (step 3 above). This avoids most, but not all, of the
cost related to large outputs. The limit can be changed with the command
line option -Doutput_limit=N.
On one of my systems, this reduces the time of check-llvm by 22%:
Before: 1085.27user 718.78system 1:53.75elapsed 1585%CPU
After: 1050.81user 702.01system 1:28.42elapsed 1982%CPU
Reproducer of the problem:
RUN: head -c500000000 /dev/zero
Commit: 3794329ca236730f730ed54d36fa8aae18b733bb
https://github.com/llvm/llvm-project/commit/3794329ca236730f730ed54d36fa8aae18b733bb
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
Log Message:
-----------
[AMDGPU] Fold constant offsets into named barrier addresses (#205216)
Allow isOffsetFoldingLegal to fold a constant offset into an LDS
named-barrier global, and include the node offset when materializing the
LDS address in LowerGlobalAddress. `s_barrier_signal_var` on a GEP'd
named barrier now selects the immediate form, matching a bare global and
GlobalISel.
Commit: 929284ff2dda1de901286a3e69d15dce82010344
https://github.com/llvm/llvm-project/commit/929284ff2dda1de901286a3e69d15dce82010344
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
DAG: Preserve poison in more concat_vectors folds (#206948)
Commit: 282416b6d457b7fdd5d51fed0d7c59d3ee09093f
https://github.com/llvm/llvm-project/commit/282416b6d457b7fdd5d51fed0d7c59d3ee09093f
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/include/lldb/Target/DynamicRegisterInfo.h
R lldb/include/lldb/Target/RegisterFlags.h
A lldb/include/lldb/Utility/RegisterFlags.h
M lldb/source/Core/DumpRegisterInfo.cpp
M lldb/source/Core/DumpRegisterValue.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/RegisterFlags.cpp
M lldb/source/Utility/CMakeLists.txt
A lldb/source/Utility/RegisterFlags.cpp
M lldb/unittests/Core/DumpRegisterInfoTest.cpp
M lldb/unittests/Target/RegisterFlagsTest.cpp
Log Message:
-----------
[lldb] Move RegisterFlags from Target to Utility (#206861)
I'm doing this so that I can move RegisterInfo from
`lldb-private-types.h` to lldbUtility. It currently has a `RegisterFlags
*` field, so having it sit in lldb-private-types.h masks the actual
layering of our data types.
I considered moving RegisterInfo into Target, but RegisterValue (in
lldbUtility) uses RegisterInfo directly. Because RegisterFlags has no
internal dependencies, it seemed better to sink that instead.
Commit: 81350fb55b020d76281544f46ee705352f865a63
https://github.com/llvm/llvm-project/commit/81350fb55b020d76281544f46ee705352f865a63
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 282416b (#207051)
This fixes 282416b6d457b7fdd5d51fed0d7c59d3ee09093f.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: ce8cf3f0a427f7fcf178a9a64ea48a4167211f82
https://github.com/llvm/llvm-project/commit/ce8cf3f0a427f7fcf178a9a64ea48a4167211f82
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
R llvm/test/Transforms/RelLookupTableConverter/AArch64/no_relative_lookup_table.ll
M llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll
Log Message:
-----------
Revert "Disable RelLookupTableConverter on AArch64" (#207046)
Reverts llvm/llvm-project#204669
https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst#code-models
says that text + rodata should be <2GB on AArch64 for the small code
model, so we should be able to enable RelLookupTableConverter on AArch64
small code model.
With #205963, we now properly diagnose overflows, rather than silently
truncating and miscompiling.
Commit: c646b9557f90513db1dc8dcb38e0c0c5353cd5e0
https://github.com/llvm/llvm-project/commit/c646b9557f90513db1dc8dcb38e0c0c5353cd5e0
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/threadlocal-address.ll
Log Message:
-----------
[GlobalISel] Implement threadlocal.address translation (#206908)
Use the same lowering as sdag.
Commit: 32f14d7cd9991c0431e0c2721313614a4b05fd2d
https://github.com/llvm/llvm-project/commit/32f14d7cd9991c0431e0c2721313614a4b05fd2d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
Log Message:
-----------
[libc++] Move threading and random device config into <__configuration/platform.h> (#206262)
These are platform-specific configuration options, so they should live
`<__configuration/platform.h>`.
Commit: 43424c3e98f6fe07e729b55199bb91ff58579871
https://github.com/llvm/llvm-project/commit/43424c3e98f6fe07e729b55199bb91ff58579871
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/test/ClangScanDeps/modules-full-by-mod-name.c
M clang/test/lit.cfg.py
A clang/utils/scan-deps-filter.py
Log Message:
-----------
[clang-scan-deps] Add scan-deps-filter.py test helper to filter full output (#206758)
Add a helper script, which projects `clang-scan-deps` experimental-full
JSON down to a chosen set of fields, plus a `%scan-deps-filter` lit
substitution. A bare key (e.g. `file-deps`) matches that key at any
depth. A dotted path (e.g. `modules.command-line`) is anchored from the
document root to disambiguate keys when relevant.
This lets tests assert only on the fields they care about instead of
`CHECK`ing the whole object, which otherwise breaks whenever an
unrelated field is added/modified, and avoids gating emission behind
awkward per-field flags.
Migrate modules-full-by-mod-name.c as a first example.
Assisted-by: Claude Opus 4.8
Commit: 7b8c4f5ad69d8fabf4bb71494f748fa0d7c47774
https://github.com/llvm/llvm-project/commit/7b8c4f5ad69d8fabf4bb71494f748fa0d7c47774
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
A flang/test/Fir/MIF/cobound.mlir
A flang/test/Fir/MIF/coshape.mlir
A flang/test/Fir/MIF/image_index.mlir
M flang/test/Fir/MIF/this_image.mlir
M flang/test/Lower/MIF/coarray_allocation.f90
M flang/test/Lower/MIF/coarray_allocation2.f90
A flang/test/Lower/MIF/cobound.f90
A flang/test/Lower/MIF/coshape.f90
A flang/test/Lower/MIF/image_index.f90
M flang/test/Lower/MIF/this_image.f90
Log Message:
-----------
[Flang][MIF] Adding support of intrinsics with coarray argument (#192944)
Added support for intrinsics that query the coarray in argument:
- Adding lowering and operation in MIF Dialect for UCOBOUND, LCOBOUND,
COSHAPE and IMAGE_INDEX
- Adding support of coarray argument for THIS_IMAGE in MIF Dialect (and
the lowering)
---------
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
Commit: 381de9a7811f222e7ffe18a0d0158dfe005454db
https://github.com/llvm/llvm-project/commit/381de9a7811f222e7ffe18a0d0158dfe005454db
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
Log Message:
-----------
[flang][OpenMP] Compute the set of loop directives in parser, NFC (#206748)
Use the constexpr functions for association and source language to
compute the set of loop-associated directives instead of listing them
individually.
Commit: bd338806e423fcef89ce38ff97065fd166f55161
https://github.com/llvm/llvm-project/commit/bd338806e423fcef89ce38ff97065fd166f55161
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/docs/ABIGuarantees.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/abi.h
M libcxx/include/__split_buffer
A libcxx/include/__vector/layout.h
M libcxx/include/__vector/vector.h
M libcxx/include/module.modulemap.in
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/utils/gdb/libcxx/printers.py
Log Message:
-----------
[libc++] Add a size-based representation for `vector` in the unstable ABI (#155330)
This commit adds an alternative representation for `std::vector` in a similar
manner to `__split_buffer` in #139632. This alternative representation was
measured to provide significant performance gains over the classic representation.
To do so, we introduce a layout type that tracks implementation details that
differ between the pointer-based vector and size-based vector representations.
`vector` does not parameterise its layout type, unlike `__split_buffer`.
`__split_buffer` is used by both `vector` and `deque`, and being able to take
an ABI break on `vector` doesn't automatically mean that users can also tolerate
a break on `deque`.
This new vector representation can be opted into by defining the
_LIBCPP_ABI_VECTOR_LAYOUT_SIZE_BASED macro when configuring the
library's ABI.
This change was the target of this RFC: https://discourse.llvm.org/t/adding-a-size-based-vector-to-libc-s-unstable-abi
Commit: 24476abfac20976fb812b89cf5b83457b3aeb900
https://github.com/llvm/llvm-project/commit/24476abfac20976fb812b89cf5b83457b3aeb900
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/StaticLibrary.h
M clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
M clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
M clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysis/Core/ModelStringConversions.h
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchStaticLibrary.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/StaticLibrary.cpp
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-static-library-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-static-library-nonempty.json
M clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
M clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/duplicate-target-triple.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-inner-error.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-namespace-mismatch.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/members-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/namespace-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/namespace-wrong-kind.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-empty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-multiple-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-nonempty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-single-member.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-three-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/unsorted-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/unsorted-three-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/io.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/top-level.test
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/unittests/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.h
M clang/unittests/ScalableStaticAnalysis/TestFixture.h
Log Message:
-----------
[clang][ssaf] Add `MultiArchStaticLibrary` data structure (#206148)
This change introduces `MultiArchStaticLibrary` that wraps
per-architecture `StaticLibrary` instances. It is the SSAF analogue of a
fat static library (the result of lipo -create over per-arch .a files).
Like `StaticLibrary` we don't need the fully decoded variant of this
data structure as it will be produced and read by the linker that does
not require the concrete summary data schema. Support for constructing
and consuming this data structure will be added in separate PRs.
rdar://181066557
Commit: 4d767b93616e461155efbbf80dca24838b557dec
https://github.com/llvm/llvm-project/commit/4d767b93616e461155efbbf80dca24838b557dec
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
Log Message:
-----------
[AMDGPU] Consolidate CHECK lines for barrier-gep test. NFC (#207040)
Commit: 066f7cb9de874631589f6a5db2c2841b81dfa034
https://github.com/llvm/llvm-project/commit/066f7cb9de874631589f6a5db2c2841b81dfa034
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
A clang/test/ClangScanDeps/modules-pch-compatibility.c
Log Message:
-----------
[clang][deps] Only disable app extension without PCHs (#207049)
PR #200041 disabled application extension during scanning to increase
module cache reuse. To keep the build semantics intact, the setting was
preserved for the compile steps. When scanning with an explicitly-built
PCH, this triggers a mismatch error in `ASTReader`:
```
error: Objective-C App Extension was enabled in precompiled file 'X.pch' but is currently disabled
```
This PR fixes this by only performing the optimization for non-PCH
compiles, adds a test, and a FIXME outlining how this optimization could
be applied even for compiles with PCHs.
rdar://180978125
Commit: 5a05faa54c21dc0ca6516fb9c295d9fa966eaa72
https://github.com/llvm/llvm-project/commit/5a05faa54c21dc0ca6516fb9c295d9fa966eaa72
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-non-addrec-after-predicates.ll
Log Message:
-----------
[LAA] Fall back to starting AddRec if replacing strides fails. (#207054)
replaceSymbolicStrideSCEV may not return an AddRec after applying
predicates (871990a01ea72 /
https://github.com/llvm/llvm-project/pull/203787)
Fall back to AddRec without strides replaced, to avoid crashing.
Commit: 50f30bedaa81919915049474f4350ef19c36b7ca
https://github.com/llvm/llvm-project/commit/50f30bedaa81919915049474f4350ef19c36b7ca
Author: Yuxuan Chen <ych at meta.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenCXX/gh196469-default-member-init-lambda-cleanup.cpp
A clang/test/SemaCXX/gh196469-default-member-init-lambda-capture.cpp
M clang/test/SemaCXX/source_location.cpp
Log Message:
-----------
[Clang] Rebuild lambda captures in default member initializers while skipping body (#196597)
Fixes https://github.com/llvm/llvm-project/issues/196469
Since the CWG1815 implementation, `InitListChecker` rebuilds a default
member initializer at its point of use in aggregate initialization. The
rebuild uses the `EnsureImmediateInvocationInDefaultArgs` tree
transform, where `TransformCXXBindTemporaryExpr` strips
`CXXBindTemporaryExpr` nodes, relying on the subexpression's rebuild to
re-create the temporary binding: every `Rebuild*` path funnels through
`Sema::MaybeBindToTemporary`, which also re-registers the cleanup in the
current evaluation context.
However, the transform overrides `TransformLambdaExpr` to return the
closure unchanged (the body is not a subexpression), skipping the
`MaybeBindToTemporary` call that `BuildLambdaExpr` ends with. The
rebuilt initializer then lacks both the `CXXBindTemporaryExpr` around
the closure and the `ExprWithCleanups` marker, so CodeGen never emits
the closure's destructor and init-captured members leak.
Lambda init-captures are different from the body: their initializers are
evaluated in the enclosing context and can also contain immediate
invocations that need to be rebuilt at the default-initializer use site.
Visit init-captures when deciding whether the default initializer needs
rebuilding, and rebuild the lambda shell/captures while using
`SkipLambdaBody` to leave the body itself untouched. Rebuilding the
lambda this way also restores the closure temporary binding and cleanup
through `BuildLambdaExpr`.
Assisted-By: GPT-5.5 <noreply at openai.com>
Co-authored-by: GPT-5.5 <noreply at openai.com>
Commit: fb81789e6e3b645d983793989ce11d76c99d25c8
https://github.com/llvm/llvm-project/commit/fb81789e6e3b645d983793989ce11d76c99d25c8
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.h
M clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.h
M clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.h
M clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.h
M clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
M clang/include/clang/Support/Compiler.h
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.cpp
M clang/lib/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.cpp
M clang/lib/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.cpp
M clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
M clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Execution.cpp
M llvm/include/llvm/Support/Registry.h
Log Message:
-----------
[Registry] Support static clang registries (#206750)
The plugin Registry macros hard-code `LLVM_ABI_EXPORT` (unconditional
dllexport) on `getRegistryLinkListInstance`. When clang is built
statically (`CLANG_LINK_CLANG_DYLIB=OFF`) and embedded into
`libclang.dll`, that forces the accessor into the DLL's export table,
where it collides with the same symbol from the static clang libraries
on any tool linking both.
Summary of changes:
* Add `LLVM_{DECLARE,DEFINE,INSTANTIATE}_REGISTRY_EX` variants taking
the export annotation as a parameter.
* Add `CLANG_ABI_EXPORT` macro as an equivalent to `LLVM_ALWAYS_EXPORT`
for libclang.
* Route clang's registries through the `*_EX` macros with
`CLANG_ABI_EXPORT`.
As a result, the static clang build no longer exports the accessor and
the clang dylib build is unaffected.
The effort to build LLVM as a dylib on Windows is tracked in
https://github.com/llvm/llvm-project/issues/109483.
Commit: 47458aa3de39ef3c99e7cbd3256928795d1b458a
https://github.com/llvm/llvm-project/commit/47458aa3de39ef3c99e7cbd3256928795d1b458a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/exit-value-gep-inbounds.ll
Log Message:
-----------
[IndVars] Refine tests for evaluating final value pointer AddRecs (NFC). (#207076)
Update tests for evaluating final value of pointer AddRecs. Add missing
cases and add some brief clarifying comments to some test cases.
Commit: 3f3acdb279ce9d5b26d7fa3cc27f4584f3a39e35
https://github.com/llvm/llvm-project/commit/3f3acdb279ce9d5b26d7fa3cc27f4584f3a39e35
Author: Valery Dmitriev <valeryd at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
Log Message:
-----------
[MCP] Add test case to demonstrate issue with spill copy elimination (NFC) (#207065)
This is a reapply of #206855 with added expensive_checks restriction. It
turned out that the problem may get caught with expensive checks. The
restriction is to be removed with the follow up patch.
Commit: 3b5075609dd67f307bbf66c1270d883148f30f8b
https://github.com/llvm/llvm-project/commit/3b5075609dd67f307bbf66c1270d883148f30f8b
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/test/MC/RISCV/XTHeadBa-invalid.s
M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
M llvm/test/MC/RISCV/function-call-invalid.s
M llvm/test/MC/RISCV/insn-invalid.s
M llvm/test/MC/RISCV/insn_c-invalid.s
M llvm/test/MC/RISCV/insn_xqci-invalid.s
M llvm/test/MC/RISCV/priv-invalid.s
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rv32dc-invalid.s
M llvm/test/MC/RISCV/rv32fc-invalid.s
M llvm/test/MC/RISCV/rv32h-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32xtheadbs-invalid.s
M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv32zba-invalid.s
M llvm/test/MC/RISCV/rv32zbb-invalid.s
M llvm/test/MC/RISCV/rv32zbc-invalid.s
M llvm/test/MC/RISCV/rv32zbkc-invalid.s
M llvm/test/MC/RISCV/rv32zbkx-invalid.s
M llvm/test/MC/RISCV/rv32zbs-invalid.s
M llvm/test/MC/RISCV/rv32zclsd-invalid.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rv32zdinx-invalid.s
M llvm/test/MC/RISCV/rv32zfinx-invalid.s
M llvm/test/MC/RISCV/rv32zhinx-invalid.s
M llvm/test/MC/RISCV/rv32zhinxmin-invalid.s
M llvm/test/MC/RISCV/rv32zimop-invalid.s
M llvm/test/MC/RISCV/rv64c-invalid.s
M llvm/test/MC/RISCV/rv64h-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64p-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv64zba-invalid.s
M llvm/test/MC/RISCV/rv64zbb-invalid.s
M llvm/test/MC/RISCV/rv64zbs-invalid.s
M llvm/test/MC/RISCV/rv64zdinx-invalid.s
M llvm/test/MC/RISCV/rv64zfinx-invalid.s
M llvm/test/MC/RISCV/rv64zhinx-invalid.s
M llvm/test/MC/RISCV/rv64zhinxmin-invalid.s
M llvm/test/MC/RISCV/rva-aliases-invalid.s
M llvm/test/MC/RISCV/rvc-hints-invalid.s
M llvm/test/MC/RISCV/rve-invalid.s
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
M llvm/test/MC/RISCV/rvv/invalid.s
M llvm/test/MC/RISCV/rvv/xsfmm-invalid.s
M llvm/test/MC/RISCV/rvv/zvvfmm-invalid.s
M llvm/test/MC/RISCV/rvy/rvy-basic-invalid.s
M llvm/test/MC/RISCV/rvzicond-invalid.s
M llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/RISCV/xqci-access-pseudos.s
M llvm/test/MC/RISCV/xqcia-invalid.s
M llvm/test/MC/RISCV/xqciac-invalid.s
M llvm/test/MC/RISCV/xqcibi-invalid.s
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcicli-invalid.s
M llvm/test/MC/RISCV/xqcicm-invalid.s
M llvm/test/MC/RISCV/xqcics-invalid.s
M llvm/test/MC/RISCV/xqcicsr-invalid.s
M llvm/test/MC/RISCV/xqciint-invalid.s
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqcilb-invalid.s
M llvm/test/MC/RISCV/xqcili-invalid.s
M llvm/test/MC/RISCV/xqcilia-invalid.s
M llvm/test/MC/RISCV/xqcilo-invalid.s
M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
M llvm/test/MC/RISCV/xqcilsm-invalid.s
M llvm/test/MC/RISCV/xqcisim-invalid.s
M llvm/test/MC/RISCV/xqcisls-invalid.s
M llvm/test/MC/RISCV/xqcisync-invalid.s
M llvm/test/MC/RISCV/xsifive-invalid.s
M llvm/test/MC/RISCV/xtheadcondmov-invalid.s
M llvm/test/MC/RISCV/xtheadmac-invalid.s
M llvm/test/MC/RISCV/xtheadsync-invalid.s
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[RISCV] Report all near-miss reasons in the AsmParser (#205721)
Set ReportMultipleNearMisses and switch RISCVAsmParser to the shared
near-miss reporting used by ARM, so a failed match lists every reason
instead of just the first one.
Assisted-by: claude-opus
Commit: ef5d72f387cacebcb2d557042a418c9308f192a6
https://github.com/llvm/llvm-project/commit/ef5d72f387cacebcb2d557042a418c9308f192a6
Author: Deepak Eachempati <deepak.eachempati at hpe.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/docs/OpenMPSupport.md
Log Message:
-----------
[flang][OpenMP][docs] add missing features to support page (NFC) (#207078)
Adds more rows for 5.x features not captured in new OpenMP Support page
for Flang.
Commit: c3d0465e6559b46698ac6793c2a3f4e3c2323258
https://github.com/llvm/llvm-project/commit/c3d0465e6559b46698ac6793c2a3f4e3c2323258
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/set_intersection.h
Log Message:
-----------
[libc++] Remove projection from __lower_bound_onesided (#206676)
The projection argument isn't made use of very much, since it's only
ever called with an identity. We can remove it to simplify the code a
bit.
Commit: 08aee5eee3c2417ad497a35d7f73e1f29ea6a83e
https://github.com/llvm/llvm-project/commit/08aee5eee3c2417ad497a35d7f73e1f29ea6a83e
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libcxx/test/std/containers/associative/set/clear.pass.cpp
M libcxx/test/std/containers/associative/set/contains.pass.cpp
M libcxx/test/std/containers/associative/set/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/count.pass.cpp
M libcxx/test/std/containers/associative/set/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/emplace.pass.cpp
M libcxx/test/std/containers/associative/set/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/set/empty.pass.cpp
M libcxx/test/std/containers/associative/set/equal_range.pass.cpp
M libcxx/test/std/containers/associative/set/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_key.pass.cpp
M libcxx/test/std/containers/associative/set/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/set/extract_key.pass.cpp
M libcxx/test/std/containers/associative/set/find.pass.cpp
M libcxx/test/std/containers/associative/set/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/set/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/set/insert_range.pass.cpp
M libcxx/test/std/containers/associative/set/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/set/iterator.pass.cpp
M libcxx/test/std/containers/associative/set/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/set/max_size.pass.cpp
M libcxx/test/std/containers/associative/set/merge.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/default.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/set/set.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/set/set.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/size.pass.cpp
M libcxx/test/std/containers/associative/set/types.pass.cpp
M libcxx/test/std/containers/associative/set/upper_bound.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
Log Message:
-----------
[NFC][libc++] Fix formatting for `<set>` tests (#207080)
Commit: 0ec217a0068e7ef25730c89690be50956ea472e1
https://github.com/llvm/llvm-project/commit/0ec217a0068e7ef25730c89690be50956ea472e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Return widening kind from memoryInstructionCanBeWidened (NFC). (#207056)
Make memoryInstructionCanBeWidened return the InstWidening decision
(CM_Widen or CM_Widen_Reverse) as a std::optional instead of a bool.
This avoids computing and checking for consecutive strides multiple
times.
Commit: 55e440655337fce272a76f387fbeebd0529a9891
https://github.com/llvm/llvm-project/commit/55e440655337fce272a76f387fbeebd0529a9891
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
Log Message:
-----------
[lldb] Remove extra newline from ValueObject errors (#207050)
Change `ValueObjectPrinter` to print only a single newlines after errors.
Commit: 8286c6572d0484ddf1a75e5b2a35dd09eae66ff2
https://github.com/llvm/llvm-project/commit/8286c6572d0484ddf1a75e5b2a35dd09eae66ff2
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/member-specialization.cpp
Log Message:
-----------
[clang] fix error recovery for invalid member specializations (#207068)
Recover from invalid member specializations as if it wasn't declared.
This undoes the change introduced in #201506 for a more robust approach
which keeps the AST valid.
There are no release notes since this fixes a regression which was never
released.
Fixes #201490
Fixes #205971
Commit: f74953b929fefb8edef80f6e99d596b72b540c66
https://github.com/llvm/llvm-project/commit/f74953b929fefb8edef80f6e99d596b72b540c66
Author: Giovanni Ortuño <gd.ortuno at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerIO.cpp
Log Message:
-----------
[libfuzzer] Improve error message for file not found (#207081)
We're seeing many instances of this issue on ClusterFuzz. This PR adds
more information to help debug the cause of the problem.
See https://crbug.com/529865766 for more context.
Commit: 6407e80cbfda6df8b8da2bd71bc008d798e58553
https://github.com/llvm/llvm-project/commit/6407e80cbfda6df8b8da2bd71bc008d798e58553
Author: Gustas Janušonis <janusonis.gustas at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Implemented MVT::changeElementType based on EVT::changeElementType (#206783)
Implemented MVT::changeElementType based on EVT::changeElementType
Fixes #206726
Commit: acbe933539074cc5faba3211ff41eff4996cdadd
https://github.com/llvm/llvm-project/commit/acbe933539074cc5faba3211ff41eff4996cdadd
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
Log Message:
-----------
[lldb] Remember server's primary stop thread on gdb-remote stops (#207020)
This is a reland of https://github.com/llvm/llvm-project/pull/203525,
which was reverted because it introduced a test failure on macOS. The
primary thread was unconditionally selected, which was causing
`TestRealDefinition.py` to fail. The fix is to only call
SetSelectedThreadByID when the server's primary tid differs from the
currently-selected thread.
---
The client kept the previously-selected thread across stops, ignoring
the primary tid from the server in `T<sig>thread:<tid>`.
On Windows, lldb-server halts the inferior by injecting a thread called
`DbgUiRemoteBreakin` whose only job is to execute an int 3. After an
interrupt, the process has `N+1` threads and the new one is what caused
the stop. The server reports that thread as primary, but the client
ignored it and stayed on whichever thread was selected before. In
`TestExpressionInSyscall` that thread is main, paused just past
`NtDelayExecution`'s syscall with a garbage value in the RSI register.
Evaluating an expression there crashes the JIT trampoline.
This patch makes `ProcessGDBRemote::RefreshStateAfterStop` record the
primary tid from the most recent T-packet's `thread:<tid>` and select it
after applying per thread stop infos.
Fixes `TestExpressionInSyscall` with LLDB_USE_LLDB_SERVER=1.
rdar://180307914
Commit: 18050dd6892ecad633544c8f5a18ba7722ae2206
https://github.com/llvm/llvm-project/commit/18050dd6892ecad633544c8f5a18ba7722ae2206
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-bitcast-paired.ll
Log Message:
-----------
[RISCV][P-ext] Tighten checks for what scalar<->vector bitcasts are legal (#207038)
We were incorrectly treating i64<->vector casts as legal on RV32. This
only shows up when the D extension is enabled because it marks i64
bitcast as custom for i64<->f64 conversions.
Rewrite the checks in terms of XLenVT.
Commit: 22ad1d6eeefdaaea50c7e939801005cfe3de846e
https://github.com/llvm/llvm-project/commit/22ad1d6eeefdaaea50c7e939801005cfe3de846e
Author: tcottin <timcottin at gmx.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/support/Markup.h
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
Log Message:
-----------
[clangd] Use plaintext newline handling for escaped markdown hover style (#185197)
For clangd 22 there are [3 new
options](https://clangd.llvm.org/config#documentation) to control the
content of the hover information. Using the default Plaintext option,
Markdown syntax is escaped.
But whitespaces (like newlines etc.) are not "escaped" anymore as it was
before the introduction of Markdown and Doxygen rendering.
Some clients do not render Markdown even if they request Markdown
content from the server.
At least the [neovim client](https://github.com/clangd/clangd/issues/95)
does not render Markdown whitespace correctly.
Therefore, with clangd 22, the rendering for these clients looks
different, especially for newlines.
Without the escaping, newlines are rendered as written in the
documentation comment, which is not desired for these clients.
This patch fixes the regression by using the same whitespace escaping as
clangd < 22.
Commit: 459ed2b0653f4b308ad0fcc3a5821a4dcb852cb2
https://github.com/llvm/llvm-project/commit/459ed2b0653f4b308ad0fcc3a5821a4dcb852cb2
Author: hulxv <hulxxv at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libc/shared/builtins.h
A libc/shared/builtins/addsf3.h
M libc/src/__support/builtins/CMakeLists.txt
A libc/src/__support/builtins/addsf3.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_builtins_test.cpp
Log Message:
-----------
[libc] add shared addsf3 builtin (#205676)
Re-exposes LLVM-libc's `__addsf3` as `shared::addsf3` for reuse by
compiler-rt's builtins.
Stacked change - merge these first:
- #200094
- #205669
- #205670
- #205671
- #205672
- #205673
- #205674
- #205675
Part of #197824
Commit: 04cf6e09515d678c6f1a11385981fe6f5c5ba196
https://github.com/llvm/llvm-project/commit/04cf6e09515d678c6f1a11385981fe6f5c5ba196
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
A lldb/test/API/functionalities/unwind/outlined-functions/Makefile
A lldb/test/API/functionalities/unwind/outlined-functions/TestBacktraceThroughOutlinedFunction.py
A lldb/test/API/functionalities/unwind/outlined-functions/arm64-outlined-epilogue-core.yaml
A lldb/test/API/functionalities/unwind/outlined-functions/binary.json
A lldb/test/API/functionalities/unwind/outlined-functions/main.c
A lldb/test/API/functionalities/unwind/outlined-functions/outlined-functions.s
Log Message:
-----------
[lldb] Don't trust unwind information for outlined functions (#204500)
clang/llvm has a feature to take identical sequences of instructions
from multiple functions, put them in a separate utility function, and
call that utility function, reducing overall codesize. Primarly useful
in memory constrained environments.
The CFI unwind instructions for these OUTLINED_FUNCTIONs in
eh_frame/debug_frame is entirely incorrect; clang does not emit any
directives for them.
Furthermore, the callers sometimes call the OUTLINED_FUNCTION in a
non-ABI call manner. For instance, if the last few instructions of a
function (including the epilogue) are put in an OUTLINED_FUNCTION, a
function will simply tail-call/jump to the outlined function.
If a function prologue is separated into an OUTLINED_FUNCTION, a non ABI
call to preserve the return-address-register may be used, e.g. on RISCV
a `jal t0, OUTLINED_FUNCTION_nn` may be used, putting the return address
in the t0 temporary register; lldb's instruction analysis while in the
OUTLINED_FUNCTION will not understand that this non-ABI calling method
was used.
This PR overrides any normal unwind information when we find a stack
frame in an OUTLINED_FUNCTION and replaces it with the architectural
default unwind plan, hopefully this is a target where stack frames start
with a saved fp+pc up the stack, and there is an arch default unwind
plan that can get past this point while trusting no sources of unwind
information. We may end up skipping a stack frame in the process (the
caller of the OUTLINED_FUNCTION), but it's the best we can do.
There is a further problem not handled here, where the prologue of a
function is outlined. None of the unwind information for the original
function will be correct - not CFI directives in eh_frame/debug_frame no
lldb's instruction emulation. We need to also treat this case as "use
the arch default unwind plan, it's our only hope" but I need to come up
with a way to detect this scenario still. We don't have a simple
function name check here; we'll need to detect the call to the
OUTLINED_FUNCTION at the start of the function and handle it somehow.
This test case includes a main.c and outlined-function.s which simulates
what the three different OUTLINED_FUNCTION combinations look like in
AArch64 assembly (prologue, mid-function, epilogue), but I've never
succeeded at getting assembly to compile cross-platform, so I also
created a corefile and JSON binary (arm64-outlined-epilogue-core.yaml,
binary.json) and run yaml2macho-core to create a Mach-O corefile to run
the test case against. This corefile is simply me capturing some memory
and register contents while debugging the main.c and outlined-function.s
at the "epilogue OUTLINED" and we hit the OUTLINED_FUNCTION on the stack
walk.
rdar://179530769
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 8dbd1cb22a87f571f0adef91739f563e2914fb6e
https://github.com/llvm/llvm-project/commit/8dbd1cb22a87f571f0adef91739f563e2914fb6e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/test/API/lang/c/inlines/main.c
Log Message:
-----------
[lldb][test] Use a valid main signature in the inlines test (#207093)
lang/c/inlines/main.c declared "int main(int argc)", a single-int-
parameter main that clang warns about (-Wmain) and that argc is never
used for. Declare it as "int main()".
Commit: 4ce874e05ab80beaabb1ba6b6f14cc120c74c69d
https://github.com/llvm/llvm-project/commit/4ce874e05ab80beaabb1ba6b6f14cc120c74c69d
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/AST/HLSL/ConstantBuffers-AST.hlsl
A clang/test/AST/HLSL/resources-in-structs-method-call.hlsl
A clang/test/CodeGenHLSL/resources/resources-in-structs-method-call.hlsl
M clang/test/SemaHLSL/BuiltIns/ConstantBuffer-member-funcs.hlsl
Log Message:
-----------
[HLSL] Enable invoking a method on a constant buffer struct (#206596)
Structs in constant buffers are in the `hlsl_constant` address space and
in a specific constant buffer layout. In order to invoke a method on
such struct, it first needs to be copied out into const temporary
variable with a standard layout. This change adds `LValueToRValue` cast
to the method `this` argument which takes care of that.
Fixes #190299
Commit: 88a3488c8a64d5cc1f4dbcb6cb6981f0398ae4b6
https://github.com/llvm/llvm-project/commit/88a3488c8a64d5cc1f4dbcb6cb6981f0398ae4b6
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/string.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/path.h
A libc/src/__support/OSUtil/path.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/realpath.cpp
A libc/src/stdlib/realpath.h
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/string_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/realpath_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][realpath] Implement symbolic path resolution (#204467)
This PR contains an incremental implementation of `realpath` that just
simplifies path traversals (e.g. `"/a/./../b"` -> `"/b"`). The complete
implementation would perform `getcwd`/`statx`/`readlinkat` to actually
resolve symlinks, validate paths, etc. This PR aims to add as much
functionality/error handling as possible without making any syscalls.
This implementation lives in `libc/src/stdlib/linux/`, since follow-on
PRs will rely on linux-specific syscalls. For testing purposes, I've
added the entrypoint for x86-64 linux when
`LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS` is enabled.
Follow-on PRs to add: path validation (e.g.
paths must exist), support for cwd-relative paths, and symlink
resolution.
Commit: 0a2fb2a2269da0e2a3e230beb6cad39ca314db33
https://github.com/llvm/llvm-project/commit/0a2fb2a2269da0e2a3e230beb6cad39ca314db33
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/source/Core/SourceManager.cpp
A lldb/test/API/functionalities/breakpoint/default_source_file/Makefile
A lldb/test/API/functionalities/breakpoint/default_source_file/TestDefaultSourceFile.py
A lldb/test/API/functionalities/breakpoint/default_source_file/main.cpp
A lldb/test/API/functionalities/breakpoint/default_source_file/other.cpp
Log Message:
-----------
[lldb] Find the default source file's main by base name (#207043)
SourceManager::GetDefaultFileAndLine locates the executable's main to
pick a default source file, used for input like "break set -l N" with no
file specified. It searched for main by full name, but a function's
linkage name can differ from its source name, in which case a full-name
search for "main" does not find it and no default file is chosen.
For example, wasi-libc renames main to __main_argc_argv, so on
WebAssembly the debug function for main was never matched and "break set
-l N" failed with "no default file available".
When we can't find "main", fall back to searching by base name.
Commit: a413409b4020787bd7f15dce9b03102eb7af33c9
https://github.com/llvm/llvm-project/commit/a413409b4020787bd7f15dce9b03102eb7af33c9
Author: Alexander Johnston <14348472+Alexander-Johnston at users.noreply.github.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/InterlockedOr.hlsl
A clang/test/SemaHLSL/BuiltIns/InterlockedOr-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/InterlockedOr.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedOr.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedOr_spv_i64.ll
Log Message:
-----------
[HLSL][DXIL] InterlockedOr and InterlockedOr64 builtins (#180804)
This includes the first phase of implementation of the InterlockedOr
intrinsic. This covers the usage of the intrinsic/builtin on
RWByteAddressBuffers, Typed Buffers, and Structured Buffers. Not covered
are textures, groupshared memory, and the standalone
InterlockedOr(buf[index], val, ret) intrinsics.
SPIRV implementation is not covered in this commit.
Contributes to, but does not address
https://github.com/llvm/llvm-project/issues/99126
Commit: 87a09a0ff00c7ebc316bf6fad90a5cdc0b39e4eb
https://github.com/llvm/llvm-project/commit/87a09a0ff00c7ebc316bf6fad90a5cdc0b39e4eb
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/docs/ClangSYCLLinker.rst
M clang/docs/ReleaseNotes.md
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang][SYCL] Add -fsycl-device-image-split option (#206870)
Add the -fsycl-device-image-split= driver option to control how SYCL
device code is split into separate device images. Supported values:
- kernel: one device image per SYCL kernel
- translation_unit: one device image per translation unit
- link_unit: one device image per linking unit
The bare -fsycl-device-image-split flag is an alias for
-fsycl-device-image-split=translation_unit, which is also the default.
clang-sycl-linker module-split-mode option values were updated
accordingly to simplify options forwarding logic.
Co-Authored-By: Claude
Commit: 32ae6b5e66e1bd387ce791f0eac042e898a67946
https://github.com/llvm/llvm-project/commit/32ae6b5e66e1bd387ce791f0eac042e898a67946
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/tools/lldb-mcp/CMakeLists.txt
M lldb/tools/lldb-mcp/lldb-mcp.cpp
Log Message:
-----------
[lldb-mcp] Link liblldb instead of the full initialization stack (#206852)
lldb-mcp linked liblldb but also pulled in lldbInitialization, which
drags in lldbCore and the entire plugin stack as a second, static copy
of LLDB alongside the dylib. It bootstrapped that copy through the
private SystemInitializerCommon.
lldb-mcp is a thin stdio proxy: it locates and forwards I/O to an lldb
subprocess and never creates a debugger. It only needs the FileSystem,
HostInfo, and Socket subsystems. Drop lldbInitialization, get the heavy
code from liblldb, and initialize just those subsystems directly (as
lldb-dap does) rather than via SystemInitializerCommon.
rdar://181054260
Commit: 26bf00b8c96ea24c01cf55682085d7446cc24836
https://github.com/llvm/llvm-project/commit/26bf00b8c96ea24c01cf55682085d7446cc24836
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/test/CIR/IR/invalid-linkage.cir
Log Message:
-----------
[CIR][NFC] Re-enable invalid linkage test (#205459)
The CIR verification test for a cir.global op with a missing linkage
attribute was broken by a change to the MLIR asm parser back in April.
At that time, I marked the test as XFAIL and added a check that would
prevent it from randomly passing. In the meantime, another MLIR parser
changed (https://github.com/llvm/llvm-project/pull/188008) fixed the
original problem.
This change reverts the test to its previous state since it now passes.
Commit: 6b3e7235edb68a5f09716030c5e8899a0bc26653
https://github.com/llvm/llvm-project/commit/6b3e7235edb68a5f09716030c5e8899a0bc26653
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M lldb/include/lldb/Utility/Policy.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/Policy.cpp
M lldb/unittests/Utility/PolicyTest.cpp
Log Message:
-----------
[lldb] Harden PolicyStack against cross-thread Guard misuse (#195774)
Two related correctness/clarity improvements to the `Policy`
infrastructure introduced by 504a112:
`PolicyStack::Guard` now stores the std::thread::id of the thread that
created it. Destruction and move operations call
`llvm::report_fatal_error` when they happen on a different thread, since
the `PolicyStack` is `thread_local`: popping from the wrong thread would
silently corrupt that thread's stack.
`Push`/`Pop` on `PolicyStack` are now private. Callers go through named
factories (`PushPrivateState`, `PushPublicStateRunningExpression`) that
return RAII Guards. The transition factories on Policy
(`CreatePrivateState`, `CreatePublicStateRunningExpression`) inherit
from `PolicyStack::Get().Current()` and apply their named change on top,
so pushed policies preserve existing stack state rather than resetting
unrelated fields. `CreatePublicState` remains the baseline reference
value (returns a default `Policy{}`); the stack returns to public state
by popping the private guards, not by pushing a "public" policy on top.
----
The following PRs are related to the Policy feature:
- #195762
- #195771
- #198897
- #195774
- #195775
rdar://176223894
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 53069acdb946dd42e4c3126bef86c7adda64cb05
https://github.com/llvm/llvm-project/commit/53069acdb946dd42e4c3126bef86c7adda64cb05
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/flexible-array-init.c
A clang/test/CIR/IR/const-record-flexible-array.cir
M clang/test/CIR/IR/invalid-const-record.cir
Log Message:
-----------
[CIR] Implement Flexible Array Members for const-record lowering (#206564)
The previous patch I did rewrote the ConstRecordBuilder in a way that
resulted in flexible array members being an NYI. This was because it
requires quite a bit of additional work to accomplish this.
This patch does this implementation. It does so by: 1- Changing the CIR
dialect to just support them. If a struct type ends in a zero size
array, it allows constant initialization with a non-zero array size.
This patch adds this, as well as tests to do so.
2- Change our LowerToLLVM to detect this pattern, and substitute in the
struct-literal type. There is some additional work to allow us to do a
padded literal, which results in slightly more matches to classic
codegen. But otherwise, it is a pretty straight forward struct
replacement with a larger array type.
Commit: 92313eff069c3148153aa8097ea3780ebc8dc057
https://github.com/llvm/llvm-project/commit/92313eff069c3148153aa8097ea3780ebc8dc057
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/CAPI/rewrite.c
Log Message:
-----------
Revert "[mlir-c] Add ConversionTarget dynamic legality C API" (#207104)
Reverts llvm/llvm-project#206161 due to SAN failures.
Commit: 37e83e76096826b5d3e34b606b1742f9db4f5e35
https://github.com/llvm/llvm-project/commit/37e83e76096826b5d3e34b606b1742f9db4f5e35
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/Error.h
Log Message:
-----------
[orc-rt] Add some missing noexcept specifiers to Error.h. (#206984)
Commit: 70de698a963575f31b549fad3229aba48b027951
https://github.com/llvm/llvm-project/commit/70de698a963575f31b549fad3229aba48b027951
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/Error.h
M orc-rt/unittests/ErrorTest.cpp
Log Message:
-----------
[orc-rt] Fix unused Expected::isFailureOfType, add testcase. (#207105)
Expected::isFailureOfType method template was calling a non-existant
Error::isFailureOfType method, but didn't trigger any compile errors as
isFailureOfType was unused. This commit fixes isFailureOfType and adds a
testcase to exercise it.
Commit: 24e7deef7363d5dce2255c5350645b927e5e3313
https://github.com/llvm/llvm-project/commit/24e7deef7363d5dce2255c5350645b927e5e3313
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/SemaTemplate/GH198890.cpp
Log Message:
-----------
[clang] Fix crash in VisitVarTemplatePartialSpecializationDecl on failed instantiation (#200161)
Fixes #198890
When a class template is explicitly instantiated and a member variable
template's type involves a substitution failure (e.g. `typename T::type`
with `T=int`), `VisitVarDecl` returned `nullptr`, causing
`VisitVarTemplateDecl` to bail out before registering the
`VarTemplateDecl` in the owner's lookup table. A subsequent call to
`VisitVarTemplatePartialSpecializationDecl` then hit an assert
(`!Found.empty()`) on the empty lookup result.
Fix: When `SubstType` fails and `InstantiatingVarTemplate=true`, recover
by using `int` as the type (via `getTrivialTypeSourceInfo(IntTy)`) and
mark the resulting `VarDecl` invalid. This ensures
`VisitVarTemplateDecl` always receives a valid `VarDecl` and finishes
registering the `VarTemplateDecl`, preserving the invariant the asserts
rely on.
A regression test is added in `clang/test/SemaTemplate/GH198890.cpp`.
Commit: 815533b0f85beed5133bc078a0582ad50f5bd70a
https://github.com/llvm/llvm-project/commit/815533b0f85beed5133bc078a0582ad50f5bd70a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/typo-correction.cpp
Log Message:
-----------
[clang] fix typo correction crash with template destructor names (#207101)
Disables typo correction for template destructor names, as typo
correction is not aware of destructors and would provide suugestions
which would form an invalid name.
Since this fixes a regression that was never released, there are no
release notes.
Fixes #206992
Commit: d4fe91df8e575032b706194d06fcdd33ff3708c0
https://github.com/llvm/llvm-project/commit/d4fe91df8e575032b706194d06fcdd33ff3708c0
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
A flang/test/Transforms/CUF/cuf-alloc-delay.fir
Log Message:
-----------
[flang][cuda] Add CUFAllocDelay pass to defer device descriptor allocation (#206882)
Add a new MLIR pass that delays cuf.alloc operations for allocatable
descriptor (box) types from function entry to just before their first
use. This defers cudaMallocManaged calls so that programs can call
cudaSetDevice or initialize communication libraries before any CUDA
context is created.
Commit: fb92fdee85de92b03d3f30d7030f915a8471b845
https://github.com/llvm/llvm-project/commit/fb92fdee85de92b03d3f30d7030f915a8471b845
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
Log Message:
-----------
[RISCV] Canonicalize the true operand of vselect to fold more vmerge.vvm instructions (#206449)
Convert (vselect CC, true, false) to (vselect InvertCC, false, true)
when false has one use, true has multiple use and CC is SETEQ or ISD::SETNE.
When compile llvm-test-suite with --march=rv64gcv -O3 -ffast-math,
Without this patch, foldVMergeToMask removes `441` PseudoVMERGE_VVM
instructions.
With this patch, foldVMergeToMask removes `794` PseudoVMERGE_VVM
instructions.
Commit: ee6d9264da81173e13fcd266faa13aff6ee02613
https://github.com/llvm/llvm-project/commit/ee6d9264da81173e13fcd266faa13aff6ee02613
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/Error.h
Log Message:
-----------
[orc-rt] Apply noexcept to newly fixed Expected::isFailureOfType. (#207106)
Commit: c9721e602a350637449781746a8e58996c4969bc
https://github.com/llvm/llvm-project/commit/c9721e602a350637449781746a8e58996c4969bc
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/abstract-cond.c
M clang/test/CIR/CodeGen/agg-atomic-cast.c
M clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/agg-init-constexpr.cpp
M clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/atomic-libcall.c
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/complex-cast.cpp
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/consteval-aggregate.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/embed-expr.c
M clang/test/CIR/CodeGen/global-decomp-decls.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGenCXX/new-array-init.cpp
M clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR] Add alignment attributes to cir.copy (#206341)
Commit: a8166e1c52c774129e23f5cee37c26161c116a84
https://github.com/llvm/llvm-project/commit/a8166e1c52c774129e23f5cee37c26161c116a84
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/non-power-of-2-buildvector.ll
Log Message:
-----------
[SLP][NFC] Add non-power-of-2 buildvector test (#206332)
For this PR: https://github.com/llvm/llvm-project/pull/206259
Commit: 56b5db17f9d41edf9dd5e4988115998cdf390ffc
https://github.com/llvm/llvm-project/commit/56b5db17f9d41edf9dd5e4988115998cdf390ffc
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/Error.h
Log Message:
-----------
[orc-rt] Apply noexcept to more Error.h APIs. (#207109)
These APIs are all unconditionally nothrow: their bodies either call
already-noexcept APIs, or move std::string / std::exception_ptr /
std::unique_ptr members whose move constructors are already noexcept.
Commit: 39f1fb931f81d78c3ea9e9fb2ae0deefbdcb4922
https://github.com/llvm/llvm-project/commit/39f1fb931f81d78c3ea9e9fb2ae0deefbdcb4922
Author: 吴腾 <wutengaa at gmail.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/test/Sema/asm.c
A clang/test/SemaCXX/inline-asm-aggregate-output.cpp
Log Message:
-----------
[InlineAsm] Diagnose oversized non-scalar tied asm outputs (#206230)
The 'r' asm constraint binds an operand to a general-purpose register.
For tied inline asm operands, Clang may promote a smaller integer input
to match a larger non-scalar register output. Only allow that path when
the output size can be represented by an integer type that fits in a
general-purpose register.
Otherwise, diagnose with err_store_value_to_reg before CodeGen attempts
to lower the asm and crashes.
This keeps GPR-sized aggregate/class outputs accepted while rejecting
larger array, struct, union, complex, vector, and class outputs. Add
Sema coverage for the affected C and C++ cases.
Fixes #204775
Commit: b92286474cafe7e4a51fe0c2f4163762bb1761e8
https://github.com/llvm/llvm-project/commit/b92286474cafe7e4a51fe0c2f4163762bb1761e8
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/Session.h
M orc-rt/lib/executor/Session.cpp
M orc-rt/unittests/InProcessControllerAccessTest.cpp
M orc-rt/unittests/SessionTest.cpp
Log Message:
-----------
[orc-rt] Add Session::tryAttach, construct ControllerAccess in attach. (#207114)
Reworks Session's controller-attachment API so that clients no longer
construct or hold a ControllerAccess directly:
- attach<ControllerAccessT>(BI, Args...) now constructs the
ControllerAccess internally, passing *this as the first constructor
argument. Suitable for ControllerAccess implementations whose
construction cannot fail.
- tryAttach<ControllerAccessT>(BI, Args...) is the new fallible
counterpart to attach. It forwards *this and the given args to
ControllerAccessT::Create, which must return an
Expected<std::shared_ptr<ControllerAccessT>>. On success, proceeds to
call connect on the instance, otherwise returns the Error. This lets
implementations surface setup failures (e.g. failing to bind a socket)
synchronously as an Error, without ever handing back a
usable-but-unconnected object.
- The raw attach(shared_ptr<ControllerAccess>, BI) entry point becomes
the private implementation detail doAttach.
Also adds ControllerAccessTest.TryAttach{Success,Failure} covering the
new factory-based path, and updates existing call sites to the new API.
Commit: 8ae4b199cfb0005e79abedd8ea5d2846d791208c
https://github.com/llvm/llvm-project/commit/8ae4b199cfb0005e79abedd8ea5d2846d791208c
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/hoist-common-skip-pseudoprobe.ll
M llvm/test/Transforms/SimplifyCFG/hoist-common-skip.ll
Log Message:
-----------
[SimplifyCFG] Don't hoist a musttail call separately from the terminator (#207094)
SimplifyCFG can accidentally hoist `musttail` away from the `ret` if
`hoistCommonCodeFromSuccessor` skipped a differing instruction, causing
a misverify. So we need to guard the `musttail` call to make sure that the `ret` is
hoisted along with the call. This can only happen when no instruction
has been skipped so both successors be folded into the the predecessor,
leaving a valid `musttail` call.
Reproducer https://godbolt.org/z/3vsnz4hc7
Commit: f122acf2d0b8c806bfa7be81aea0344bfd6fc225
https://github.com/llvm/llvm-project/commit/f122acf2d0b8c806bfa7be81aea0344bfd6fc225
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/MSP430/CMakeLists.txt
A llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
A llvm/lib/Target/MSP430/MSP430PassRegistry.def
M llvm/lib/Target/MSP430/MSP430TargetMachine.h
Log Message:
-----------
[MSP430] Add CodeGenPassBuilder
Needed to set up the pass pipeline for the NewPM.
Reviewers: asl
Pull Request: https://github.com/llvm/llvm-project/pull/206616
Commit: b8a15b4f9559928061da4ba74d526e1c3998944d
https://github.com/llvm/llvm-project/commit/b8a15b4f9559928061da4ba74d526e1c3998944d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/MSP430/MSP430.h
M llvm/lib/Target/MSP430/MSP430BranchSelector.cpp
M llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
M llvm/lib/Target/MSP430/MSP430PassRegistry.def
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
Log Message:
-----------
[MSP430] Port MSP430BranchSelect to NewPM
Standard pass porting.
Reviewers: asl
Pull Request: https://github.com/llvm/llvm-project/pull/206620
Commit: 981651d01e42081c4939202f072b8c52523b859d
https://github.com/llvm/llvm-project/commit/981651d01e42081c4939202f072b8c52523b859d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
A llvm/lib/Target/MSP430/MSP430AsmPrinter.h
M llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
Log Message:
-----------
[MSP430] Port AsmPrinter to NewPM
Similar to Lanai (f3b58ad68cca340bdd12e3fd289048e5ecf0ad8d) and X86. Use
a separate header to be consistent with the other backends.
Reviewers: asl
Pull Request: https://github.com/llvm/llvm-project/pull/206822
Commit: c78dd2fef98f7a5947bdf9be688bd0bf49b04821
https://github.com/llvm/llvm-project/commit/c78dd2fef98f7a5947bdf9be688bd0bf49b04821
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/test/CodeGen/MSP430/selectcc.ll
Log Message:
-----------
[PHIElimination] Preserve SlotIndexes even without LiveIntervals
There are some pipelines where we request SlotIndexes, but not
LiveIntervals before running PHIElimination. This happens in the MSP430
pipeline where StackColoring requests SlotIndexes, but nothing requests
LiveIntervals. Before PHIElimination would only update SlotIndexes
through LiveIntervals, which would mean we would fail to preserve
SlotIndexes if it was available but LiveIntervals was not. This would
cause crashes when later passes tried to use SlotIndexes under the
NewPM.
Reviewers: RKSimon, aeubanks, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/207074
Commit: 672dfe90adb57d5b173d17b9f6a8b9f4c36cbb93
https://github.com/llvm/llvm-project/commit/672dfe90adb57d5b173d17b9f6a8b9f4c36cbb93
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/MC/RISCV/priv-invalid.s
M llvm/test/MC/RISCV/rv32h-invalid.s
M llvm/test/MC/RISCV/rv64h-invalid.s
Log Message:
-----------
[RISCV] Add HasStdExtH to hfence.gvma and hfence.vvma aliases (#207061)
Commit: 4425cf1737520c6a6f071eb01ce5791c9e62303f
https://github.com/llvm/llvm-project/commit/4425cf1737520c6a6f071eb01ce5791c9e62303f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/test/MC/RISCV/rvv/invalid.s
Log Message:
-----------
[RISCV] Rework vmsge(u).vx pseudos to work better with near-miss assembler support (#207097)
Previously we had 3 pseudos:
vr destination with no mask
vrnov0 destination with mask
vr destination with mask and temporary dest
This was intended to prevent a v0 destination with mask and no
temporary. The vrnov0 case confused the near miss code and caused
multiple errors.
This patch reduces to 2 pseudos:
vr destination with optional mask
vr destination with mask and pseudo
The v0 destination with mask error is moved to validateInstruction which
allows us to give a better error.
Commit: e8950f2a0fb22843dce304f20aff8940f4a6672c
https://github.com/llvm/llvm-project/commit/e8950f2a0fb22843dce304f20aff8940f4a6672c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/pr206788.ll
Log Message:
-----------
[RISCV] Constant fold bitcast of constant 0 in combineVectorSizedSetCCEquality. (#207112)
There seem to be some combinations of vector type and scalar type where
a bitcast of constant 0 doesn't get folded or type legalized to a
build_vector of 0 with the vector type we want. I think it's when the
integer type is 2*xlen and <2 x iXLen> is a legal type, but I'm not
sure.
I don't have any other tests to know if adding/improving a DAG combine
is worthwhile so I just did this quick fix at the source.
Commit: f083dad787e4e8b339ce0e2dad418ec0ce28d8d9
https://github.com/llvm/llvm-project/commit/f083dad787e4e8b339ce0e2dad418ec0ce28d8d9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/test/TableGen/2010-03-24-PrematureDefaults.td
M llvm/test/TableGen/AnonDefinitionOnDemand.td
M llvm/test/TableGen/ClassInstanceValue.td
M llvm/test/TableGen/Dag.td
M llvm/test/TableGen/DefmInherit.td
M llvm/test/TableGen/DefmInsideMultiClass.td
M llvm/test/TableGen/FieldAccess.td
M llvm/test/TableGen/ForwardRef.td
M llvm/test/TableGen/LetInsideMultiClasses.td
M llvm/test/TableGen/ListArgs.td
M llvm/test/TableGen/ListArgsSimple.td
M llvm/test/TableGen/ListConversion.td
M llvm/test/TableGen/ListManip.td
M llvm/test/TableGen/ListOfList.td
M llvm/test/TableGen/ListSlices.td
M llvm/test/TableGen/LoLoL.td
M llvm/test/TableGen/MultiClass-def-fail.td
M llvm/test/TableGen/MultiClass-defm-fail.td
M llvm/test/TableGen/MultiClass-defm.td
M llvm/test/TableGen/MultiClass.td
M llvm/test/TableGen/MultiClassDefName.td
M llvm/test/TableGen/MultiClassInherit.td
M llvm/test/TableGen/MultiPat.td
M llvm/test/TableGen/Paste.td
M llvm/test/TableGen/SetTheory.td
M llvm/test/TableGen/Slice.td
M llvm/test/TableGen/SuperSubclassSameName.td
M llvm/test/TableGen/TargetInstrInfo.td
M llvm/test/TableGen/TargetInstrSpec.td
M llvm/test/TableGen/TemplateArgRename.td
M llvm/test/TableGen/Tree.td
M llvm/test/TableGen/TreeNames.td
M llvm/test/TableGen/TwoLevelName.td
M llvm/test/TableGen/UnsetBitInit.td
M llvm/test/TableGen/ValidIdentifiers.td
M llvm/test/TableGen/arithmetic.td
M llvm/test/TableGen/cast-typeerror.td
M llvm/test/TableGen/cast.td
M llvm/test/TableGen/code.td
M llvm/test/TableGen/cond-bitlist.td
M llvm/test/TableGen/cond-default.td
M llvm/test/TableGen/cond-empty-list-arg.td
M llvm/test/TableGen/cond-inheritance.td
M llvm/test/TableGen/cond-let.td
M llvm/test/TableGen/cond-list.td
M llvm/test/TableGen/cond-subclass.td
M llvm/test/TableGen/cond-type.td
M llvm/test/TableGen/cond-usage.td
M llvm/test/TableGen/condsbit.td
M llvm/test/TableGen/dag-functional.td
M llvm/test/TableGen/defmclass.td
M llvm/test/TableGen/defset-typeerror.td
M llvm/test/TableGen/defset.td
M llvm/test/TableGen/empty.td
M llvm/test/TableGen/eq.td
M llvm/test/TableGen/eqbit.td
M llvm/test/TableGen/exists-error-non-string.td
M llvm/test/TableGen/exists-error-record.td
M llvm/test/TableGen/exists-error-uninitialized.td
M llvm/test/TableGen/exists.td
M llvm/test/TableGen/field-access-initializers.td
M llvm/test/TableGen/foldl.td
M llvm/test/TableGen/foreach-eval.td
M llvm/test/TableGen/foreach-leak.td
M llvm/test/TableGen/foreach-multiclass.td
M llvm/test/TableGen/foreach.td
M llvm/test/TableGen/generic-tables-instruction.td
M llvm/test/TableGen/generic-tables.td
M llvm/test/TableGen/if-empty-list-arg.td
M llvm/test/TableGen/if-type.td
M llvm/test/TableGen/if-unresolved-cast.td
M llvm/test/TableGen/if.td
M llvm/test/TableGen/ifbit.td
M llvm/test/TableGen/instances.td
M llvm/test/TableGen/intrinsic-long-name.td
M llvm/test/TableGen/intrinsic-varargs.td
M llvm/test/TableGen/isa.td
M llvm/test/TableGen/list-element-bitref.td
M llvm/test/TableGen/match.td
M llvm/test/TableGen/math.td
M llvm/test/TableGen/name-resolution-consistency.td
M llvm/test/TableGen/pr8330.td
M llvm/test/TableGen/range-lists.td
M llvm/test/TableGen/range-op.td
M llvm/test/TableGen/searchabletables-intrinsic.td
M llvm/test/TableGen/self-reference-recursion.td
M llvm/test/TableGen/self-reference-typeerror.td
M llvm/test/TableGen/self-reference.td
M llvm/test/TableGen/size.td
M llvm/test/TableGen/submulticlass-leteq.td
M llvm/test/TableGen/submulticlass-typecheck.td
M llvm/test/TableGen/subst.td
M llvm/test/TableGen/subst2.td
M llvm/test/TableGen/template-arg-dependency.td
M llvm/test/TableGen/usevalname.td
Log Message:
-----------
[NFC][LLVM] Remove `XFAIL: vg_leaks` from TableGen lit tests (#207016)
Commit: 4cb3cef5a4e5ea1b3d9bb4f3cd8ae3951ac0f0d4
https://github.com/llvm/llvm-project/commit/4cb3cef5a4e5ea1b3d9bb4f3cd8ae3951ac0f0d4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/AST/Decl.h
Log Message:
-----------
[clang][docs] Add \code comments around code in doc comments (#207116)
Commit: 9c51ed38f1e25a5a9c3c766ed1b2b8198021b5dd
https://github.com/llvm/llvm-project/commit/9c51ed38f1e25a5a9c3c766ed1b2b8198021b5dd
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-07-01 (Wed, 01 Jul 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/empty-type.ll
Log Message:
-----------
[NVPTX] Add support for empty type params and returns (#207057)
Commit: 091b20e78cc1a35ddea3d28df5288cedb4ae6ac7
https://github.com/llvm/llvm-project/commit/091b20e78cc1a35ddea3d28df5288cedb4ae6ac7
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/include/lldb/Target/MemoryRegionInfoCache.h
M lldb/source/Target/MemoryRegionInfoCache.cpp
Log Message:
-----------
[lldb] Use std::map in MemoryRegionInfoCache (#206986)
The RangeVector abstraction is slow w.r.t. amount of sorting it
requires, and it is particularly bad when sorting a MemoryRegionInfo, as
this object is expensive to move. All of this is aggravated in sanitizer
bots, where a handful of tests started timing out as a result of the
MemoryRegionInfoCache.
This commit fixes the situation by simplifying the code: just use a
std::map. Based on current usage, behaviour should be identical to
before. In particular, neither case addresses cases like this:
1. Insert range [100, 200]
2. Insert range [150, 160]
3. Query address 170.
In both cases we fail to find a cached range and proceed to query the
inferior again. Which is not incorrect, jut doesn't maximize the cache
usage.
A proper fix is to use an interval tree, with the assumption that if
overlapping ranges are inserted, they have the same memory region info
contents and we can just join the intervals.
Commit: ad5add5fb62573fc1f139a40658d616e16a82625
https://github.com/llvm/llvm-project/commit/ad5add5fb62573fc1f139a40658d616e16a82625
Author: LeeYoungJoon <dog3hk.dev at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/AST/TypeProperties.td
A clang/test/Modules/pr204479.cppm
Log Message:
-----------
[clang][serialization] Fix crash on imported pack indexing type (#205965)
The selected index of a PackIndexingType was not serialized, so on
deserialization its canonical type was rebuilt as a dependent type,
crashing CodeGen.
Difference in `Ty` during `CodeGenTypes::ConvertType`
(https://github.com/llvm/llvm-project/blob/49cf5a7ba0ab76a1f700ce6407cea1713741bc01/clang/lib/CodeGen/CodeGenTypes.cpp#L415-L424)
### Before
```cpp
PackIndexingType 0x142914680 'int' sugar
|-SubstTemplateTypeParmPackType 0x1429145a0 'Ts' dependent contains_unexpanded_pack imported typename depth 0 index 0 ... Ts
| |-TypeAliasTemplate 0x142914318 'element'
| `-TemplateArgument pack '<int>'
| `-TemplateArgument type 'int'
| `-BuiltinType 0x14401cf10 'int'
|-ConstantExpr 0x142914630 '__size_t':'unsigned long'
| |-value: Int 0
| `-ImplicitCastExpr 0x1429145f0 '__size_t':'unsigned long' <IntegralCast>
| `-IntegerLiteral 0x1429145d0 'int' 0
`-SubstTemplateTypeParmType 0x142914650 'int' sugar imported typename depth 0 index 0 ... Ts pack_index 0 final
|-TypeAliasTemplate 0x142914318 'element'
`-BuiltinType 0x14401cf10 'int'
```
### After
```cpp
BuiltinType 0x14e02e710 'int'
```
I used AI assistance when writing the test code, but I personally
reviewed it. 🤖
Fixes https://github.com/llvm/llvm-project/issues/204479
---------
Co-authored-by: Younan Zhang <zyn7109 at gmail.com>
Commit: e7924d50db0ae1c584c975fc4f274960d93c92d2
https://github.com/llvm/llvm-project/commit/e7924d50db0ae1c584c975fc4f274960d93c92d2
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/dllexport-ctor-closure.cpp
M clang/test/CodeGenCXX/microsoft-abi-throw.cpp
A clang/test/SemaCXX/ms-ctor-closure.cpp
Log Message:
-----------
[clang] Handle constructor closures with consteval default args (#203554)
Fixes https://github.com/llvm/llvm-project/issues/201320
Just grabbing the default argument with `getDefaultArg()` during codegen
doesn't work if the expression requires evaluating a consteval
expression (see bug). Instead, we must properly BuildCXXDefaultArgExpr
it during Sema, store it in the AST (including
serialization/deserialization) and then use that during codegen.
Commit: a5114abd0c022729fdc659dd0dfe14542b25aa85
https://github.com/llvm/llvm-project/commit/a5114abd0c022729fdc659dd0dfe14542b25aa85
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
Log Message:
-----------
Revert "[libc++] Move threading and random device config into <__configuration/platform.h>" (#207134)
There were CI failures that I missed when merging.
Reverts llvm/llvm-project#206262
Commit: 9b631e7f24484d1549b24c89b1a59698a201949b
https://github.com/llvm/llvm-project/commit/9b631e7f24484d1549b24c89b1a59698a201949b
Author: David Truby <david.truby at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
Log Message:
-----------
[Windows][Arm64EC] Enable thunk generation for bfloat16 (#206710)
This patch enables thunk generation for functions that take and return
bfloat16 types. These types live in the same registers as fp16 types in
both Arm64 and x86 so we just need the same behaviour as for fp16.
Assisted-by: codex (gpt-5.5)
Co-authored-by: nick.dingle at arm.com
Commit: b25e5be70aa7d335f07d95b4484e5638544f0f98
https://github.com/llvm/llvm-project/commit/b25e5be70aa7d335f07d95b4484e5638544f0f98
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/analyzer-config.c
A clang/test/Analysis/malloc-failure.c
Log Message:
-----------
[clang][analyzer] Add allocation failure modeling to DynamicMemoryModeling (#205371)
New option is added to the checker to create branches with null return
value from memory allocations (off by default).
Commit: efb601925afb30ae0205dea008ae72c39fc58485
https://github.com/llvm/llvm-project/commit/efb601925afb30ae0205dea008ae72c39fc58485
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/insert-subvector.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
Log Message:
-----------
[AArch64][GlobalISel] Add legalisation for G_INSERT_SUBVECTOR (#205349)
Previously, G_INSERT_SUBVECTOR has no legalisation logic.
To fix, legalise G_INSERT_SUBVECTOR into one of these collections of
instructions:
1. If Vector V is double the size of subvector W:
insert_subvector(V, W, idx) -> concat(W, extract(correct half of V)).
2. V is NOT double the size of W:
insert_subvector(V, W, idx) -> shuffle(V, W, Mask).
Note that the generated code is not as optimal as that produced by SDAG.
Commit: 1fac729d59897a3366937a276b4201a96f80b225
https://github.com/llvm/llvm-project/commit/1fac729d59897a3366937a276b4201a96f80b225
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/RegisterScavenging.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[CodeGen][NFC] Move getRawAllocOrder to TargetRegInfo (#207124)
For most TargetRegisterClasses, the allocation order function is null
and we try to avoid pointer members in constants, so move the order
function to the TargetRegisterInfo to avoid the pointer member and
shrink the data structure.
Commit: b2c506061f8f05dcc6c4c03a9e7cfdfc82377c12
https://github.com/llvm/llvm-project/commit/b2c506061f8f05dcc6c4c03a9e7cfdfc82377c12
Author: Zhige Chen <zhige_chen at outlook.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify cttz.elts returns poison for undersized result types (#206970)
Update the LangRef for `llvm.experimental.cttz.elts` and
`llvm.vp.cttz.elts` to state that an undersized return type produces
poison rather than UB, matching the intrinsic's speculatable behavior.
See also
https://github.com/llvm/llvm-project/pull/206899#discussion_r3504289653.
Commit: 855443d4be625e68d30addccb36b4824a54a7ac9
https://github.com/llvm/llvm-project/commit/855443d4be625e68d30addccb36b4824a54a7ac9
Author: Trevor Gross <tg at trevorgross.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
[RuntimeLibcalls] Use a multiclass for all libm impls (NFC) (#148349)
`LibmLongDoubleLibcalls` currently handles generating definitions for
the three long double variants, but `F32` and `F64` always get a written
definition. Simplify this by changing `LibmLongDoubleLibcalls` to
`LibmLibcallImpls` that also expands `F32` and `F64`.
As part of this, `LibmLibcallImpls` can take a function name with an `X`
placeholder, to be replaced with the float type suffix. This allows the
multiclass to also be used for libcalls with the suffix in the middle
rather than strictly at the end.
Commit: ea4ad685e400ddf60cf336225bd5bd6274369c16
https://github.com/llvm/llvm-project/commit/ea4ad685e400ddf60cf336225bd5bd6274369c16
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[LV] Regenerate RISC-V interleaved-cost.ll with UTC. NFC (#207138)
Also don't have an individual RUN for each of the
+optimized-nfX-segment-load-store, just have an optimized and
unoptimized RUN for scalable and fixed VFs each.
Commit: 88bf28094ec315d164f975e59e9b96641d801af8
https://github.com/llvm/llvm-project/commit/88bf28094ec315d164f975e59e9b96641d801af8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/fstream
A libcxx/test/benchmarks/streams/fstream.bench.cpp
R libcxx/test/benchmarks/streams/ofstream.bench.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/xsgetn.pass.cpp
Log Message:
-----------
Reapply "[libc++] Optimize fstream::read" (#206453)
This was reverted due to causing crashes if an ifstream wasn't opened.
This patch addresses this issue by simply checking whether the `__file_`
handle is null, and if it is simply fall back to the generic
implementation.
Fixes #168628
Fixes #205845
This reverts commit 347512ff38748ac6ebfacbfda172edb5cf1edbe2.
Commit: 6a3359fefb8443af1b897e32f0f18dc5c00aac39
https://github.com/llvm/llvm-project/commit/6a3359fefb8443af1b897e32f0f18dc5c00aac39
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M libcxx/include/future
A libcxx/test/std/thread/futures/futures.task/destruction_order.pass.cpp
Log Message:
-----------
[libc++] Remove _LIBCPP_COMPRESSED_PAIR from packaged_task (#200642)
Commit: f1454e0005a0ff83601573da2abbbc87ea670a33
https://github.com/llvm/llvm-project/commit/f1454e0005a0ff83601573da2abbbc87ea670a33
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[LV] Inline llvm-lit DEFINEs in interleaved-cost.ll NFC (#207143)
Turns out update_analyze_test_checks.py doesn't really like the
DEFINEs, which causes some subsequent updates to have CHECK lines
erroneously merged.
Commit: 75e0516da874501d7bb3417b7364a452827dea93
https://github.com/llvm/llvm-project/commit/75e0516da874501d7bb3417b7364a452827dea93
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/source/Host/windows/PipeWindows.cpp
Log Message:
-----------
[lldb][Windows] Return EOF from PipeWindows::Read on a closed write end (#207017)
A closed pipe write end is EOF, not an error. On POSIX, `read()` returns
0, but on Windows `ReadFile` fails with `ERROR_BROKEN_PIPE`. The
lldb-server `gdbserver/platform` pipe synchronization in
`GDBRemoteCommunication::StartDebugserverProcess` reads the pipe until
EOF, so without this it sees an error instead of EOF and reports the
sync as failed.
Translate both broken-pipe conditions to a zero-length read so
cross-platform callers can detect EOF uniformly.
rdar://180736036
Commit: d59fe9e1d3d6e52d662f62cdc0f12599ac505e0a
https://github.com/llvm/llvm-project/commit/d59fe9e1d3d6e52d662f62cdc0f12599ac505e0a
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
Log Message:
-----------
[Arm64EC] Add support for `fp128` (#206980)
fixes https://github.com/llvm/llvm-project/issues/94434
Analogue to https://github.com/llvm/llvm-project/pull/152843 but for
`fp128`.
Testing is a bit thin still, we need to fix some other problems like
https://github.com/llvm/llvm-project/issues/144006 so that the arm64ec
target can be added to more tests.
Commit: 6f9ac38b7c1934fbce49683e32c732c73e5e1ab4
https://github.com/llvm/llvm-project/commit/6f9ac38b7c1934fbce49683e32c732c73e5e1ab4
Author: Xavier Roche <roche at httrack.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M libcxx/test/std/numerics/bit/byteswap.verify.cpp
Log Message:
-----------
[libc++][test] Cover byteswap _BitInt padding on every ABI with width 72 (#206360)
`std::byteswap` is required to reject integer types that have padding
bits, and one test case checks that it does. The case used `unsigned
_BitInt(96)`, but #205295 had to skip it on 32-bit x86. On the i386
System V ABI, `_BitInt(96)` is exactly 12 bytes with no padding, so
`std::byteswap` accepts it and the expected error never fires. The skip
used `!defined(__i386__)`, a target name that stands in for an object
layout the preprocessor cannot see.
This change uses `unsigned _BitInt(72)` instead. Its 9 value bytes round
up to 12 bytes on 32-bit x86 and 16 bytes everywhere else, so the type
always has padding and `std::byteswap` always rejects it. The case now
runs on every target, 32-bit x86 included, with no target guard.
Follows up on #205295.
Assisted-by: Claude (Anthropic)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 2523d725d156f50973c4192137ffdd308913c267
https://github.com/llvm/llvm-project/commit/2523d725d156f50973c4192137ffdd308913c267
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/test/CodeGen/ARM/machine-outliner-thunk-tcgpr.mir
Log Message:
-----------
[ARM] Change register class of tTAILJUMPr's destination (#206763)
This patch changes the register class of tTAILJUMPr's destination from
tcGPR to GPR.
tTAILJUMPr is lowered into a BX (branch-and-exchange) with a register
operand. This instruction has no restrictions about its register
operand, therefore the previous limitation to tcGPR was too tight.
The important consequence of this change is in the machine outliner for
ARM. With this change, code sequences that terminate with a tBLXr can be
outlined regardless of the register used as operand. Before, if the
register used was callee saved, that is, not in tcGPR, the outliner gave
up. The outlining process replaces the call (BLX) by a tail call (BX).
This replacement can be problematic if the callee saved registers are
not properly restored before the tail call. However, one important
detail to mention is that tTAILJUMPr is created during pseudo
instruction expansion, which in turn takes place after register
allocation and prologue/epilogue insertion. By this point, the
replacement is safe because the epilogue will already have been properly
laid out.
Assisted-by: codex. It was used to help in the creation of tests.
Commit: 9db1a29384dd505b6acd432a039f5c778ef42992
https://github.com/llvm/llvm-project/commit/9db1a29384dd505b6acd432a039f5c778ef42992
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_types.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_types_expected.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_types.cpp
Log Message:
-----------
[Dexter] Add !type and !type/all nodes to test variable types (#204159)
This patch adds the second kind of variable expect, !type, which tests
the type of a variable as reported by the debugger. As with !value, this
is a string comparison of the debugger output with the script expected
value - this means that even if two types are identical (e.g. typedef),
a !type node will only match the one that the debugger displays by
default.
Script writing and aggregates work the same for !type as for !value, and
the metrics reported are largely similar, with the exception that
"unexpected", "seen", and "missing" metrics are reported separately for
values and types.
Commit: ce787718c3c82255825ebe5f95740c24df55f7d0
https://github.com/llvm/llvm-project/commit/ce787718c3c82255825ebe5f95740c24df55f7d0
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
A llvm/test/MC/AArch64/hinte-diagnostics.s
A llvm/test/MC/AArch64/hinte.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Add support for FEAT_HINTE for Armv9.6 onwards (#206905)
Add support for `FEAT_HINTE`, as defined in the Arm ARM M.c edition[1]
This defines the Extended Hint instruction space. `FEAT_HINTE` is
optional from Armv9.0, and mandatory from Armv9.6.
Add MC coverage for assembly, disassembly, diagnostics, generic sysreg
fallback behavior, Clang driver handling, and target parser extension
mapping.
[1] https://developer.arm.com/documentation/ddi0487/latest
Commit: b385e9f625b0b1dce6f46cc8290d00723a0c4941
https://github.com/llvm/llvm-project/commit/b385e9f625b0b1dce6f46cc8290d00723a0c4941
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/FixIt/fixit-unicode-named-escape-sequences.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/unicode.c
M clang/www/cxx_status.html
M llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
M llvm/unittests/Support/UnicodeTest.cpp
M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
Log Message:
-----------
[clang] Implement P3733R1 (#203944)
In all C++ language modes, as a DR
Commit: 4f11992ff68d3d872fe72317675b29343d10c1fe
https://github.com/llvm/llvm-project/commit/4f11992ff68d3d872fe72317675b29343d10c1fe
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
Log Message:
-----------
[lldb] Fix build after FileSpec::GetDirectory() ConstString removal (#207073)
FileSpec::GetDirectory() now returns llvm::StringRef instead of
ConstString, so the .GetStringRef() call no longer compiles.
Regressed by f9b5264523b1 ("[lldb] Remove ConstString getters from
FileSpec", #206802).
failed with
```
/build/source/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp:276:44: error: no member named 'GetStringRef' in 'llvm::StringRef'
276 | path_to_copy_module.GetDirectory().GetStringRef());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1 error generated.
```
Commit: 924f9e30a3f69f6aff0844bdbb76e49811a87692
https://github.com/llvm/llvm-project/commit/924f9e30a3f69f6aff0844bdbb76e49811a87692
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/sve-pred-log.ll
M llvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add isel patterns for predicate "and a, (op b, c)" sequences. (#206751)
SVE predicate logical operations are predicated and thus effectively
work as is their operation is not predicated but then anded with another
predicate.
Commit: d05ff6fff1c289f91719f726700e4d8c425c3f16
https://github.com/llvm/llvm-project/commit/d05ff6fff1c289f91719f726700e4d8c425c3f16
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/MC/AArch64/armv8.2a-statistical-profiling.s
M llvm/test/MC/AArch64/armv8.4a-trace-error.s
M llvm/test/MC/AArch64/armv8.4a-trace.s
M llvm/test/MC/AArch64/armv8.5a-bti.s
A llvm/test/MC/AArch64/armv9.6a-pcdphint-diagnostics.s
M llvm/test/MC/AArch64/armv9.6a-pcdphint.s
M llvm/test/MC/AArch64/armv9.7a-memsys.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
M llvm/test/MC/AArch64/ras-extension.s
M llvm/test/MC/AArch64/speculation-barriers.s
Log Message:
-----------
[AArch64][llvm] Implement HINT instructions as aliases (NFC) (#206383)
Implement these `HINT`-space encodings as aliases of `HINT`
instead of dedicated instructions:
* bti
* psb
* stshh
* stcph
* shuh
* tsb
Use normal generated InstAlias parsing for these forms. The option
operands are parsed with `parseKeywordOperand` and are
canonicalized to preserve the existing case-insensitive assembly syntax.
Remove the now-unused `PSB`, `BTI`, `CMH`, `PHint` and `TSB` tablegen
definitions, operand classes, parser hooks and printer helpers.
Also tighten the `BTI` check to match the exact `BTI HINT` encodings:
32, 34, 36 and 38. The previous bitmask check missed plain `BTI/BTI R`
and could match non-BTI HINT immediates.
The only intended test change is a diagnostic wording change to
`armv8.4a-trace-error.s` for invalid `tsb csync` operands, since the
code now uses the common error message codepath:
```
- //CHECK-ERROR: error: 'csync' operand expected
+ //CHECK-ERROR: error: invalid operand for instruction
```
Apart from this, no other test code was modified; only new tests added.
Commit: 5f094a2734d7be1fa280b1ab15637847b728851d
https://github.com/llvm/llvm-project/commit/5f094a2734d7be1fa280b1ab15637847b728851d
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner][NFC] Use `m_Value(N, Pattern)` overload to simplify matching (#207154)
Replace the `m_AllOf(Pattern, m_Value(N))` idiom (match-and-bind) with
the
`m_Value(N, Pattern)` overload throughout `DAGCombiner`, and fold
standalone
negative `sd_match` checks into the pattern via `m_Unless` where
applicable.
Commit: 8b10c2e17a4fac8198baf097e0ae37e3dfedd282
https://github.com/llvm/llvm-project/commit/8b10c2e17a4fac8198baf097e0ae37e3dfedd282
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/test/Modules/embed-files-compressed.cpp
Log Message:
-----------
[modules][test] Loosen size check in embed-files-compressed.cpp (#206879)
zlib-ng 2.3.2 on SpacemiT K3 compresses the repetitive input slightly worse than
zlib (~84KB vs ~67KB), exceeding the 80KB bound. Raise it to 100KB.
Assisted-by: claude-opus
Commit: 5b70c3eeb79f634fd57ce19e21c678de2636ffa2
https://github.com/llvm/llvm-project/commit/5b70c3eeb79f634fd57ce19e21c678de2636ffa2
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Add missing dependent dialect to TestVectorUnrollingPatterns (#207113)
Add `vector::VectorDialect` to `getDependentDialects()` for
`TestVectorUnrollingPatterns`. Previously, `arith.addf` test passed only
because the vector dialect was indirectly loaded via other vector tests
in the same `MLIRContext`. With `split-input-file`, each test runs in an
isolated context, causing failures due to the missing vector dialect.
Fixes #206921.
Commit: 2d1dd6c182cd1355e08319f256c81c9414334a0a
https://github.com/llvm/llvm-project/commit/2d1dd6c182cd1355e08319f256c81c9414334a0a
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/docs/CodingStandards.md
Log Message:
-----------
[LLVM][CodingStandard] More guidance for constants (#206972)
LLVM's startup overhead is dominated by page faults caused by global
constructors (most notably cl::opt, but also some other globals (likely
inadvertantly)) and relocations. Therefore:
- Be more explicit about inadvertant global constructors and recommend
using constexpr to initialize constant global variables.
- Discourage the addition of globals that cause relocations.
Commit: 305dd8773f938a65b020b82ae803f86de2c5ac22
https://github.com/llvm/llvm-project/commit/305dd8773f938a65b020b82ae803f86de2c5ac22
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
Log Message:
-----------
[lldb][Windows] Mark test as expected failure (#207153)
In f31853255c300e07b93783425e40948cc0dfdb0f, this test was marked as
expected failure only when running with `lldb-server.exe`. It shoulds
not have been, it is still failing. Revert the decorator to
`expectedFailureWindows`.
Commit: a617ee3307ce1f183e9593ac08c5ddfaf914d1c9
https://github.com/llvm/llvm-project/commit/a617ee3307ce1f183e9593ac08c5ddfaf914d1c9
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
Log Message:
-----------
[LLVM][CodeGen][SVE] Add ElementSize information to pseudo instructions. (#206133)
https://github.com/llvm/llvm-project/pull/204820 is making more use of
an SVE instruction's element size. To make best use of this the pseudo
instructions need to carry the same information because the pass is run
before expansion. This PR adds the necessary data and updates
AArch64SVESchedPseudoTest to verify the data matches the real
instruction it represents.
Commit: 938751d785901445e263568f529d54f1e7171066
https://github.com/llvm/llvm-project/commit/938751d785901445e263568f529d54f1e7171066
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates_addresses.cpp
Log Message:
-----------
[Dexter] Allow matching lists of values for aggregate members (#204160)
This patch slightly extends the matching of aggregate members to allow
for lists of expected values for individual functioning the same as
lists of expected values for scalar values. This is accomplished by
recursively calling `get_expect_match` instead of `DebuggerExpectMatch`,
which contains logic for matching against all possible expected values
and selecting the best match (and committing any associated context
changes, e.g. modified address labels).
Commit: 48a004672bbff735569f037f85211c7c472aa5a0
https://github.com/llvm/llvm-project/commit/48a004672bbff735569f037f85211c7c472aa5a0
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M offload/unittests/OffloadAPI/common/Environment.cpp
Log Message:
-----------
[offload] check olInit and olShutDown error in unittests initialisation (#206764)
if olInit fails, it leaves liboffload in an inconsistent state (proper
cleanup will be addressed in a follow-up patch). This can lead to
seemingly unrelated test failures (e.g. the host device is missing).
This patch makes such tests fail immediately with a clear error message.
Commit: e8e379ef1ebc67cd2a307db0de8f5ad45cb81101
https://github.com/llvm/llvm-project/commit/e8e379ef1ebc67cd2a307db0de8f5ad45cb81101
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
Log Message:
-----------
[LLD][COFF] Factor out addObjectFile (NFC) (#206811)
Avoid parsing the input COFF file twice: first, implicitly, in
findBitcodeInObject and later when creating the ObjFile instance. Create
the COFFObjectFile earlier and use it for both the findBitcodeInObject
call and ObjFile creation. It's also preparation for handling hybrid
ARM64X object files.
Commit: 43082d6efa9c819a7b4ddf4ecfa963748caa82de
https://github.com/llvm/llvm-project/commit/43082d6efa9c819a7b4ddf4ecfa963748caa82de
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/StaticAnalyzer/Core/Analyses.def
M clang/test/Analysis/missing-z3-nocrash.c
M clang/test/Analysis/z3/D83660.c
M clang/test/Analysis/z3/pretty-dump.c
M clang/test/Analysis/z3/z3-unarysymexpr.c
Log Message:
-----------
[analyzer] Rename z3 constraint manager backend to unsupported-z3 (#205370)
The Z3 constraint manager backend (selected via
-analyzer-constraints=z3) is unmaintained and known to crash on
real-world input. Rename the user-facing flag to unsupported-z3 and
reword its description so users see up front that the backend is
unsupported and crash-prone -- patches welcome, crash reports are not.
Assisted-By: claude
Commit: ce2a9c35e9263c5f88b4d741e3d1b54afd89d7bd
https://github.com/llvm/llvm-project/commit/ce2a9c35e9263c5f88b4d741e3d1b54afd89d7bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-shuf.ll
M llvm/test/CodeGen/X86/haddsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
Log Message:
-----------
[X86] Sync scalar hadd/hsub tests between the middle-end and backend (#207163)
Update some more PhaseOrdering/CodeGen test pairs to ensure we're testing what the backend will actually see
Help towards #143000
Commit: e08041c787295bb5c5c004453d771473142207af
https://github.com/llvm/llvm-project/commit/e08041c787295bb5c5c004453d771473142207af
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M .github/workflows/release-documentation.yml
Log Message:
-----------
Upload man pages with attestation (#204852)
This first uploads the man pages as a workflow artifact. Then in another
job which requires more permissions than we want to give to the build
job, the man pages are uploaded as a release asset with attestation.
Commit: 329674f4f4dd08905f456eb7eceeb49770152a38
https://github.com/llvm/llvm-project/commit/329674f4f4dd08905f456eb7eceeb49770152a38
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-pairwise-add-long.ll
Log Message:
-----------
[AArch64][InstCombine] Combine add with [su]adalp intrinsics (#204796)
It can happen that the [su]adalp uses a zero accumulator and its result
is used as an operand into an ADD instruction. We can fold those.
add(adalp(%pred, zeroinitializer, %in), %acc)
-->
adalp(%pred, %acc, %in)
Commit: a62d8e068fe04e9edc870f184d7ed635811eb1f1
https://github.com/llvm/llvm-project/commit/a62d8e068fe04e9edc870f184d7ed635811eb1f1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Reject functions with invalid parameters (#207157)
They will just cause problems later when calling them.
Commit: 73cfa6bf6855b3bd7e8a87569969888cf95d0962
https://github.com/llvm/llvm-project/commit/73cfa6bf6855b3bd7e8a87569969888cf95d0962
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
R llvm/test/Transforms/SCCP/bitcast-vector-refinement.l.ll
A llvm/test/Transforms/SCCP/vector-refinement.ll
Log Message:
-----------
[SCCP] Avoid markConstant() in more places (#206494)
This extends the fix from 991455e69e93c0ce88e927eddd28a9ab34d1f8b2 to
two more places. In both of these, we can run into the same situation
where we first mark as constant with a vector that has poison values,
and then again without poison elements, resulting in an assertion
failure.
(An alternative would be to change markConstant() to allow calls with
different constant if the new constant is a vector that only refines
some previously poison elements?)
Commit: 08016b2dbd1d93a3c5f00ec6cb0ffc46a55d6bf8
https://github.com/llvm/llvm-project/commit/08016b2dbd1d93a3c5f00ec6cb0ffc46a55d6bf8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/phaddsub.ll
Log Message:
-----------
[X86] phaddsub.ll - add SSE2/SSE3 test coverage (#207179)
Ensure integer HADD/SUB instructions don't get generated without SSSE3 and that the codegen isn't entirely terrible
Commit: 3996867e69047fc5ec8aa95bfe06eb153696bdd2
https://github.com/llvm/llvm-project/commit/3996867e69047fc5ec8aa95bfe06eb153696bdd2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-2.ll
Log Message:
-----------
[X86] haddsub-2.ll - remove duplicate scalar tests (#207183)
These vectorisation tests exist in PhaseOrdering/X86/hadd.ll and
PhaseOrdering/X86/hsub.ll and the result shuffle tests exist in
CodeGen/X86/haddsub.ll and CodeGen/X86/phaddsub.ll
Help towards #143000
Commit: 21f21d1cbb182907c2bc01fa3d4896b27c71f71a
https://github.com/llvm/llvm-project/commit/21f21d1cbb182907c2bc01fa3d4896b27c71f71a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use VECREDUCE_OR instead of VP_REDUCE_OR in combineVectorSizedSetCCEquality. NFCish (#207122)
VECREDUCE_OR doesn't require a VL or mask. We generally don't create VP
operations for fixed vectors.
This should produce the same result in most case, but I can't guarantee
it's completely NFC
Commit: 846f3250ff859130d1d4db8a60461e61c51b5cef
https://github.com/llvm/llvm-project/commit/846f3250ff859130d1d4db8a60461e61c51b5cef
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
Log Message:
-----------
[RISCV] Use simm12 instead of simm12_lo for CORE-V post-increment load/store. (#207067)
This operand is an immediate representing how much to adjust the pointer
by after the load/store. Having a symbol address here doesn't make
sense.
Commit: 507108edb62722b0f8bebf11133722d6689c0b65
https://github.com/llvm/llvm-project/commit/507108edb62722b0f8bebf11133722d6689c0b65
Author: disservin <disservin.social at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/Parse/ParseStmt.cpp
Log Message:
-----------
[clang] Fix enum/non-enum conditional warning in ParseStmt (#207085)
Use Scope::NoScope instead of 0, fixes
```
llvm-project/clang/lib/Parse/ParseStmt.cpp:1744:57: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
1744 | unsigned ScopeFlags = Scope::ControlScope | (C99orCXX ? Scope::DeclScope : 0);
```
Commit: dab5d92f36fff2149f55e8dd7108522f4104cb62
https://github.com/llvm/llvm-project/commit/dab5d92f36fff2149f55e8dd7108522f4104cb62
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-2.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
Log Message:
-----------
[X86] haddsub-2.ll - sync scalar "not" hsub tests between the middle-end and backend (#207192)
Replace the codegen scalar tests with the IR that middle-end actually generates
Help towards #143000
Commit: 142d555b62e8d364aeb066c4f459e534d12df095
https://github.com/llvm/llvm-project/commit/142d555b62e8d364aeb066c4f459e534d12df095
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/floats.cpp
Log Message:
-----------
[Dexter] Add ability to check float values within a range (#204161)
Adds a new node type, !float, which can be used to match debugger ouptut
as
float values rather than as strings, optionally allowing a range to be
specified for inexact matches. This new node allows a list of values to
be
given, effectively a shorthand for a list of individual !float nodes.
Commit: 8f18d86a33e4a2fa56d081d30ff35504dddf0119
https://github.com/llvm/llvm-project/commit/8f18d86a33e4a2fa56d081d30ff35504dddf0119
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC] Fix reduction var equality check for member variables (#207196)
OpenACC requires we check that a variable have the same operator in all
nested constructs with a reduction. The implementation for this checks
everything I could think of, but I apparently missed member expressions.
This patch adds checks for that as well as 'this' so we should correctly
get the checks.
Fixes: #207180
Commit: 6c5fa602151f8def92b024a162960db8408a71a6
https://github.com/llvm/llvm-project/commit/6c5fa602151f8def92b024a162960db8408a71a6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Log Message:
-----------
[SimplifyCFG] Avoid calling `paramHasNonNullAttr` on a ptr vector argument (#207195)
After
https://github.com/llvm/llvm-project/commit/f8467698d8cdbac6e02cdc1aab643d1ac733ec19,
`ConstantPointerNull` also represents a null ptr vector. However,
`paramHasNonNullAttr` only accepts scalar pointer arguments.
Closes https://github.com/llvm/llvm-project/issues/207188.
Commit: fc1565f89eaff7b4594186793cbb04862660ecff
https://github.com/llvm/llvm-project/commit/fc1565f89eaff7b4594186793cbb04862660ecff
Author: Yihan Wang <yronglin777 at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits-incomplete.cpp
Log Message:
-----------
[clang] Check `T` and `U` operands of __reference_constructs_from_temporary are complete types (#206703)
This PR fix a bug introduce by
https://github.com/llvm/llvm-project/pull/206527.
[type.traits] Precondition : "T and U shall be complete types, cv void,
or arrays of unknown bound first.
The check for which
[#206527](https://github.com/llvm/llvm-project/pull/206527.) disables if
the first argument isn't a reference type.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 4df00678d86feafefcd953db317c80241b691d53
https://github.com/llvm/llvm-project/commit/4df00678d86feafefcd953db317c80241b691d53
Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx512bmmintrin.h
A clang/lib/Headers/avx512bmmvlintrin.h
M clang/lib/Headers/immintrin.h
A clang/test/CodeGen/X86/avx512bmm-builtins.c
A clang/test/CodeGen/X86/avx512bmmvl-builtins.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/Preprocessor/predefined-arch-macros.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-bitreverse.ll
A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics-mem.ll
A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics.ll
A llvm/test/CodeGen/X86/avx512bmm-vbmac-intrinsics.ll
A llvm/test/MC/Disassembler/X86/avx512bmm-32.txt
A llvm/test/MC/Disassembler/X86/avx512bmm-64.txt
A llvm/test/MC/X86/avx512bmm-32-att.s
A llvm/test/MC/X86/avx512bmm-32-intel.s
A llvm/test/MC/X86/avx512bmm-64-att.s
A llvm/test/MC/X86/avx512bmm-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[X86] Add AVX512BMM support for AMD Zen 6 (znver6) (#182556)
This patch adds support for AVX512BMM (Bit Matrix Multiply) instruction
set extension for AMD Zen 6 processors.
AVX512BMM includes three instructions:
- VBITREVB: Bit reverse within each byte
- VBMACOR: Bit matrix multiply with OR accumulation
- VBMACXOR: Bit matrix multiply with XOR accumulation
The following implementations for AVX512BMM are added:
- Define __AVX512BMM__ macro for znver6
- avx512bmmintrin.h, avx512bmmvlintrin.h header files
- Implement _mm_bitrev_epi8, _mm256_bitrev_epi8, _mm512_bitrev_epi8
- Implement _mm256/512_bmacor16x16x16 and bmacxor intrinsics
Commit: 78cbc45ce96334c83067fb698fb4f63a7f7899d5
https://github.com/llvm/llvm-project/commit/78cbc45ce96334c83067fb698fb4f63a7f7899d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-undef.ll
Log Message:
-----------
[X86] haddsub-undef.ll - rename undef functions to match equivalents in phaseordering tests (#207207)
Still some churn / regressions to address, but this is the same IR as
we're attempting in PhaseOrdering/X86/hadd.ll
Still need to update them to the vectorized IR from the middle-end
Commit: dd4703ea0d262f1942879f0ecae669e52a95a270
https://github.com/llvm/llvm-project/commit/dd4703ea0d262f1942879f0ecae669e52a95a270
Author: Raphael Isemann <rise at apple.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
Log Message:
-----------
[lldb][test] Always kill test processes (#207181)
Commit: 25680b7d00dffc3ca3dd23d931d7784cf71d74f3
https://github.com/llvm/llvm-project/commit/25680b7d00dffc3ca3dd23d931d7784cf71d74f3
Author: Jacob Crawley <jacob.crawley at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-predicate-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-predicate.ll
Log Message:
-----------
[LV] Handle partial reductions with predication (#194859)
Enables partial reductions to be used when a reduction is gated by a
condition inside a loop.
Previously when a loop contained a condition, this would introduce a
BLEND to the chain, which prevented a partial reduction from being used
in a pattern where it would normally be created.
This patch records the blend as part of the partial reduction chain and
recognizes blends that select between the updated reduction value and
the previous accumulator.
For tail-folded loops, the transform also combines the loop active-lane
mask with the blend condition, so the generated partial reduction is
predicated by both the tail-folding mask and the original loop
condition. This allows partial reductions to also be used for predicated
reductions with tail folding enabled.
Commit: e8c7c8768c27a02448bf1e37cd29cca467f56f1a
https://github.com/llvm/llvm-project/commit/e8c7c8768c27a02448bf1e37cd29cca467f56f1a
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M .github/workflows/test-suite.yml
M .github/workflows/test-suite/llvm.cmake
Log Message:
-----------
[GitHub] Don't build unnecessary tools for test-suite.yml workflow (#207133)
Commit: 947dc92d1a88423902f1d644d3456055988df2d7
https://github.com/llvm/llvm-project/commit/947dc92d1a88423902f1d644d3456055988df2d7
Author: Sayan Sivakumaran <sivakusayan at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/AArch64/args.cpp
M clang/test/CodeGen/AArch64/byval-temp.c
M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/Sparc/sparcv9-abi.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/SystemZ/zos-abi.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/x86_32-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-abi-vector.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm64-abi-vector.c
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64ec-varargs.c
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/atomic-arm64.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/pass-by-value-noalias.c
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/regcall.c
M clang/test/CodeGen/regcall4.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/win-fp128.c
M clang/test/CodeGen/win64-i128.c
M clang/test/CodeGen/windows-seh-arg-capture-crash.cpp
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/aix-alignment.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
M clang/test/CodeGenCXX/blocks.cpp
M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
M clang/test/CodeGenCXX/copy-initialization.cpp
M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
M clang/test/CodeGenCXX/derived-to-base-conv.cpp
M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
M clang/test/CodeGenCXX/fastcall.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/ms-property.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/powerpc-byval.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/regcall.cpp
M clang/test/CodeGenCXX/regcall4.cpp
M clang/test/CodeGenCXX/regparm.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/uncopyable-args.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
M clang/test/CodeGenCXX/x86_32-arguments.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
M clang/test/CodeGenHLSL/builtins/ConstantBuffer.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/resources/ConstantBufferT-struct-passing.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing_with_resources.hlsl
M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
M clang/test/CodeGenObjC/pass-by-value-noalias.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
M clang/test/CodeGenObjCXX/property-objects.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/DebugInfo/CXX/debug-info.cpp
M clang/test/DebugInfo/ObjC/nontrivial-c-struct-exception.m
M clang/test/Headers/stdarg.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
Log Message:
-----------
[Clang][CodeGen] Emit alignment information for indirect arguments (#201999)
Previously, arguments with `ABIArgInfo::Indirect` would not be given
alignment information if it wasn't `byval`. This could prevent certain
optimizations, such as those guarded by
`isDereferenceableAndAlignedPointer` checks. The missing
dereferenceability information is pointed out in
https://github.com/llvm/llvm-project/issues/129337, for example.
This PR will fix the first half of this problem, which is emitting
alignment information. Dereferenceability information will be added in a
subsequent PR.
Commit: 2c8d8643c32c9b043f37587807585d54be96e53b
https://github.com/llvm/llvm-project/commit/2c8d8643c32c9b043f37587807585d54be96e53b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll
Log Message:
-----------
[SLP][NFC]Add a test with the reassociated operands, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/207226
Commit: 21167283a0d3687db672541b58dbf44c9ad6056a
https://github.com/llvm/llvm-project/commit/21167283a0d3687db672541b58dbf44c9ad6056a
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
Log Message:
-----------
[MLIR][XeGPU] Enable end-to-end integration test compilation (#207158)
Commit: abdc6a2181cdca2f23978ef577f493157e1e45fe
https://github.com/llvm/llvm-project/commit/abdc6a2181cdca2f23978ef577f493157e1e45fe
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
A llvm/test/Instrumentation/Instrumentor/bad_spelling.ll
A llvm/test/Instrumentation/Instrumentor/bad_spelling_config.json
Log Message:
-----------
[Instrumentor] Add spellcheck for instrumentor properties (#205416)
This patch adds spellcheck hints for unrecognized properties in the
instrumentor's JSON configuration.
Commit: 025c4c1d6bd017749e71ad3dc0b0d7b253606b4f
https://github.com/llvm/llvm-project/commit/025c4c1d6bd017749e71ad3dc0b0d7b253606b4f
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
Log Message:
-----------
[mlir][tosa] Fold unit-expanded reshapes in reduce-transposes (#203529)
Extend tosa-reduce-transposes so transpose hosting can fold through
unit-expanded vector reshapes such as 1x...x1xC. In particular, this
improves transpose folding when hosting through broadcast binary
elementwise operations.
Commit: eb89275268a84c4316814e39d8755963aa8eda9a
https://github.com/llvm/llvm-project/commit/eb89275268a84c4316814e39d8755963aa8eda9a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/phaddsub-undef.ll
Log Message:
-----------
[X86] phaddsub-undef.ll - rename undef functions to match equivalents in phaseordering tests (#207216)
Still some churn / regressions to address, but this is the same IR as
we're attempting in PhaseOrdering/X86/hadd.ll
Still need to update them to the vectorized IR from the middle-end
Commit: b43a0db74e833803c9cfbf9cb74b956f3445dba0
https://github.com/llvm/llvm-project/commit/b43a0db74e833803c9cfbf9cb74b956f3445dba0
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A cross-project-tests/debuginfo-tests/dexter/Heuristic.md
M cross-project-tests/debuginfo-tests/dexter/README.md
A cross-project-tests/debuginfo-tests/dexter/Script.md
Log Message:
-----------
[Dexter] Document the structured script model (#204365)
This patch adds documentation for the script model to the Dexter README,
shunting heuristic-mode information into a separate doc, creating a new
doc for script-mode, and linking to both (with a brief summary of the
differences) from the base README.
Commit: 64b1d17103e590da4bcc2c008c2f01c4253ec245
https://github.com/llvm/llvm-project/commit/64b1d17103e590da4bcc2c008c2f01c4253ec245
Author: Azat Khuzhin <a3at.mail at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/msan/msan_allocator.cpp
Log Message:
-----------
[sanitizer] Raise kMaxAllowedMallocSize to 1TB on AArch64 (#206649)
lsan capped AArch64 allocations at 4GB and msan at 8GB. These limits
were tied to the smaller address space of the 32-bit-style allocator.
This became possible after 8e0c1aaf6ba3 ("[msan] Use
SizeClassAllocator64 for AArch64"), which (together with the 48-bit VMA
requirement) switched AArch64 to SizeClassAllocator64, so the limit can
now match the other 64-bit targets (1ULL << 40).
Follow-up for #89728
Commit: cb4e7fff7d0e7fc2bf116302567f21405f63a748
https://github.com/llvm/llvm-project/commit/cb4e7fff7d0e7fc2bf116302567f21405f63a748
Author: hulxv <hulxxv at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/addtf3.cpp
A compiler-rt/lib/builtins/fp_libc_config.h
Log Message:
-----------
[compiler-rt][builtins] introduce libc math routines (#197950)
Introduce using libc math routines in compiler-rt builtins. this pr adds
`COMPILER_RT_USE_LIBC_MATH` flag and uses math routines in basic
arithmetic operations for Quad-Precision values
RFC:
https://discourse.llvm.org/t/rfc-explore-using-llvm-libc-math-routines-for-compiler-rt-floating-point-builtins/89670
Part of #197824
Commit: 504fc83820b4fa5cf2edd86a5f4661d4dd310933
https://github.com/llvm/llvm-project/commit/504fc83820b4fa5cf2edd86a5f4661d4dd310933
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
A flang/test/Lower/OpenMP/declare-reduction-logical-init.f90
A flang/test/Lower/OpenMP/declare-reduction-shadows-intrinsic-other-type.f90
A flang/test/Lower/OpenMP/declare-reduction-shadows-intrinsic.f90
Log Message:
-----------
[flang][OpenMP] Fix user-defined reduction shadowing an intrinsic name (#205893)
A user-defined reduction whose identifier is one of the intrinsic
reduction names (max, min, iand, ior, ieor) was mishandled during
lowering, causing a crash. This was due to two different problems:
1. Intrinsic shadowing: a reduction(max:var) clause resolves its
identifier to the intrinsic procedure rather than to the user's
declaration, so lowering applied the built-in reduction and ignored the
declared one. For integer variables this silently used the wrong
combiner/initializer; for a LOGICAL variable it crashed, because the
built-in MAX/MIN initializer calls getIntOrFloatBitWidth() on a
fir.logical type.
Per OpenMP 6.0 7.6.14, a user-defined reduction has the same visibility
and accessibility as a variable declared at the same location, so a
visible declaration must take precedence over a same-named intrinsic.
This is handled the same way as for user-defined operator reductions.
TODO: imported, renamed, or multiple-declaration/type reductions are
currently not implemented.
2. LOGICAL initializer type: a user-defined reduction on a LOGICAL
variable with a logical-literal initializer (e.g. omp_priv = .false.)
lowered the literal to an i1 and yielded it from the init region, but
the reduction type is !fir.logical<4>. The omp.declare_reduction
verifier then rejected the op ("expects initializer region to yield a
value of the reduction type"). Convert the initializer result to the
reduction type when they are convertible trivial types, so the init
region yields the reduction type.
Fixes #188880
Commit: 2b08bf2858245e724bc5be18df9b32780702d5ff
https://github.com/llvm/llvm-project/commit/2b08bf2858245e724bc5be18df9b32780702d5ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
Log Message:
-----------
[PhaseOrdering][X86] Add matching test coverage to CodeGen haddsub.ll / phaddsub.ll (#207224)
Add missing undef element combos that were in the CodeGen tests
Fix copy+pasta issue with the "reversed elements" tests which hadn't
packed the lhs/rhs operands correctly within each 128-bit subvector
Commit: 2c4816cc7eb99ca969ac55e30ca9e135fcf7011c
https://github.com/llvm/llvm-project/commit/2c4816cc7eb99ca969ac55e30ca9e135fcf7011c
Author: David CARLIER <devnexen at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M bolt/lib/Passes/ReorderAlgorithm.cpp
Log Message:
-----------
[BOLT][Passes] reserve layout vectors in ExtTSP block reordering. (#206402)
Commit: a1baf39dc1d8a34a10c877ee4217c57e53edeed9
https://github.com/llvm/llvm-project/commit/a1baf39dc1d8a34a10c877ee4217c57e53edeed9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
Log Message:
-----------
[SLP][NFC]Remove undefs from tests, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/207233
Commit: 86436867a56a12d705bbb21d08c10078a80bfa03
https://github.com/llvm/llvm-project/commit/86436867a56a12d705bbb21d08c10078a80bfa03
Author: Qihan Cai <caiqihan021 at hotmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
A llvm/test/CodeGen/X86/compress-evex-vpmov-blendv.mir
M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir
Log Message:
-----------
[X86] Fold VPMOV*2M + masked VMOV* into VBLENDV* (#204723)
Extend tryCompressVPMOVPattern to handle masked VPMOV*2M + masked VMOV* pattern, compress them into VBLENDV* if possible.
LLM disclaimer: LLM was used for this patch.
Fixes #204550
Commit: c3153ddb67179551c78e5315c2df4b70c0b16920
https://github.com/llvm/llvm-project/commit/c3153ddb67179551c78e5315c2df4b70c0b16920
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/docs/CommandGuide/llubi.rst
M llvm/test/tools/llubi/fp_nan_preferred.ll
M llvm/test/tools/llubi/fp_nan_quieting.ll
M llvm/test/tools/llubi/fp_nan_target_specific_sparc.ll
M llvm/test/tools/llubi/fp_nan_target_specific_wasm32.ll
M llvm/test/tools/llubi/fp_nan_target_specific_x86_64_linux.ll
M llvm/test/tools/llubi/fp_nan_unchanged.ll
A llvm/test/tools/llubi/undefmem_nondet.ll
A llvm/test/tools/llubi/undefmem_zero.ll
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi][Docs] Update docs and CLI interface of llubi (#207210)
Update the docs to reflect the current status. This also addresses the
post-commit review in
https://github.com/llvm/llvm-project/pull/185196#discussion_r2995639990.
Commit: cb54896ff49475348ecf23bf45b3572629cafe3b
https://github.com/llvm/llvm-project/commit/cb54896ff49475348ecf23bf45b3572629cafe3b
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
Log Message:
-----------
[Dexter] Add additional variable metrics, sanitize lldb-dap function names (#204366)
This patch makes some required changes prior to switching over to using
the script model by default, to keep the tests in `dexter-tests` working
and meaningful.
In addition to the existing metrics, we split the "missing_vars" metric
into 3 - adding "irretrievable" and "optimized_out", so that we can
specifically test those properties in the output.
We also add some function name sanitizing to lldb-dap, to account for
the fact that some function names get presented with a suffix " [opt]",
which causes the script to fail.
Commit: 75af8236d2f122b5b528fdc403dcf3f963faddc1
https://github.com/llvm/llvm-project/commit/75af8236d2f122b5b528fdc403dcf3f963faddc1
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[VPlan] Expand SCEV casts in VPSCEVExpander. (#206371)
Add support for expanding scTruncate, scZeroExtend and scSignExtend SCEV
expressions to Trunc/ZExt/SExt VPInstructions in
VPSCEVExpander::tryToExpand.
PR: https://github.com/llvm/llvm-project/pull/206371
Commit: f1aeaa7bd55218b62b9aa319c6dcad0430037182
https://github.com/llvm/llvm-project/commit/f1aeaa7bd55218b62b9aa319c6dcad0430037182
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/Preprocessor.h
A clang/include/clang/Lex/TextEncoding.h
M clang/include/clang/Options/Options.td
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Lex/CMakeLists.txt
M clang/lib/Lex/LiteralSupport.cpp
A clang/lib/Lex/TextEncoding.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/systemz-charset-diag.cpp
A clang/test/CodeGen/systemz-charset.c
A clang/test/CodeGen/systemz-charset.cpp
M clang/test/Lexer/string-literal-encoding.c
M clang/test/Preprocessor/init-s390x.c
Log Message:
-----------
Enable fexec-charset option (#138895)
This patch is the first in a series of patches to enable the fexec-charset option. This patch enables the fexec-charset cc1 option to control the literal encoding of string literals
Commit: 8f1bac0975c74f4379d9cc402fbebc8d5c7c0dba
https://github.com/llvm/llvm-project/commit/8f1bac0975c74f4379d9cc402fbebc8d5c7c0dba
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
M lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py
Log Message:
-----------
[lldb][test] Skip tests for features unsupported on WebAssembly (#207102)
- TestReturnValue, TestTrivialABI: a WebAssembly return value lives on
the operand stack with no way to locate it at a step-out, so the
returned value can't be recovered.
- TestScriptedFrameProvider, TestFrameProviderThreadFilter: the inferior
is multithreaded C++, which wasip1 can't build (no threads, and
inferiors are compiled without exception support).
- TestThreadLocal: reading thread-locals works, but the test checks the
platform-specific error reported when TLS isn't initialized yet, which
WebAssembly doesn't have (already xfail/skip on other platforms).
Commit: 1c9ebda139440e1f81d02197432cbebe478697e3
https://github.com/llvm/llvm-project/commit/1c9ebda139440e1f81d02197432cbebe478697e3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/nonmodifying/lower_upper_bound.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/lower_upper_bound.bench.cpp
Log Message:
-----------
[libc++][NFC] Move the lower_bound/upper_bound benchmark to the sorting directory (#207215)
These algorithms are not under [nonmodifying], they are under [sorting]
in the Standard.
Commit: 62356985be4f112cf92c1d186d557fe299826106
https://github.com/llvm/llvm-project/commit/62356985be4f112cf92c1d186d557fe299826106
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
[AArch64][clang][llvm] Add ACLE macros to support Armv9.7 (#192948)
This patch add the macros for Armv9.7 according to the ACLE [1]
[1] https://github.com/ARM-software/acle/blob/main/main/acle.md
Commit: 2e6621e6e379fd42804a85de3d829d143056a02d
https://github.com/llvm/llvm-project/commit/2e6621e6e379fd42804a85de3d829d143056a02d
Author: Letu Ren <fantasquex at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
Log Message:
-----------
[CIR] Support __builtin_elementwise_ceil (#204974)
Add CIR handling for __builtin_elementwise_ceil
Commit: 8af376d724891963f68c7c530721ea719136089e
https://github.com/llvm/llvm-project/commit/8af376d724891963f68c7c530721ea719136089e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/expand-scev.ll
Log Message:
-----------
[VPlan] Also expand pointer-typed SCEVAddExpr in VPSCEVExpander. (#206366)
Generalize the SCEVAddExpr handling in VPSCEVExpander::tryToExpand to
also expand pointer-typed adds. The pointer base and the offset are
expanded separately, matching IR SCEVExpander.
PR: https://github.com/llvm/llvm-project/pull/206366
Commit: 5587443d5fb6f6de329e22ccb991af4580ec922a
https://github.com/llvm/llvm-project/commit/5587443d5fb6f6de329e22ccb991af4580ec922a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
Log Message:
-----------
[lldb] Synthesize data symbols for WebAssembly from DWARF (#207235)
The Wasm "name" section names functions but not data, so data symbols
such as C++ vtables have no entry in the symbol table. The Itanium C++
runtime resolves a dynamic type by looking up the symbol at an object's
vtable pointer and reading its "vtable for X" name. With no such symbol,
dynamic type resolution fails and falls back to the static type.
The vtable's address and mangled name are available in the DWARF as a
DW_TAG_variable with a DW_OP_addr location and a DW_AT_linkage_name.
Extend SymbolFileWasm::AddSymbols to synthesize a data symbol for every
global variable of that shape, so its address resolves back to the
mangled name such as "vtable for X". The size is computed by Symtab to
from the gap to the next symbol.
Assisted-by: Claude
Commit: db5740f1a633a6ae587de57ab5ef371a0224147f
https://github.com/llvm/llvm-project/commit/db5740f1a633a6ae587de57ab5ef371a0224147f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan.c
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/dbg-arg.c
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/bitcast.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/implicit-ptr.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inline-escaping-function.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/loop.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/merged-store.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ptr-to.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/stack-var.c
M cross-project-tests/debuginfo-tests/dexter-tests/vla.c
Log Message:
-----------
[Dexter] Update lldb-based dexter-tests to use script-mode (#204367)
This patch replaces uses of heuristic-mode Dexter in the dexter-tests
suite with uses of the script-mode, for tests that use DAP (via
lldb-dap). The updates are largely straightforward but occasionally
non-trivial, and in some cases some slight modifications have been made
to keep the "spirit" of the test intact.
Commit: 8b8a2d7613d9bd9b6a4e49f5408f37b83f28d76e
https://github.com/llvm/llvm-project/commit/8b8a2d7613d9bd9b6a4e49f5408f37b83f28d76e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/work-queue.h
Log Message:
-----------
[flang][cuda] Guard descriptor I/O ticket when building thin I/O (#206865)
The work queue system is also used in the assignment and could lead to
unresolved function when building non relocatable code for the gpu using
the CUDA thin I/O. Just add a guard to keep descriptor I/O out of the
CUDA thin I/O build.
Commit: 3166b22b0e71fd95a828fa84a8c82d9f4b5e7553
https://github.com/llvm/llvm-project/commit/3166b22b0e71fd95a828fa84a8c82d9f4b5e7553
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Sink instructions across assumes (#205314)
Not sinking across assumes causes InstCombine to not reach a fixpoint
when assumes can be dropped due to the load (usually nonnull assumes).
Sinking the instructions causes the assume to not be dropped anymore,
but I don't think that's a big problem.
Commit: 6060a6b96bf9bd3d13463478a9f6112c2c71369c
https://github.com/llvm/llvm-project/commit/6060a6b96bf9bd3d13463478a9f6112c2c71369c
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/Lex/TextEncoding.h
M clang/lib/Lex/TextEncoding.cpp
Log Message:
-----------
Put TextEncoding class in clang namespace to prevent naming conflicts (#207247)
Put TextEncoding class in the clang namespace to prevent naming conflicts
Commit: a0145cf5efb56928dc178cb1a7f8c04e9da33d5f
https://github.com/llvm/llvm-project/commit/a0145cf5efb56928dc178cb1a7f8c04e9da33d5f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIR-V] Add SPIRVToLLVM conversion for GL.Fract (#206951)
Co-authored-by: Igor Wodiany <dev at wodiany.com>
Commit: 2c4286e2e1fc37630ae7d3fef48f2a50cbcaa584
https://github.com/llvm/llvm-project/commit/2c4286e2e1fc37630ae7d3fef48f2a50cbcaa584
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/test/CIR/CodeGen/attr-noundef.cpp
M clang/test/CIR/CodeGen/attr-target-x86.c
M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
Log Message:
-----------
[CIR] Update OGCG checks for 4 tests- (#207252)
These are broken by other patches, see: #182556 and #201999
Commit: 9bd12f6d8873cca268d8129d9395fcefdfa5ab2e
https://github.com/llvm/llvm-project/commit/9bd12f6d8873cca268d8129d9395fcefdfa5ab2e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/test/CodeGenHLSL/resources/resources-in-structs-method-call.hlsl
Log Message:
-----------
[HLSL][NFC] Update test check to be more specific (#207232)
If the repo path contains "main", the test was matching it against the
ModuleID in the output because it contains a path to the test file, and
the follow-up checks were failing.
Based on feedback in
https://github.com/llvm/llvm-project/pull/206596#discussion_r3510725223.
Commit: 999715ac3e8c0d9edc8405b025284a663c9cfe4e
https://github.com/llvm/llvm-project/commit/999715ac3e8c0d9edc8405b025284a663c9cfe4e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-mcp/CMakeLists.txt
Log Message:
-----------
[lldb][CMake] Extend liblldb interposition fix to lldb-dap and lldb-mcp (#207251)
liblldb statically absorbs the lldbHost and lldbUtility archives (and
every plugin). A tool that links the shared liblldb while also linking
those same archives statically ends up with two copies of that object
code. On ELF, if the tool re-exports the archive symbols in its own
.dynsym, the dynamic linker can bind liblldb's internal references to
the tool's copy instead of liblldb's own, breaking shared-state
assumptions such as the HostInfo singletons.
106644f6c835 fixed this for the lldb driver with --exclude-libs,ALL, but
lldb-dap and lldb-mcp have the same setup and were left exposed. Factor
the logic into a shared lldb_prevent_liblldb_symbol_interposition helper
and call it from all three tools.
Commit: 1823581ecb2ff84e1adb159d30216bd2cff48cfd
https://github.com/llvm/llvm-project/commit/1823581ecb2ff84e1adb159d30216bd2cff48cfd
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libc/src/__support/big_int.h
M libc/test/src/__support/integer_literals_test.cpp
Log Message:
-----------
[libc] Make BigInt trivially constructible (#206277)
This makes BigInt trivially constructible and additionally fixes the
failures caused by the upcoming change in constexpr functions.
Commit: 7139c74b59a45ae837fd15c81439622130acf206
https://github.com/llvm/llvm-project/commit/7139c74b59a45ae837fd15c81439622130acf206
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/store-expand-non-pow2.ll
Log Message:
-----------
[SLP][NFC]Add a test with the masked non-power-of-2 stores, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/207275
Commit: bc34ef2616918cb103691dcd7b2d47fafa49f639
https://github.com/llvm/llvm-project/commit/bc34ef2616918cb103691dcd7b2d47fafa49f639
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
Log Message:
-----------
[lldb] Fix rpath settings for LLDB.framework in buildtree when using LLVM dylib (#207270)
The LLDB.framework location in your build tree relative to the LLVM
dylib differs from an actual installation (which may be located
elsewhere). As-is, we cannot even use the LLDB.framework in the
buildtree because resources in the framework fail to load the LLVM
dylib.
Commit: 1ced7e587e3f1deb987c33af48d3d0da8f63a21d
https://github.com/llvm/llvm-project/commit/1ced7e587e3f1deb987c33af48d3d0da8f63a21d
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-switch-unreachable.ll
Log Message:
-----------
[DirectX] Remove now unreachable blocks in dxil legalize (#207259)
I think when I first wrote
https://github.com/llvm/llvm-project/pull/193592, I had been under the
assumption that the dead block would be removed for us so the test and
pass did not check that the branch was removed in the pass.
This was a wrong assumption and we need to manually remove the blocks.
This change does so by invoking the helper to do so.
For context: this issue reappeared in the offload test suite after
https://github.com/llvm/llvm-project/pull/205433 landed because the loop
could no longer unroll and the dangling branch appeared.
Resolves: https://github.com/llvm/llvm-project/issues/207095
Commit: e1d11a60584ffaa0ab85cf23287808bb6e1b54a3
https://github.com/llvm/llvm-project/commit/e1d11a60584ffaa0ab85cf23287808bb6e1b54a3
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaTemplate/ctad.cpp
Log Message:
-----------
[clang] fix crash-on-invalid with deduction guides (#207263)
Fix crash when a template template parameter specialization is used as a
deduced type.
This is a regression since Clang 22, and this will be backported, so no
release notes.
Fixes #203261
Commit: abe1aee8815b4f5adadc00ac0d4498efdd91b746
https://github.com/llvm/llvm-project/commit/abe1aee8815b4f5adadc00ac0d4498efdd91b746
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
Log Message:
-----------
[LV] Add test showing incorrect nsw flag on shl. (NFC) (#207242)
Add test for https://github.com/llvm/llvm-project/issues/205252
Commit: 130d6c3cddbc9756953b566a2da695d3016acea1
https://github.com/llvm/llvm-project/commit/130d6c3cddbc9756953b566a2da695d3016acea1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A clang/test/CXX/drs/cwg3088.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG3088 about macros defining special identifiers (#189309)
This PR adds a test for
[CWG3088](https://cplusplus.github.io/CWG/issues/3088.html) "Clarify
macro treatment of identifiers with special meaning".
[[cpp.replace.general] paragraph
9](https://eel.is/c++draft/cpp.replace.general#9) reads as follows:
> A translation unit shall not `#define` or `#undef` macro names
lexically identical to keywords, to the identifiers listed in Table
[4](https://eel.is/c++draft/lex.name#tab:lex.name.special), or to the
[_attribute-token_](https://eel.is/c++draft/dcl.attr.grammar#nt:attribute-token)s
described in [[dcl.attr]](https://eel.is/c++draft/dcl.attr), except that
the macro names `likely` and `unlikely` may be defined as function-like
macros and may be
undefined[.](https://eel.is/c++draft/cpp.replace.general#9.sentence-1)
>
> [Note [1](https://eel.is/c++draft/cpp.replace.general#note-1): An
alternative token ([[lex.digraph]](https://eel.is/c++draft/lex.digraph))
is not an identifier, even when its spelling consists entirely of
letters and
underscores[.](https://eel.is/c++draft/cpp.replace.general#9.sentence-2)
Therefore it is not possible to define a macro whose name is the same as
that of an alternative
token[.](https://eel.is/c++draft/cpp.replace.general#9.sentence-3)
— end note]
Since C++98 and up until
[P2843R3](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2843r3.pdf)
"Preprocessing is never undefined", which was voted into C++26 **not**
as a DR, this rule has been living as [macro.names]/2 in library
introduction, but that paper made it a part of the core language.
I believe that formally:
- we should not diagnose anything before C++26 if the standard library
is not used, and
- we should diagnose everything in C++26 and newer modes.
But in practice we've been diagnosing everything except for attributes
in all language modes with some exceptions that are likely bugs.
Commit: 9a896c3f538c3653ddcb82ebd5a19418609f87d1
https://github.com/llvm/llvm-project/commit/9a896c3f538c3653ddcb82ebd5a19418609f87d1
Author: jimingham <jingham at apple.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Breakpoint/BreakpointResolver.h
M lldb/include/lldb/Breakpoint/ScriptedBreakpointOverrideResolver.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBTarget.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/overrides_resolver/TestOverridesResolver.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/overrides_resolver/bkpt_resolver.py
Log Message:
-----------
Add a pre-filter to the breakpoint resolver overrides (#198845)
That way if an override only wants to override, say, file and line
breakpoints, it can say that when it registers itself, and we won't do
the work of creating the resolver and checking with it if the breakpoint
wasn't of the requested type.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 11576cacaa514a227abfbdd902c53b657915155c
https://github.com/llvm/llvm-project/commit/11576cacaa514a227abfbdd902c53b657915155c
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/saturating-add-sub.ll
Log Message:
-----------
[ConstFold] Eliminate some undef-folding (#207184)
The patch is merely a cleanup, with no real-world impact: undef-folding
is no longer useful these days.
Commit: 7be188763ab75868ad5c9ac0a2c16ce7d373b053
https://github.com/llvm/llvm-project/commit/7be188763ab75868ad5c9ac0a2c16ce7d373b053
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
Log Message:
-----------
[VPlan] Don't preserve NSW in mul -> shl conversion for bw-1 op. (#207280)
When the shift amount is bitwidth - 1, shl nsw would be poison, while
mul nsw is defined. Don't preserve the flag.
https://alive2.llvm.org/ce/z/NgHU_m
Fixes https://github.com/llvm/llvm-project/issues/205252.
Commit: e8c4e99316889849a728828b06f3d77b8c5c279f
https://github.com/llvm/llvm-project/commit/e8c4e99316889849a728828b06f3d77b8c5c279f
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Strip secondary SIVSteps constructor (NFC) (#207193)
Migrate the only use-site in unit-test to use the canonical constructor.
Commit: b7623f523c31c96e0449666f69d5b666e70b7627
https://github.com/llvm/llvm-project/commit/b7623f523c31c96e0449666f69d5b666e70b7627
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/neon-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-scalarivsext-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model-i386.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-load.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/pr125278.ll
M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
M llvm/test/Transforms/LoopVectorize/pr31190.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
Log Message:
-----------
[VPlan] Strip early-bail in noalias-check (#203936)
canHoistOrSinkWithNoAliasCheck currently bails eagerly when the
candidate memory location doesn't have a scope. This is unnecessary,
because the alias check automatically handles this: stripping this check
allows us to run the loop, which would never get to the alias check if
none of the recipes write to memory. The end result is that a read-only
FirstBB to LastBB ranges are determined not to alias with anything, even
if the scope metadata is absent, leading to licm-load-store
improvements.
Commit: c2b50a15c1c34c9619dcdb669d8c2b10ef73bcb9
https://github.com/llvm/llvm-project/commit/c2b50a15c1c34c9619dcdb669d8c2b10ef73bcb9
Author: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A llvm/test/CodeGen/RISCV/determine-callee-saves-gpr.mir
Log Message:
-----------
[CodeGen] Add tests for `determineCalleeSaves`. (#204855)
Commit: 7b11c7ce86aafbf4782ceb31543e27dc69617a7a
https://github.com/llvm/llvm-project/commit/7b11c7ce86aafbf4782ceb31543e27dc69617a7a
Author: Marlus Cadanus da Costa <marluscadanus at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ExprConstant.cpp
A clang/test/Sema/offsetof-unsigned-index.c
Log Message:
-----------
[Clang] Fix offsetof sign-extending unsigned array indices >= 128 (#204139)
When evaluating __builtin_offsetof with an unsigned integer array index
(e.g. uint8_t, uint16_t) whose value has the high bit set, Clang was
calling getSExtValue() on the APSInt index, which sign-extends the value
and produces a large bogus offset.
Fix this to use the correct kind of extension to extend smaller values, and to check for overflow in conversions of larger values.
Fixes #199319
AI Tool Use: GitHub Copilot (Claude Sonnet 4.6) was used to assist in
identifying the root cause of the bug in ExprConstant.cpp and drafting
the fix. The fix was reviewed, tested, and validated manually.
Commit: 5302608fec8ed7d8ce300d4a0d599a26b24dc972
https://github.com/llvm/llvm-project/commit/5302608fec8ed7d8ce300d4a0d599a26b24dc972
Author: Wenju He <wenju.he at intel.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
Log Message:
-----------
[Offload] Guard __llvm_write_custom_profile null check on non-Windows (#207170)
On Windows __llvm_write_custom_profile is defined as a strong stub (MSVC
lacks proper weak symbol support) by 09a51b2818e2, so its address is a
compile-time constant that is never null. The `if
(!__llvm_write_custom_profile)` check therefore triggers
-Wpointer-bool-conversion, which is fatal under -Werror.
Assisted-by: Claude
Commit: c3b744b585d55f14dcd998ca6d1fad6d62461f65
https://github.com/llvm/llvm-project/commit/c3b744b585d55f14dcd998ca6d1fad6d62461f65
Author: Lucas Ribeiro Lima <lucasribeirolima974 at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGen/builtins-x86.c
Log Message:
-----------
[clang][CIR]: X86 movnti/movntsd/movntss CIR implementation. (#206388)
### Implements X86 CIR codegen builtins:
- __builtin_ia32_movnti
- __builtin_ia32_movnti64
- __builtin_ia32_movntsd
- __builtin_ia32_movntss
Folow the original codegen architecture lowering to movntss call.
Towards #167765.
Commit: 20a60c52db181bcfd787e7fd4486d4453b01dba9
https://github.com/llvm/llvm-project/commit/20a60c52db181bcfd787e7fd4486d4453b01dba9
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
A llvm/docs/AdvancedBuilds.md
R llvm/docs/AdvancedBuilds.rst
A llvm/docs/BuildingADistribution.md
R llvm/docs/BuildingADistribution.rst
A llvm/docs/CFIVerify.md
R llvm/docs/CFIVerify.rst
A llvm/docs/CycleTerminology.md
R llvm/docs/CycleTerminology.rst
A llvm/docs/DTLTO.md
R llvm/docs/DTLTO.rst
A llvm/docs/Docker.md
R llvm/docs/Docker.rst
A llvm/docs/Frontend/PerformanceTips.md
R llvm/docs/Frontend/PerformanceTips.rst
A llvm/docs/GoldPlugin.md
R llvm/docs/GoldPlugin.rst
A llvm/docs/HowToBuildOnARM.md
R llvm/docs/HowToBuildOnARM.rst
A llvm/docs/HowToBuildWithPGO.md
R llvm/docs/HowToBuildWithPGO.rst
A llvm/docs/HowToCrossCompileLLVM.md
R llvm/docs/HowToCrossCompileLLVM.rst
A llvm/docs/LinkTimeOptimization.md
R llvm/docs/LinkTimeOptimization.rst
A llvm/docs/MemProf.md
R llvm/docs/MemProf.rst
A llvm/docs/MergeFunctions.md
R llvm/docs/MergeFunctions.rst
A llvm/docs/MyFirstTypoFix.md
R llvm/docs/MyFirstTypoFix.rst
A llvm/docs/ProjectGovernance.md
R llvm/docs/ProjectGovernance.rst
A llvm/docs/StackSafetyAnalysis.md
R llvm/docs/StackSafetyAnalysis.rst
A llvm/docs/SupportLibrary.md
R llvm/docs/SupportLibrary.rst
A llvm/docs/Vectorizers.md
R llvm/docs/Vectorizers.rst
A llvm/docs/tutorial/index.md
R llvm/docs/tutorial/index.rst
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
M llvm/utils/docker/README
Log Message:
-----------
[docs] Rename 20 selected rst docs to Markdown (#205921)
Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
This may break the doc build, but it will be fixed in a follow-up.
Commit: a4b184609b25fc29ea54514b662e9d2fea1923b3
https://github.com/llvm/llvm-project/commit/a4b184609b25fc29ea54514b662e9d2fea1923b3
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/docs/AdvancedBuilds.md
M llvm/docs/BuildingADistribution.md
M llvm/docs/CFIVerify.md
M llvm/docs/CycleTerminology.md
M llvm/docs/DTLTO.md
M llvm/docs/Docker.md
M llvm/docs/Frontend/PerformanceTips.md
M llvm/docs/GitHub.md
M llvm/docs/GoldPlugin.md
M llvm/docs/HowToBuildOnARM.md
M llvm/docs/HowToBuildWithPGO.md
M llvm/docs/HowToCrossCompileLLVM.md
M llvm/docs/LinkTimeOptimization.md
M llvm/docs/MemProf.md
M llvm/docs/MergeFunctions.md
M llvm/docs/MyFirstTypoFix.md
M llvm/docs/ProjectGovernance.md
M llvm/docs/StackSafetyAnalysis.md
M llvm/docs/SupportLibrary.md
M llvm/docs/Vectorizers.md
M llvm/docs/tutorial/index.md
Log Message:
-----------
[docs] Rewrite 20 selected rst LLVM docs to Markdown (#205923)
Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Commit: b3d0b1f0415deda8d5f427ff009a72b558532b99
https://github.com/llvm/llvm-project/commit/b3d0b1f0415deda8d5f427ff009a72b558532b99
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
Log Message:
-----------
[flang-rt] Use posix_memalign instead of std::aligned_alloc (#207248)
MallocWrapper called std::aligned_alloc for over-aligned requests, but
that C11 function is only available on macOS 10.15 and newer. flang-rt
builds with a Darwin deployment target of 10.7 (set in
AddFlangRT.cmake), so the build failed under
-Werror=unguarded-availability-new.
Use posix_memalign instead, as it is available on all supported POSIX
targets.
Commit: d7cd957bee261ce6e477f16c8768fe8889f599c5
https://github.com/llvm/llvm-project/commit/d7cd957bee261ce6e477f16c8768fe8889f599c5
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
Log Message:
-----------
[clangd] Invalidate preamble when new module imports are added (#199460)
When using `SkipPreambleBuild`, adding a new `import` statement to a
file did
not invalidate the existing preamble because `isPreambleCompatible` only
checked whether existing prerequisite modules were up-to-date, not
whether
the set of required modules itself had changed.
Fixes: #199389
Partially addresses: #126350
Commit: 604db5fc463d2e252c2575ff519f479c88cfe093
https://github.com/llvm/llvm-project/commit/604db5fc463d2e252c2575ff519f479c88cfe093
Author: Wenju He <wenju.he at intel.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
Log Message:
-----------
[PGO][HIP][NFC] Fix hipModuleGetGlobal -Wunused-function warning (#207293)
The functions trigger the warning on Windows (without elf.h) and is
fatal under -Werror.
Fix by adding [[maybe_unused]]. Alternatively it could be moved inside
the existing __has_include(<elf.h>) block,; however that would trigger
-Wunused-but-set-global on pHipModuleGetGlobal.
Current fix is minimal and can be removed once hipModuleGetGlobal is
supported without elf.h.
Commit: be1d8d4bb908b90810025479ec1a8afae34a630a
https://github.com/llvm/llvm-project/commit/be1d8d4bb908b90810025479ec1a8afae34a630a
Author: Adam Scott <adamscott200322 at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
Log Message:
-----------
[AArch64] Lower cttz(bitcast <Nxi1> to iN) with shrn-based compressed movemask (#199081)
The existing lowering in vectorToScalarBitmask() creates a 1 bit per
lane movemask using a powers of 2 reduction (and+addv with a constant
pool entry).
This patch adds a DAG combine on ISD::CTTZ that recognizes cttz(bitcast
<N x i1> to iN) and produces a compressed movemask with shrn (for i8
lanes) or xtn (for wider lanes) then runs scalar cttz on a 64- or
128-bit value. Dividing by bits per lane gives the lane index.
Supports lane counts {2, 4, 8, 16, 32} (one or two NEON registers)
For the example in the issue (`<16 x i8> -> i16`):
Before:
```asm
adrp x8, .LCPI0_0
cmlt v0.16b, v0.16b, #0
ldr q1, [x8, :lo12:.LCPI0_0]
and v0.16b, v0.16b, v1.16b
ext v1.16b, v0.16b, v0.16b, #8
zip1 v0.16b, v0.16b, v1.16b
addv h0, v0.8h
fmov w8, s0
orr w8, w8, #0x10000
rbit w8, w8
clz w0, w8
ret
```
After:
```asm
cmlt v0.16b, v0.16b, #0
shrn v0.8b, v0.8h, #4
fmov x8, d0
rbit x8, x8
clz x8, x8
lsr x0, x8, #2
ret
```
Also created a new test file with 24 functions covering both endianness
- 7 basic widths (`<16 x i8>` down through `<2 x i32>`)
- 4 wider cases that span two NEON registers (`<32 x i8>` etc)
- 2 narrow cases that get sext'd up to fit one register
- 2 cases where the bitcast has two users
- 4 alternative comparison operators (`eq`, `ne`, etc)
- 1 `cttz` with `is_zero_undef=true`
- 4 negative tests that bails for unsupported shapes
Fixes #186295
Commit: 2cf5b7bf4d7dfc6091217d50e8114fd2e6856355
https://github.com/llvm/llvm-project/commit/2cf5b7bf4d7dfc6091217d50e8114fd2e6856355
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[LegalizeType] Fix VECTOR_DEINTERLEAVE widening with incorrect insert_subvector (#207245)
Partially address #207136
There are really two parts in the associated issue: (1) incorrect type
widening logics that `insert_subvector` with indices that are not a
multiple of the sub-vector's minimum number of elements, and (2)
incorrect RISC-V lowering logics when it comes to fixed vector.
This PR addresses the first part: It turns out in order to have a
widened, packed concat vector, we don't need to use any insert_subvector
that involves widened operands -- just `concat_vectors` on the
_original_ (narrow) operands (before adjusting to the size of the
desired widened concat vector)
Commit: 4fad93b912c954720de1b2b63a0f00679dc96550
https://github.com/llvm/llvm-project/commit/4fad93b912c954720de1b2b63a0f00679dc96550
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libcxx/include/__vector/layout.h
Log Message:
-----------
[libc++] Use _LIBCPP_NO_UNIQUE_ADDRESS for the new vector layout (#207149)
We use `_LIBCPP_NO_UNIQUE_ADDRESS`, since a plain
`[[no_unique_address]]` doesn't work on Windows.
Commit: 760bb06cb3cd98832f1e4e7a4eaebd98b66d2bdd
https://github.com/llvm/llvm-project/commit/760bb06cb3cd98832f1e4e7a4eaebd98b66d2bdd
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[ThinLTO] Change GlobalValueSummaryMapTy from std::map to DenseMap+deque (#157839)
Replace GlobalValueSummaryMapTy with a custom container using DenseMap
for O(1) lookup and std::deque for storage with pointer stability. Sort
by GUID at serialization points to preserve deterministic output order.
RFC:
https://discourse.llvm.org/t/rfc-change-globalvaluesummarymapty-from-std-map-to-llvm-densemap-for-thin-linking-performance/88191
Commit: 1bddfa5c75b551f5c387cb19462ea5eac9bf5da1
https://github.com/llvm/llvm-project/commit/1bddfa5c75b551f5c387cb19462ea5eac9bf5da1
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll
Log Message:
-----------
[RISCV] Fix multiline RUN line in fixed-vectors-lmul-max.ll. NFC (#207309)
llvm-lit failed to parse the RUN line because we were missing a \ and a
second
RUN on the line below. The codegen has changed in the meantime but
because it
never parsed, llvm-lit always treated this test as passing.
Commit: b4e651bb2cb22e5886518957a3048f83b67f9f83
https://github.com/llvm/llvm-project/commit/b4e651bb2cb22e5886518957a3048f83b67f9f83
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/lit/lit/InprocBuiltins.py
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/util.py
Log Message:
-----------
lit: improve long path support on Windows (#207250)
This pull request improves Windows path handling in the
`llvm/utils/lit/lit` utilities by introducing and applying an `extended`
function to correctly format file paths for Windows APIs, especially for
long paths and UNC paths. The changes ensure that file operations such
as removal and redirection work reliably on Windows systems.
**Windows path handling improvements:**
* Added an `extended` function in both `InprocBuiltins.py` and
`ShellEnvironment.py` to convert paths to the extended-length format
required by Windows, handling both regular and UNC paths.
[[1]](diffhunk://#diff-7b75d403cff61cebbd12ef3915054dee6a887deaa2300fbc73a33f64ce2d1255R179-R186)
[[2]](diffhunk://#diff-31c539a1c64eb53261e543eeda1966733230d2b7613f5d500deed3f2f1ce2baeR121-R128)
* Applied the `extended` function to file removal operations in
`InprocBuiltins.py`, ensuring paths are properly formatted before
deletion, which helps avoid issues with long or special Windows paths.
* Used the `extended` function for redirected file paths in
`ShellEnvironment.py`, ensuring that redirections to files handle
Windows path limitations correctly.
Commit: c671e80a2f3055d61f3f7a2a0aabee4d8d184bbd
https://github.com/llvm/llvm-project/commit/c671e80a2f3055d61f3f7a2a0aabee4d8d184bbd
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Parallelize demoteSymbolsAndComputeIsPreemptible (#207310)
Each symbol's demotion and isPreemptible bit is independent.
Linking clang release is 1.02x as fast on an x86-64 machine.
Commit: 8aaa28e8d735b6c9e9c2b46f82918eef07a0e6ee
https://github.com/llvm/llvm-project/commit/8aaa28e8d735b6c9e9c2b46f82918eef07a0e6ee
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[RISCV] Cost legal interleaved memory ops correctly for code size (#207162)
This doesn't yet handle interleaved memory ops with a factor > 8 or with
a gap mask, that still needs to be handled below.
Commit: e69038f9c2b1c47dd7beebb5531129514fab36e7
https://github.com/llvm/llvm-project/commit/e69038f9c2b1c47dd7beebb5531129514fab36e7
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchSharedLibrary.h
M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
M clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
M clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchSharedLibrary.cpp
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-nonempty.json
M clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
M clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/duplicate-target-triple.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-empty-lu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-inner-error.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-namespace-mismatch.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/members-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/namespace-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-empty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-multiple-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-nonempty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-single-member.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-three-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-three-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/io.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/top-level.test
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/unittests/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.h
M clang/unittests/ScalableStaticAnalysis/TestFixture.h
Log Message:
-----------
[clang][ssaf] Add `MultiArchSharedLibrary` data structure (#206854)
This change introduces `MultiArchSharedLibrary` data structure that wraps per-architecture `LUSummaryEncoding` members. This is the SSAF analogue of a fat shared library. The overall design mirrors the existing `MultiArchStaticLibrary` design: each member identifies the same logical library built for a different target triple. Support for constructing and consuming this object will be added in a future PR.
rdar://181164537
Commit: 602897f729116f343b9dbf7bedc06c7e281ddca0
https://github.com/llvm/llvm-project/commit/602897f729116f343b9dbf7bedc06c7e281ddca0
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvdot4a8i.ll
M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
Log Message:
-----------
[DAGCombiner] Reassociate chains of vector reductions (#206471)
`DAGCombiner::reassociateReduction` already folds a single
`add(vecreduce(x), vecreduce(y)) -> vecreduce(add(x, y))`, and the
balanced-tree form `add(add(vecreduce(a), b), add(vecreduce(c), d))`.
It does not, however, handle a linear chain of reductions like the one
SLP emits for x264's SAD:
```
add(reduce(X0), add(reduce(X1), add(reduce(X2), acc)))
```
Only the innermost pair can ever be merged; the cascade breaks and every
reduction survives to lowering, giving one `vredsum` (or one `uadalp` step,
etc.) per term.
This PR adds a third form to `reassociateReduction`:
```
op(vecreduce(X), op(vecreduce(Y), Z)) -> op(vecreduce(op(X, Y)), Z)
```
Applied to fixpoint by the combiner worklist, this collapses an
arbitrary-length chain into `add(vecreduce(BigSum), acc)`, which the
existing target combines then fold into a single reduction with the
external accumulator folded in as the reduction start value. On RISC-V
with `Zvdot4a8i` this recovers the desired single-`vredsum`, N-dot codegen
for x264 SAD; it also shortens the critical path for other targets (e.g.
AArch64 `uadalp`/`faddp` reduction chains) by exposing a balanced tree.
It is gated on the existing `shouldReassociateReduction` target hook and,
for `FADD`/`FMUL`, only enabled when all involved nodes carry the `reassoc`
fast-math flag, matching the existing two forms.
Fixes #168047.
Assisted-by: TraeCli (AI assistant)
Commit: 16a6b516d7b72be6d1cd480febb2c1ebf2aa78c2
https://github.com/llvm/llvm-project/commit/16a6b516d7b72be6d1cd480febb2c1ebf2aa78c2
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[NFC][Clang][OpenMP] Simplify checks for num_teams and thread_limit expressions (#207305)
Prepare changes for #206412
Commit: 1030639662bf27022ec91045d4b457a2e69167e1
https://github.com/llvm/llvm-project/commit/1030639662bf27022ec91045d4b457a2e69167e1
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M lld/ELF/LinkerScript.cpp
Log Message:
-----------
[ELF] Precompute orphan output section names in parallel. NFC (#207321)
addOrphanSections computes getOutputSectionName serially for every live
orphan section. Without --emit-relocs/-r, the name is a pure function of
the section: precompute the names with a parallelFor.
Commit: e49c8a0363267c7b7235aabb3d36ac50e4281c26
https://github.com/llvm/llvm-project/commit/e49c8a0363267c7b7235aabb3d36ac50e4281c26
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libcxx/include/__cxx03/string
M libcxx/include/string
M libcxx/test/libcxx-03/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.capacity/max_size.pass.cpp
A libcxx/test/libcxx/strings/basic.string/new_alignment.sh.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
Log Message:
-----------
[libc++] Base string's alignment on __STDCPP_DEFAULT_NEW_ALIGNMENT__ (#171785)
This allows users to influence how much we overalign `string`s
allocations and tune it to the new/delete implementation via
`-fnew-alignment`. If we don't have `__STDCPP_DEFAULT_NEW_ALGINMENT__`
or we're not using `std::allocator`, we default to an alignment of
`sizeof(void*)`.
Commit: d3b6ad1c11c24362c7f94b41e5a26652047582c8
https://github.com/llvm/llvm-project/commit/d3b6ad1c11c24362c7f94b41e5a26652047582c8
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/CAPI/rewrite.c
Log Message:
-----------
[mlir-c] Reapply Add ConversionTarget dynamic legality C API (#207104) (#207253)
Fixes LeakSanitizer failure from #206161 (reverted in #207104);
`mlirFreezeRewritePattern` moves contents out of the `RewritePatternSet`
but does not free the container (passed by value in the C API), so the
allocation from `mlirRewritePatternSetCreate` was never freed (add
`mlirRewritePatternSetDestroy(patterns)` after freezing).
Commit: ac05f72d8fa879dce17b73859ad936d59e8731e5
https://github.com/llvm/llvm-project/commit/ac05f72d8fa879dce17b73859ad936d59e8731e5
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
M llvm/include/llvm/CodeGen/RegAllocCommon.h
M llvm/include/llvm/CodeGen/RegisterBank.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/RegisterScavenging.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
M llvm/lib/CodeGen/CriticalAntiDepBreaker.h
M llvm/lib/CodeGen/RegisterCoalescer.h
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/Hexagon/BitTracker.h
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.h
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsRegisterInfo.h
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
M llvm/test/TableGen/RegisterClassCopyCost.td
M llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
M llvm/test/TableGen/RegisterInfoEmitter-tsflags.td
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[CodeGen] Merge TargetRegClass into MCRegClass (#207168)
Both data types store primitive information only and TargetRegisterClass
doesn't reference target-specific data structures. TargetRegisterClass,
however, freqeuently refers to MCRegisterClass through a pointer, which
prevents moving the large TargetRegisterClass instances to .rodata.
Therefore, merge the fields of TargetRegisterClass into MCRegisterClass
and adjust the remaining fields to use the existing storage mechanism
for pointer-free storage. To avoid invasive code changes, keep
TargetRegisterClass as alias for MCRegisterClass.
This reduces the size of .data.rel.ro by ~122 kiB in an all-target
build while growing .rodata by just 92 kiB. Further size improvements
are possible in future by reordering struct fields and deduplicating
masks/register lists/register class lists.
Pull Request: https://github.com/llvm/llvm-project/pull/207168
Commit: aa7773bef31df88130002748881118cb9982f0c7
https://github.com/llvm/llvm-project/commit/aa7773bef31df88130002748881118cb9982f0c7
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
Log Message:
-----------
[clang-tidy] Add regression tests for readability-redundant-typename. NFC. (#207318)
Part of https://github.com/llvm/llvm-project/issues/206995
Commit: 5969d640a349d593b5935fbe80be89f7a375f528
https://github.com/llvm/llvm-project/commit/5969d640a349d593b5935fbe80be89f7a375f528
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/IR/Value.cpp
M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/rewrite-mfma-form-spill-cost-reset.ll
M llvm/test/CodeGen/X86/load-partial.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/Transforms/GVN/PRE/volatile.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/MergeICmps/X86/no-gep-other-work.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
Log Message:
-----------
[IR] Enable dereferenceable-at-point semantics (#204795)
The precise semantics of `dereferenceable` are currently undocumented,
but de facto they are:
* Argument position `dereferenceable` implies that the memory remains
dereferenceable while the function executes.
* Return position `dereferenceable` implies that the memory remains
dereferenceable forever.
This is not coherent with how these attributes are used, in at least two
ways:
* C++ reference arguments are annotated as `dereferenceable` by Clang.
However, C++ does not actually make any guarantees that the underlying
memory does not get freed during the execution of the function. (Unlike
Rust, which does guarantee this via protectors in SB/TB.)
* We infer `dereferenceable` on allocator return values (from
`allocsize`). Allocator return values quite obviously do not stay
dereferenceable forever, as they can be freed.
This PR changes the semantics of `dereferenceable` to apply at-point,
i.e. only directly on function entry (for arguments), or at the position
of the call (for return values). The fact that the memory cannot be
freed between the point where the `dereferenceable` fact has been
established and the point where we're trying to speculate needs to be
explicitly proven now.
The main ways this happens is:
* Via `nofree` function attributes (inferred).
* Via `noalias nofree` argument attributes. The latter is inferred, but
the former generally requires frontend annotation. In Rust the
combination of `noalias nofree dereferenceable` is used, so it should
not be materially affected by these changes.
* Context-sensitive analysis to check for frees (i.e. non-nofree calls
or synchronizing atomics) between the point of definition and the point
of speculation.
It's expected that this will regress optimization of C++ code in some
cases, because we can no longer use dereferenceability facts that are
not, in fact, guaranteed to hold.
This finishes implementing an old RFC:
https://discourse.llvm.org/t/rfc-decomposing-deref-n-into-deref-n-nofree/57873
Commit: 805e89acff0d2f0685adac6eb7b75d1346827c77
https://github.com/llvm/llvm-project/commit/805e89acff0d2f0685adac6eb7b75d1346827c77
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
[Sparc] Mark LOAD_BIG/LOAD_LITTLE as MayLoad (#206924)
These were marked as MayStore, but should be MayLoad.
Commit: 51e0c893151d1ded3b6e5b9c6bb378799a281ef2
https://github.com/llvm/llvm-project/commit/51e0c893151d1ded3b6e5b9c6bb378799a281ef2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
Log Message:
-----------
[Sparc] Create MMO for STORE_BIG/LITTLE with MOStore (#206929)
This only stores, so we can use a store MMO instead of a load+store one.
Commit: 4d8ec1968023e9ab0dcc0d112c65d4e1b36b07d2
https://github.com/llvm/llvm-project/commit/4d8ec1968023e9ab0dcc0d112c65d4e1b36b07d2
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFRegisters.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost.td
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[CodeGen][NFC] Remove RegisterClasses pointer array (#207204)
All MCRegisterClasses are stored consecutively in memory. Therefore, we
can remove the RegisterClassses pointer array and save 17kiB in
.data.rel.ro.
Commit: f2334004d0ce9ae6d280f0a9d5e8c05d9b3103c1
https://github.com/llvm/llvm-project/commit/f2334004d0ce9ae6d280f0a9d5e8c05d9b3103c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/buildvec-extract.ll
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] matchUnaryShuffle - only prefer VZEXT_MOVL to VPMOVZX if it will fold away (#207031)
Clean up the logic matching VZEXT_MOVL in preference over VPMOVZX - we
should only use this if the source vector is GPR->FPU or a single
element load (or target load), which fold away to an implicit zero
extension.
Pre-SSE41 targets will attempt to match VZEXT_MOVL again more generally
later on.
Commit: 2f3d02610748ed8d5ae07ae5cfd837666dd27419
https://github.com/llvm/llvm-project/commit/2f3d02610748ed8d5ae07ae5cfd837666dd27419
Author: adalal-2441 <adalal at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/flags.ll
Log Message:
-----------
[VPlan] Intersect all fast-math flags in VPIRFlags::intersectFlags (#204664)
intersectFlags only ANDed the nnan and ninf flags and left the others
reassoc, arcp, contract, afn and nsz) unchanged. When CSE or
interleave-group narrowing combines two operations into one, the kept
operation's remaining flags then leak onto the merged value.
Intersect all fast-math flags instead, so the result keeps only the
flags present on both operations. A pure intersection is required
because the combined operations do not always compute the same value
(e.g. when narrowing interleave groups), so a flag may be kept only if
every combined operation had it.
Found via @jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/blob/master/x86/bugs/090-vplan-cse-intersect-flags-fmf-wrong-direction
cc @jlebar
Commit: 5447679305323f6108269929fe33a58c1d2c59b9
https://github.com/llvm/llvm-project/commit/5447679305323f6108269929fe33a58c1d2c59b9
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M .github/workflows/release-documentation.yml
Log Message:
-----------
Fix typo in release-documentation workflow (#207329)
This causes lots of "Invalid workflow file" errors.
Introduced in https://github.com/llvm/llvm-project/pull/204852.
Commit: 813f06de0df4f0af5601cb1b109eb19b2373cad3
https://github.com/llvm/llvm-project/commit/813f06de0df4f0af5601cb1b109eb19b2373cad3
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2c.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir
Log Message:
-----------
[AMDGPU] IGroupLP: Avoid DAG manipulation in greedyFind (#194827)
The greedy pipeline solver needs to determine the edges that are
implied by assigning an SUnit to a SchedGroup and the cost of this
assignment. The cost is the number of edges that cannot be added without
introducing cycles. The current implementation (addEdges) adds the
edges to the DAG and uses the DAG reachability function for cycle
checking. This happens for each candidate SchedGroup and needs to be
undone before other candidates are considered. The DAG manipulations
become a significant performance bottleneck on bigger pipelines.
This commit implements an alternative function for computing the edges
and cost of an assignment. This function performs the reachability
analysis that is necessary for the cyclicity checks without modifying
the DAG.
The new function returns the same cost as addEdges. The concrete edge
set may show insignificant differences, because, for instance,
the link function called from addEdges chooses not to add transitive
edges (DAG manipulations are more expensive than the check to avoid
this), but the new function includes such edges since this means that
it can avoid to update reachability information in one direction.
The schedule changes are caused due to the existing implementation not
resetting the DAG's topological order after removing the edges that
are added while examining the SchedGroup candidates. Hence it may have
used incorrect reachability information.
Commit: e8b509f10bf34082b6fb35eb35e34f77ea583bef
https://github.com/llvm/llvm-project/commit/e8b509f10bf34082b6fb35eb35e34f77ea583bef
Author: Fan Mo <w007878 at hotmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/GH203701.cpp
Log Message:
-----------
[clang] use decl itself in static assert failed boolean condition printer (#203736)
fixes #203701
`getName()` assumes the decl used in the static asserts has a simple
identifier name, but in some cases like `operator int` don't — they
fails the assertion `Name.isIdentifier() && "Name is not a simple
identifier"` when the `static_assert` failure diagnostic tries to print
the boolean expression.
Switching to getDeclName() handles these special names properly.
Reproducer:
```c++
struct S {
constexpr S(auto) {}
constexpr operator int() const { return 0; }
};
constexpr auto a = [](this S) { return 1; };
static_assert((&decltype(a)::operator())(1) == 42);
```
---
One thing I'm not sure about: the print helper that walks the boolean
expression lives in `SemaTemplate.cpp` (inside
`printTemplateArgumentList` / the DiagRecursiveConstraintEval visitor
area). Is there a historical reason for it being there rather than
somewhere more general like `SemaOverload.cpp` or a shared diagnostic
utility? Happy to move it if that makes more sense.
---
AI used for generating & fixing unit test
Commit: 6de2b5f8f45d88d25956a2536460d441cd07eeef
https://github.com/llvm/llvm-project/commit/6de2b5f8f45d88d25956a2536460d441cd07eeef
Author: pkarveti <pkarveti at qti.qualcomm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
A llvm/test/CodeGen/Hexagon/vselect.ll
Log Message:
-----------
[Hexagon] Lower vselect instruction (#206675)
Selection fails with "Cannot select: vselect" when the condition and
both data operands of an HVX vselect are predicate vectors (e.g. v32i1,
v64i1, v128i1). This patch adds patterns for vselect on HVX predicate
vectors of all three element widths (VecQ8, VecQ16, VecQ32), expanding
them to V6_pred_or/V6_pred_and/V6_pred_and_n on Q registers.
Patch-By: @iajbar
Fixes #206353
Commit: 2870ebbcb50db6bf451f902d8d611bf8709168c7
https://github.com/llvm/llvm-project/commit/2870ebbcb50db6bf451f902d8d611bf8709168c7
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
Log Message:
-----------
[CrossProjectTests] Fixup expect in ctor.cpp to accept multiple steps (#207337)
In the test `ctor.cpp`, Dexter tests that when we step into the
constructor used in the test, the value of `this` isn't irretrievable.
To protect against a rotten pass it also checked that we stepped once,
but this caused failures on some platforms where we would step twice on
the constructor - this patch resolves the issue by accepting any
non-zero value for the number of steps.
Commit: 448e7fec76bdedb50c2e8e17f68440b505da369c
https://github.com/llvm/llvm-project/commit/448e7fec76bdedb50c2e8e17f68440b505da369c
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Track unary plus on a pointer (#207243)
Unary plus on a pointer is the identity (+p == p), so the result carries
the operand's loans -- but UO_Plus fell through VisitUnaryOperator's
default and left the result origin empty, dropping the borrow (e.g. p =
+&local was a silently-missed use-after-scope). Handle it by flowing the
operand's rvalue origins.
Assisted-by: Claude Opus 4.8
Co-authored-by: Gabor Horvath <gaborh at apple.com>
Commit: b0c9d8ad10786d4861039b6806ceadda313229dd
https://github.com/llvm/llvm-project/commit/b0c9d8ad10786d4861039b6806ceadda313229dd
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[AArch64][InstCombine] Tidy [su]adalp combine (NFC) (#207219)
I missed some comments in the #204796 PR.
Commit: 0341dd51303fc13cafdd21a33e2985cbf603c66b
https://github.com/llvm/llvm-project/commit/0341dd51303fc13cafdd21a33e2985cbf603c66b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
M clang/test/CodeGen/asm.c
M clang/test/CodeGen/asm_incbin.c
M clang/test/CodeGen/cfi-salt.c
M clang/test/CodeGen/kcfi.c
M clang/test/CodeGenCUDA/filter-decl.cu
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenObjC/category-class.m
M clang/test/CodeGenObjC/objc-runtime-name.m
M clang/test/Frontend/ast-codegen.c
M clang/test/Modules/codegen.test
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/IR/Module.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
A llvm/test/Assembler/module-asm-invalid.ll
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/highLevelStructure.3.2.ll
A llvm/test/Bitcode/module-asm.ll
A llvm/test/CodeGen/RISCV/module-asm-features.ll
M llvm/test/Instrumentation/DataFlowSanitizer/prefix-rename.ll
A llvm/test/LTO/RISCV/module-asm.ll
M llvm/test/LTO/X86/inline-asm-lto-discard.ll
A llvm/test/Linker/Inputs/module-asm.ll
M llvm/test/Linker/link-arm-and-thumb-module-inline-asm.ll
A llvm/test/Linker/module-asm.ll
M llvm/test/ThinLTO/X86/import-symver.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.ll
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/module-asm.mlir
Log Message:
-----------
[IR] Explicitly specify target feature for module asm (#204548)
Support specifying additional properties on module-level inline
assembly. In particular, the target features and target CPU can now be
specified as follows:
module asm(target_features: "+foo", target_cpu: "bar")
"asm line 1"
"asm line 2"
There may be multiple module inline assembly blocks with different
properties.
This is intended to fix the long standing issue where in LTO scenarios
we don't know what target features to use for parsing the module-level
inline assembly. Now they can be faithfully preserved, even when merging
inline assembly from different modules with different features.
If target_features and target_cpu are empty, we fall back to the old
behavior (which, in the backend, would be to use the default subtarget
of the TargetMachine).
Fixes https://github.com/llvm/llvm-project/issues/61991.
Fixes https://github.com/llvm/llvm-project/issues/67698.
Commit: 473b0a3b727a89140762b558d74520915bd164ff
https://github.com/llvm/llvm-project/commit/473b0a3b727a89140762b558d74520915bd164ff
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/DiagnosticTest.cpp
Log Message:
-----------
Fix MSVC build after #206326 (again) (#207335)
Adding /utf-8 is bigger endeavor than I hoped, just disable the
problematic test case for now
Commit: 73e1c53474a46a9686d7111c8566be2d90263aa4
https://github.com/llvm/llvm-project/commit/73e1c53474a46a9686d7111c8566be2d90263aa4
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libc/startup/baremetal/arm/start.cpp
Log Message:
-----------
[libc][ARM] Defend banked SP setup against register allocator (#206757)
The startup code for bare-metal AArch32 A/R shifts the CPU through all
the different modes which have their own copies of SP, updating all the
stack pointers to the same value. But it does it using C intrinsics,
leaving the register allocation to the compiler – so it's possible that
the register allocator happens to use one of the _other_ banked
registers, such as LR.
For example, when I built this code today, it happened that LR was used
to hold one of the constants written into CPSR_c to change mode. That
constant was written into the SVC mode LR before any mode changes, but
the MSR instruction that tried to use it was run in a different mode, so
it copied from _that_ mode's LR, which contained uninitialised nonsense
in place of the desired constant, triggering a boot-time crash.
I think it's safer to use a single asm statement for the whole job,
guaranteeing which registers it uses.
Commit: 17e7497629ccb47a1f23aa5e0ba228d6d0e2a0a0
https://github.com/llvm/llvm-project/commit/17e7497629ccb47a1f23aa5e0ba228d6d0e2a0a0
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan.c
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/dbg-arg.c
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/global-constant.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/hello.c
M cross-project-tests/debuginfo-tests/dexter-tests/inline-line-gap.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/bitcast.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/implicit-ptr.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inline-escaping-function.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/loop.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/merged-store.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ptr-to.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/realigned-frame.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/stack-var.c
M cross-project-tests/debuginfo-tests/dexter-tests/vla.c
M cross-project-tests/debuginfo-tests/dexter/Heuristic.md
M cross-project-tests/debuginfo-tests/dexter/Script.md
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/conditions.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_after_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_at_frame.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_finish.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_step_out.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/watch_scope.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_fn_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_for_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_hit_count_early_exit.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_at_frame.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_steps_penalties.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_steps_perfect.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates_addresses.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_types.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/floats.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/nested_wheres.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/bad-where-attr.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/error-locations.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/expect-all-with-value.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-address.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-script-nodes.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/parse-address.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/reject-bad-at_frame_idx.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/step-node-expected-values.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/valid-parse.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_aggregates_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_at_frame_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expect_list_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expects_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_list_aggregates_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_multiple_scripts_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_scopes_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_scopes_list_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_types_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_at_frame.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expect_list.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expects.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_list_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_multiple_scripts.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_scopes.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_scopes_list.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_step_lines.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_types.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/whole_file.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/where_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
Log Message:
-----------
[Dexter] Switch to using script-mode by default (#204369)
This patch changes the default mode of Dexter from heuristic-mode to
script-mode. The --use-script argument is replaced with --use-heuristic,
some comments/docs/error messages are updated accordingly, and tests
have their flags switched accordingly.
Commit: 67d7dfcfbc91862a85084e7848ebd62b929e8f78
https://github.com/llvm/llvm-project/commit/67d7dfcfbc91862a85084e7848ebd62b929e8f78
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-v8a.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64_i128_endianness.ll
Log Message:
-----------
[AArch64] Fix reversed values in big-endian 128-bit atomics (#205760)
When AArch64TargetLowering expands a load-linked or a store-conditional
during the atomic-expand pass, it made the fixed assumption that the
64-bit value stored first in memory was the low-order half of the
128-bit value, instead of checking the SubtargetInfo's endianness. The
same was true of the code that expands CMP_SWAP_128 pseudoinstructions.
So in each case, if you compiled 128-bit atomic code big-endian, you'd
get back a 128-bit integer with the top and bottom half swapped.
This was found by compiler-rt's existing tests when we ran them for a
big-endian AArch64 target in Arm Toolchain.
Most of the test changes here are `update_llc_test_checks` churn: there
were already many tests of AArch64 atomics in big-endian mode, and
apparently they all simply had the reversed registers in their expected
output.
The one new test, `aarch64_i128_endianness.ll`, directly demonstrates
the failure if run against llc without the patch, because it does both
atomic and normal loads and stores in each test function, and you can
see in the big-endian generated code that the same pair of registers is
used in opposite orders by the ldxp/stxp and ldp/stp instructions. After
this fix, the order of the registers matches.
Commit: 243211a9222dde80433e57b710cff7de5b9fc38a
https://github.com/llvm/llvm-project/commit/243211a9222dde80433e57b710cff7de5b9fc38a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[ReleaseNotes] Remove leftover conflict marker (#207348)
Commit: efcfff751f856c66c936d2057ed9a8463e070833
https://github.com/llvm/llvm-project/commit/efcfff751f856c66c936d2057ed9a8463e070833
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
A libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.append.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.assign.pass.cpp
Log Message:
-----------
[libc++] Add assert test for string assign/append (#207164)
Fixes
https://github.com/llvm/llvm-project/pull/206320#discussion_r3507502638.
Commit: 15b38829f76f2116e8ce3dca0b52528e94537e41
https://github.com/llvm/llvm-project/commit/15b38829f76f2116e8ce3dca0b52528e94537e41
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
Log Message:
-----------
[AArch64][FastISel] Update arm64-fast-isel-conversion.ll check lines (NFC) (#207159)
Before fixing relevant bugs and extending the existing tests,
auto-generate CHECKs.
Note that some of the existing CHECKs actually check for buggy isel.
Those will be fixed separately, after adding more tests in a separate
PR. This PR just runs `update_llc_test_checks.py`.
Commit: 4d46b7afdab1747618fdd0f1480ae59d8352eeea
https://github.com/llvm/llvm-project/commit/4d46b7afdab1747618fdd0f1480ae59d8352eeea
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode][NFC] Report error if HasGroup is set without types (#207334)
Setting `HasGroup = 1` in tablegen without the types being non-empty
causes problems later, so diagnose it.
Commit: 499eba67ee2301b8692c3b1903840896d2c12d73
https://github.com/llvm/llvm-project/commit/499eba67ee2301b8692c3b1903840896d2c12d73
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve2p1-while-pn-folds.ll
Log Message:
-----------
[SDAG][AArch64] Fold extract from pext to use status flags (#206443)
This folds extracting the first bit from the first segment of a
predicate-as-counter to use the "first active" status. E.g.:
```
%pn:aarch64svcount, %flags:FlagsVT = WHILELO_PRED_COUNTER(a, b, VLx4)
%first_pred:nxv4i1 = pext(%pn, 0)
%more:i1 = extractelement(%first_pred, 0)
```
->
```
%pn:aarch64svcount, %flags:FlagsVT = WHILELO_PRED_COUNTER(a, b, VLx4)
%more = CSET(%flags, FIRST_ACTIVE)
```
Assisted-by: Codex (adding test variations)
Commit: 11438bc8e31252be03e8a47773da3964ab2df215
https://github.com/llvm/llvm-project/commit/11438bc8e31252be03e8a47773da3964ab2df215
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-masked-gather-64b-unscaled.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather.ll
Log Message:
-----------
[AArch64] Combine undef UZP and NVCAST away. (#204623)
These are used to lower insert_subvec nodes quite early in SDAG. After
DAG combines run, it's possible that the inputs to these AArch64 nodes
become UNDEF.
Commit: ba8e423be48d3505b89f27348faaad3e810168fa
https://github.com/llvm/llvm-project/commit/ba8e423be48d3505b89f27348faaad3e810168fa
Author: David Spickett <david.spickett at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
M lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
Log Message:
-----------
[lldb][test] Add a function to spawn lldb-server platforms (#205083)
I will be doing this in a future test and we already have a few copies of this code in various tests.
Commit: 234960e7ad301a99acf650d71899a00c80eda1d2
https://github.com/llvm/llvm-project/commit/234960e7ad301a99acf650d71899a00c80eda1d2
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp
Log Message:
-----------
[LifetimeSafety] Point annotation suggestion location to fix-it insertion point (#207345)
Commit: aded5309868f4d757490a804d331d4d12bf410b2
https://github.com/llvm/llvm-project/commit/aded5309868f4d757490a804d331d4d12bf410b2
Author: Bill Wendling <morbo at google.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
A clang/test/CodeGen/attr-counted-by-with-sanitizers.c
A clang/test/CodeGen/attr-counted-by-without-sanitizers.c
R clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang][tests][NFC] Split __counted_by attribute testcases into two (#207144)
Splitting the testcase file makes it easier to review the generated
code. The only changes are cosmetic:
- Renaming functions and structs to be more descriptive, and
- Removing a duplicate test.
Commit: 253d6f216a62ab2e1005ca6a7a56385aa399ef4d
https://github.com/llvm/llvm-project/commit/253d6f216a62ab2e1005ca6a7a56385aa399ef4d
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI][flang][OpenMP] Build OpenMP runtime mod files for flang tests (#206517)
Some flang openmp lit tests require mod files (a bit like C header
files, except they are compiler generated) from the openmp runtime. As
the openmp runtime is not currently built in this configuration, these
71 flang tests get skipped and a warning is emitted.
Here I enable openmp as a dependency for flang but add
-DLIBOMP_FORTRAN_MODULES_ONLY=ON so that only the required mod files are
built and not the whole of the openmp runtime.
This only effects linux bots: Windows and MacOS explicitly exclude
openmp so it will still not be enabled there.
Assited-by: Codex
Commit: 38241083163a3743413dafd86b45739a2143622e
https://github.com/llvm/llvm-project/commit/38241083163a3743413dafd86b45739a2143622e
Author: Ege Beysel <beysel at roofline.ai>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Interfaces/TilingInterface.h
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/SwapExtractSliceWithProducerPatterns.cpp
M mlir/lib/Interfaces/TilingInterface.cpp
A mlir/test/Dialect/Linalg/scalable-pack-consumer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-pack-producer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-pack-tiling.mlir
A mlir/test/Dialect/Linalg/scalable-unpack-consumer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-unpack-producer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-unpack-tiling.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][linalg/scf/transform] scalable tiling and fusion for pack/unpack ops (#204007)
# Inner tile alignment hints for scalable `linalg.pack`/`linalg.unpack`
tiling and fusion
## Overview
Tiling and fusing `linalg.pack`/`linalg.unpack` produces a clean result
only when the tiling implementation can tell how a loop tile size
relates to the op's inner tile size. When both are statically known this
is decided by comparing the constants. But with **scalable** (and, more
generally, dynamic) sizes, e.g. a loop tile of `8 * vscale` against an
inner tile of `8 * vscale`, that relationship is symbolic and cannot
cleanly be recovered from the IR, so the implementation conservatively
falls back to a dynamic, over-allocated tile. See #150185 for more
details.
This PR adds an optional **inner tile alignment hint**: a per-dimension
caller assertion about that relationship, threaded from the transform-op
surface through the SCF driver into the pack/unpack `TilingInterface`
implementations. The caller is already aware of both the loop tile
sizes, and the inner tile sizes, and therefore can set these hints
easily. With the hint, scalable pack/unpack tiling and fusion produce
the same tight IR they produce for the statically-aligned case.
## The inner tile alignment hint
`InnerTileAlignment` is a per-iteration-domain-dimension enum:
- `Unknown` (`0`) — no information; the implementation keeps its prior
behavior.
- `Multiple` (`1`) — the loop tile size is an integer multiple of the
inner tile.
- `Equal` (`2`) — the loop tile size equals the inner tile size.
It is a *caller assertion*, not a checked fact. It is consulted only
when the relationship cannot be decided from the IR; when the tile and
inner-tile sizes are both statically known, that static comparison wins
and a contradicting hint is ignored rather than allowed to corrupt the
result. Otherwise the hint is not verified, so an incorrect assertion
silently produces invalid tiling, its correctness is owned by the
caller. Only pack/unpack consult it; every other op ignores it.
## TilingInterface API
Four methods gain a second overload taking an extra
`ArrayRef<InnerTileAlignment>` hint:
- `getTiledImplementation`
- `generateResultTileValue`
- `getTiledImplementationFromOperandTiles`
- `getIterationDomainTileFromOperandTiles`
The hint-bearing overload defaults to forwarding to the hint-less one,
so the change is additive: existing implementers and callers that never
mention the hint are unaffected, and the rest of the interface is
untouched.
### Where it helps
The loop tiles the packed dimension by `8 * vscale`, so the size handed
to the pack/unpack is a **full-or-remainder** `affine.min` against that
step:
```mlir
// #map = affine_map<(d0)[s0] -> (-d0 + 4096, s0)> // min(4096 - iv, 8*vscale)
%ts = affine.min #map(%iv)[%c8_vscale]
// ... %ts feeds the extracted slice fed to the pack/unpack, whose inner tile
// on this dimension is also 8*vscale.
```
To fold the tiled op's outer (tile-count) dimension to a static `1`, the
current implementation asks
`ValueBoundsConstraintSet::computeConstantBound` for a *constant* upper
bound on `%ts` and compares it against the inner tile size, essentially
`UB(%ts) % innerTile == 0`. With a scalable `8 * vscale` inner tile,
neither the upper bound of `%ts` nor the inner tile is a constant, so
the comparison is undecidable and the tile conservatively falls back to
a dynamic outer dim (`tensor<?x...>`), over-allocating the tile.
`inner_tile_alignments = [Equal]` asserts `%ts == 8 * vscale`, so the
outer dim folds to a static `1` (`tensor<1x...>`); `[Multiple]` instead
takes the `ceilDiv` branch. The hint thus supplies exactly the
relationship the upper-bound comparison cannot recover for symbolic
sizes.
### How the hint is arranged
- One entry per **iteration-domain dimension**, in **pre-interchange**
order (`interchange` only reorders the generated loops, not the hint).
- Entries are **not** remapped through indexing maps or
`outer_dims_perm`: for a transposing pack they stay in source
(pre-permutation) order.
- For the consumer-fusion (`*FromOperandTiles`) methods, the indexing
follows the op's iteration domain: for a pack it coincides with the
unpacked source dims; for an unpack the entry for the i-th inner tile
sits at its destination dimension `inner_dims_pos[i]`.
The caller must pre-arrange the array to match this order. See the tests
for more examples.
### Out-of-tree implementers
Because the two overloads share a source name:
- An op that lists one of the four methods in
`DeclareOpInterfaceMethods` now has **both** arities declared on it, so
it must also define the hint-bearing overload (typically a one-line
forward to the hint-less one).
- An `ExternalModel` that defines the hint-less overload **hides** the
inherited defaulted hint-bearing overload (C++ name hiding); add `using
Base::<method>;` to keep it visible.
Implementers that do not care about the hint need no functional change
beyond the above visibility boilerplate.
## SCF tiling driver API
The producer- and consumer-fusion driver entry points
(`tileAndFuseProducerOfSlice`, `tileAndFuseConsumerOfSlices`,
`tileAndFuseConsumer`) and `SCFTilingOptions` accept an optional
**control function** rather than a single fixed array.
A single tile-and-fuse invocation can tile/fuse several ops with
**different iteration domains**, so no single array can be correct for
all of them. The driver therefore invokes the control function once per
op being tiled/fused and
expects the returned array to be in *that op's own* domain, it does not
remap it.
### Why a control function and not one array
A single tile-and-fuse can pull in more than one pack/unpack, and each
consults the hint in *its own* iteration domain:
```mlir
%unpacked = linalg.unpack %p0 inner_dims_pos = [0] inner_tiles = [%c8_vscale] ... // domain A
%mul = linalg.generic ins(%unpacked, ...) ... // tiled root
%packed = linalg.pack %mul inner_dims_pos = [1] inner_tiles = [%c4_vscale] ... // domain B
// One tile-and-fuse: tile %mul, fuse %unpacked (producer) and %packed (consumer).
```
Both `%unpacked` and `%packed` consume the hint, but their domains
differ, a different dimension is tiled and the inner-tile arrangement is
different, so the array indexed in `%unpacked`'s domain is simply wrong
for `%packed`. No single fixed array can be correct for both. The driver
therefore invokes the control function once per op being tiled/fused and
the caller returns each op's array in its own domain.
### Why the function gets slices (not tile sizes) for fusion
For pure tiling the driver knows the explicit tile sizes and passes
them. In fusion there are no caller-specified tile sizes for the fused
op, its tile is induced by the `tensor.extract_slice` (producer) or
`insert_slice` (consumer) being fused. The control function is therefore
handed those slices, from which the caller can derive the alignment in
the fused op's domain.
## Transform ops
`transform.structured.tile_using_for`, `transform.structured.fuse`, and
`transform.structured.fuse_into_containing_op` gain an optional
`inner_tile_alignments` array attribute (empty by default, preserving
prior behavior). It is wired to the driver as a **constant** control
function (the same array for every op). This is sufficient because each
of these ops drives tiling/fusion at single-op granularity; the per-op
control function remains available at the library/driver level for
callers that fuse multiple ops with differing domains. The test-only
`transform.test.fuse_consumer` is wired the same way.
## Testing
- **`linalg.unpack`**: standalone tiling, producer fusion
(`structured.fuse`, `fuse_into_containing_op`), and consumer fusion
(`test.fuse_consumer`), with both `Multiple` and `Equal` hints.
- **`linalg.pack`**: standalone tiling, producer fusion, and consumer
fusion (`test.fuse_consumer`), with both `Multiple` and `Equal` hints.
- Negative cases: missing hint falls back to the conservative tiling; a
hint that contradicts statically-known sizes is ignored; transposing
`outer_dims_perm`/consumers confirm source-order (un-permuted) indexing.
- Transform-op attribute verification (`inner_tile_alignments`
validity).
Assisted-by: Claude Code
---------
Signed-off-by: Ege Beysel <beyselege at gmail.com>
Commit: a4df89bcc69ad1c3ef9e57c4cd692cc15cec82d6
https://github.com/llvm/llvm-project/commit/a4df89bcc69ad1c3ef9e57c4cd692cc15cec82d6
Author: Maxim Potapchik <maximp1012 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
A llvm/test/TableGen/ExegesisRawPfmCounters.td
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/utils/TableGen/ExegesisEmitter.cpp
Log Message:
-----------
[llvm-exegesis] Add raw PMU encoding in TargetPfmCounters tablegen (#201228)
Adds optional EventSelect and UMask fields to PfmCounter in
TargetPfmCounters.td. EventSelect defaults to -1 (no raw encoding).
When set, ExegesisEmitter outputs raw hex values instead of a libpfm
symbolic name, allowing per-CPU .td entries to bypass
pfm_get_os_event_encoding for counters that are undocumented or
unsupported in libpfm.
Extends PfmCountersInfo with CycleCounterEventSelect, CycleCounterUMask,
UopsCounterEventSelect, and UopsCounterUMask fields. PerfHelper wiring
in a subsequent patch.
Towards #187930
Commit: c6579063cd660094ed7fd121191c5fb9cd1c4b55
https://github.com/llvm/llvm-project/commit/c6579063cd660094ed7fd121191c5fb9cd1c4b55
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
Log Message:
-----------
[DebugInfo] Avoid std::function in DWARF verifier internals (#202866)
This changes `OutputCategoryAggregator`'s synchronous callback
parameters from `std::function` to `function_ref`, avoiding type-erased
callback construction at 75 `DWARFVerifier` diagnostic sites.
On an arm64 Release build, standalone llvm-dwarfdump decreases by
133,680 bytes raw and 17,040 bytes stripped, `DWARFVerifier.cpp.o`
decreases by 174,464 bytes, and linked fixups decrease by 546.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 47e3ac23cb90d206ada66383517ffe0e996c60c9
https://github.com/llvm/llvm-project/commit/47e3ac23cb90d206ada66383517ffe0e996c60c9
Author: Raphael Isemann <rise at apple.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Truncate unexpectedly long test outputs (#206967)
A bug in LLDB could make our tests to produce giant ValueObjects with
millions of children. The same goes for most commands that print out
test data. While our test system can handle this amount of output, the
resulting log output will most likely break the storage capacity of our
build bots.
This patch adds truncation to the various expect* methods that avoids
spamming the output in the (unlikely) case this happens.
See also #206444
Commit: 59362e4224aa66092a40dbbaac87f38e4dbc6e61
https://github.com/llvm/llvm-project/commit/59362e4224aa66092a40dbbaac87f38e4dbc6e61
Author: Raphael Isemann <rise at apple.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
Log Message:
-----------
[lldb][test] Modernize and expand data-formatter-stl/generic/vbool (#206955)
This fixes several issues with this test:
* We use modern test utils for setting up the process.
* We get rid of the state-reset code which is no longer necessary these
days.
* Expand the test to also cover an empty and sub-word-size vector of
bool.
assisted-by: claude
Commit: bb315b7e2953f02e1c8996b110752610e2187ce0
https://github.com/llvm/llvm-project/commit/bb315b7e2953f02e1c8996b110752610e2187ce0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/CodeGen/X86/phaddsub-undef.ll
Log Message:
-----------
[X86] Update (p)haddsub undef element tests to match the output IR from the middle-end (#207244)
Use the vectorised output from the PhaseOrdering/X86 hadd.ll tests -
I've added test coverage for multiple SSE/AVX levels for cases where the
middle-end output is different for any level.
This exposes a number of regressions that have been there for some time
but we'd missed as we'd assumed the backend would still be receiving
non-vectorised IR, but there's been plenty of changes to SLP,
InstCombine and VectorCombine since then - end2end tests would have been
very useful here :(
Looking at fixes next before finally removing the (dead) scalar hadd
matching code for #143000
Commit: 97f71863590c260870789489200a7652c957827f
https://github.com/llvm/llvm-project/commit/97f71863590c260870789489200a7652c957827f
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseSet.h
Log Message:
-----------
[ADT][NFC] Remove unused ValueInfoT from DenseSetImpl (#207277)
The `ValueInfoT` template type was unused and is removed in this patch.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 35bbd6224676b6c0464f92c9f63a7d61f9e53b2a
https://github.com/llvm/llvm-project/commit/35bbd6224676b6c0464f92c9f63a7d61f9e53b2a
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/arm-poe2.s
Log Message:
-----------
[AArch64][llvm] Update POE2 thread-private system register names (#200428)
The `TPMINn_ELn` and `TPMAXn_ELn` system registers have been removed
from the 2026-06 documentation [1]. Their encodings are now used by the
`TPCRn_ELn` system registers [2].
Update the system register definitions and MC tests accordingly.
[1] https://developer.arm.com/documentation/111109/2026-06
[2]
https://developer.arm.com/documentation/111107/2026-06/AArch64-Registers/TPCR0-EL0--Thread-Private-State-Register-0--EL0-
Commit: ce68a9916a908b3ed0b7e26468140ee63696558e
https://github.com/llvm/llvm-project/commit/ce68a9916a908b3ed0b7e26468140ee63696558e
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
Log Message:
-----------
[AMDGPU][AsmParser] Fix representing src2 op_sel for MAC instructions (#206033)
Commit: 4f06fa92b6cf16cec5bd0bfe7ef3efec17b91e24
https://github.com/llvm/llvm-project/commit/4f06fa92b6cf16cec5bd0bfe7ef3efec17b91e24
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
Log Message:
-----------
[libc++][ranges] Enable CPO compile tests (#207123)
`adjacent_transform_view` and `stride_view` were implemented but the
test cases were omitted.
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 61f64e3fececf30cd15727e5d3fc303191513e2e
https://github.com/llvm/llvm-project/commit/61f64e3fececf30cd15727e5d3fc303191513e2e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][InsertWaitCnt] Remove Leftover Comment (#207378)
The right test cases were added in #206439 so that comment no longer
applies.
Commit: 3b908aaf1de387c34738ebe5166adab98d2254ce
https://github.com/llvm/llvm-project/commit/3b908aaf1de387c34738ebe5166adab98d2254ce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
Log Message:
-----------
[X86] haddsub-undef.ll - sync more testnames with their phaseordering equivalents (#207370)
Ensure we have equivalent hadd/sub middle-end test coverage with similar names for lookup
Commit: df6e3809d218f42f17a3c90f31498b01b0122346
https://github.com/llvm/llvm-project/commit/df6e3809d218f42f17a3c90f31498b01b0122346
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Log Message:
-----------
[AArch64] Minor simplification in aarch64-ldst-opt with an early return (#207182)
Remove the local `MBBIWithRenameReg` by moving an early return at an
even earlier point.
When `MBBIWithRenameReg` is set we always return early. By moving the
early return to `MBBIWithRenameReg` update we get rid of a local
variable which spans 200+ lines. This also fixes a misleading debug
print between `MBBIWithRenameReg` update and early return:
```
LLVM_DEBUG(dbgs() << "Unable to combine these instructions due to "
<< "interference in between, keep looking.\n");
```
This line shouldn't be printed when we set `MBBIWithRenameReg`, which is
fixed with this change.
Commit: 965b73ab185f3798b1afe0895476ae899189fcb0
https://github.com/llvm/llvm-project/commit/965b73ab185f3798b1afe0895476ae899189fcb0
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
Log Message:
-----------
[M68k] Fix build after removal of RegisterClasses pointer array (#207364)
Commit 4d8ec1968023 ("[CodeGen][NFC] Remove RegisterClasses pointer
array (#207204)") removed regclass_begin()/regclass_end() from
TargetRegisterInfo, so those names now resolve to the MCRegisterInfo
versions whose iterator dereferences to a MCRegisterClass rather than a
const TargetRegisterClass *, breaking getMaximalPhysRegClass():
error: cannot convert 'const llvm::MCRegisterClass' to
'const llvm::TargetRegisterClass*' in initialization
M68k was not updated in that commit. Switch to the range-based
regclasses() idiom used elsewhere in the same change.
Regressor: 4d8ec1968023 ("[CodeGen][NFC] Remove RegisterClasses pointer
array") (#207204)
Commit: 22e5273cc3334906fc18fce2aebb74986259e31d
https://github.com/llvm/llvm-project/commit/22e5273cc3334906fc18fce2aebb74986259e31d
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-declare-target-func-visibility.mlir
M mlir/test/Target/LLVMIR/omptarget-device-shared-mem.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][OpenMP] Change device declare target functions to hidden visibility (#207234)
During OpenMP lowering, globally visible device functions are emitted.
These functions might not be kernels themselves, but are designed to
only be called in a kernel context. However, if they are unused, and not
inlined, and reference LDS, the AMDGPU ISel emits lots of misleading
warnings related to "local memory global used by non-kernel function".
Fix by changing visibility from external+default to external+hidden,
which allows DCE to just remove the functions.
Claude assisted with this patch.
Commit: afe7d8c4d0dce76e0775cdea9e1ed3ee58b63146
https://github.com/llvm/llvm-project/commit/afe7d8c4d0dce76e0775cdea9e1ed3ee58b63146
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
Log Message:
-----------
[CSKY] Fix build (#207389)
After 0b413b7d0f5a64e2bb1dea136688b3f4e4ea5e22.
Commit: ac47f992ffac0842891a7fb6f412bff49b12f364
https://github.com/llvm/llvm-project/commit/ac47f992ffac0842891a7fb6f412bff49b12f364
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/include/clang/Basic/TokenKinds.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/Support/JSON.h
Log Message:
-----------
[ADT][NFC] Remove unused includes in DenseMap/DenseSet headers (#207282)
Remove unused includes in DenseMap/DenseSet headers.
`llvm/Support/AlignOf.h` was transitively included in
`llvm/Support/JSON.h`
Commit: 4cdb0335647089e12cb7b8d675871bb7086ed189
https://github.com/llvm/llvm-project/commit/4cdb0335647089e12cb7b8d675871bb7086ed189
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-tail-folding.ll
Log Message:
-----------
[VPlan] Optimize pre-increment IV latch users with tail folding (#206499)
This was noticed after #204089 caused IndVarsSimplify to convert some
live out IV users to use the pre-incremented IV, not the
post-incremented.
Tail folded live-outs don't have the `(extract-last-lane
(extract-last-part foo))` form, but instead have the form `(extract-lane
(last-active-lane header-mask), foo)`.
For post-incremented IVs in tail folding, these are converted to
VPInstruction::ExitingIVValue which are handled separately. But
ExitingIVValue can't be used for the pre-incremented IV. So this teaches
optimizeLatchExitInductionUser to detect the last-active-lane of the
header mask form.
Commit: a4e51ff84f7eae35f2b1e5e6b53ba0cd3d2e3089
https://github.com/llvm/llvm-project/commit/a4e51ff84f7eae35f2b1e5e6b53ba0cd3d2e3089
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Introduce m_Branch matcher (NFC) (#207383)
Commit: c1a016708ee305c72db55b613b8c036ca6dfb84e
https://github.com/llvm/llvm-project/commit/c1a016708ee305c72db55b613b8c036ca6dfb84e
Author: Barbara Mitic <bmitic at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
[AMDGPU] Accept sext addresses when folding image ops to a16 (#203189)
canSafelyConvertTo16Bit() only accepts a zext when narrowing image
address coordinates to 16 bits. Add an opt-in AllowI16SExt flag so a
sext from i16 is accepted too, and enable it for sampler-less image
instructions.
Coordinates of sampler-less loads/stores are unsigned, so sext and zext
only disagree for a negative i16 (>= 0x8000), which is already out of
bounds since the maximum image dimension is <= 0x8000. Accepting the
sext therefore lets such coordinates fold to the a16 form, reducing VGPR
pressure.
Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>
Commit: 7a3ed4d252ff06161f73d68f3f31bc9aac50aa22
https://github.com/llvm/llvm-project/commit/7a3ed4d252ff06161f73d68f3f31bc9aac50aa22
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
Log Message:
-----------
[Clang][SVE ACLE] Remove +bf16 requirement from neon-sve bridge builtins. (#205332)
These builtins only care about the size of the element type and do not
require bfloat specific instructions.
Commit: 1d577d28b2d259e99795d4f523d527335b04075d
https://github.com/llvm/llvm-project/commit/1d577d28b2d259e99795d4f523d527335b04075d
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/docs/ClangStaticAnalyzer.md
M clang/docs/ScalableStaticAnalysis/index.md
Log Message:
-----------
[analyzer][docs] Fix invalid MyST toctree 'numbered' option after Markdown migration (#207217)
The RST-to-Markdown migration (#206181) converted the RST flag
`:numbered:` into `:numbered: true`.
MyST parses the toctree `numbered` option as `int_or_nothing`, so the
string `true` fails with:
```
'toctree': Invalid option value for 'numbered': true:
invalid literal for int() with base 10: 'true'
```
This breaks the `-W` (warnings-as-errors) `docs-clang-html` build.
Make `numbered` a valueless flag, which MyST accepts (equivalent to the
original RST behavior of numbering all levels).
Assisted-By: claude
Commit: c87a57fcce04d38e23ec5c16ef9b80a4cfbb1c3c
https://github.com/llvm/llvm-project/commit/c87a57fcce04d38e23ec5c16ef9b80a4cfbb1c3c
Author: Cyrus Ding <91178148+dingcyrus at users.noreply.github.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/include/clang/Basic/IdentifierTable.h
M clang/lib/Basic/IdentifierTable.cpp
Log Message:
-----------
[Clang] Remove unused TokenKey::KEYNOZOS (#207132)
[Clang] Remove unused TokenKey::KEYNOZOS
KEYNOZOS was defined as a TokenKey flag to mark keywords not supported
on z/OS, but no keyword in TokenKinds.def actually uses it. This patch
removes the unused enum value and its associated handling code.
Build: `ninja clang` succeeded (2923/2923 targets).
Tests: `ninja check-clang` passed — 51180 passed, 0 failed.
AI assistance was used for code review analysis and CI failure
debugging.
Fixes #206877
Co-authored-by: Chenguang Ding <dingchenguang at kylinos.cn>
Commit: 624781038c030f8311664e847efda83a2754d5bc
https://github.com/llvm/llvm-project/commit/624781038c030f8311664e847efda83a2754d5bc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/haddsub-undef.ll
Log Message:
-----------
[X86] haddsub-undef.ll - update remaining tests to match IR generated by middle-end (#207391)
Last prep for #143000
Commit: ccfab9ee84ae4f7da776d5022e86c62b0960ee4a
https://github.com/llvm/llvm-project/commit/ccfab9ee84ae4f7da776d5022e86c62b0960ee4a
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/build-vector-reconstructshuffle.ll
Log Message:
-----------
[AArch64] Fix ReconstructShuffle for known vscale>1 (#205099)
The code at AArch64TargetLowering::ReconstructShuffle expects
NEON-compatible types. But for e.g. vscale_range = {2}, we can get legal
fixed-length vectors that are wider than 128 bits.
Commit: ee82fc0ca6d276c5fe8b19b7f8c24b8a64550193
https://github.com/llvm/llvm-project/commit/ee82fc0ca6d276c5fe8b19b7f8c24b8a64550193
Author: Qixi <tjx2361869673 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/matrix-type-operators.c
Log Message:
-----------
[Clang] Fix crash on subscripting a complete matrix subscript expression (#207317)
Subscripting a complete MatrixSubscriptExpr (which has scalar type)
caused an assertion failure in ActOnArraySubscriptExpr because the code
unconditionally asserted isIncomplete() on any MatrixSubscriptExpr base.
Fix by guarding the matrix subscript path with an isIncomplete() check,
allowing complete matrix subscript expressions to fall through to the
standard subscript handling, which emits an appropriate diagnostic.
Fixes #203163
Commit: 62f8a7b95711baf3b53bf37c4b6e124547902fee
https://github.com/llvm/llvm-project/commit/62f8a7b95711baf3b53bf37c4b6e124547902fee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] isExtractExtractCheap - add dbg message showing OldCost vs NewCost (#207386)
Add missing dbs message for VC fold costs decision
Commit: d1c2d8650ab18c84459cbb6d787243bda595ff70
https://github.com/llvm/llvm-project/commit/d1c2d8650ab18c84459cbb6d787243bda595ff70
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/include/clang/Lex/TextEncoding.h
M clang/lib/Lex/TextEncoding.cpp
M llvm/include/llvm/Support/TextEncoding.h
M llvm/lib/Support/TextEncoding.cpp
Log Message:
-----------
Forward declare TextEncodingConverter in TextEncoding.h, move config.h into TextEncoding.cpp (#207382)
This patch forward declares TextEncodingConverter in
clang/include/clang/Lex/TextEncoding.h, and moves config.h into
llvm/lib/Support/TextEncoding.cpp instead of the header.
Commit: 2a951083b1fd3e2d221613f3f94f68b05111fefb
https://github.com/llvm/llvm-project/commit/2a951083b1fd3e2d221613f3f94f68b05111fefb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
M mlir/test/Dialect/SPIRV/Transforms/unify-aliased-resource.mlir
Log Message:
-----------
[mlir][SPIR-V] Guard getSizeInBytes() optionals in UnifyAliasedResourcePass rewriters (#207325)
Commit: fa0822a9dd7bc50ad61a0b19455ca1d26aafe3d5
https://github.com/llvm/llvm-project/commit/fa0822a9dd7bc50ad61a0b19455ca1d26aafe3d5
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Fix null deref in SpecConstantOperationOp::verifyRegions (#207328)
Commit: e788a46f7311e49d8275116c7a634a04a43a9cef
https://github.com/llvm/llvm-project/commit/e788a46f7311e49d8275116c7a634a04a43a9cef
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIR-V] Add SPIRVToLLVM lowering for GL Radians and Degrees ops (#205967)
Commit: 6bc513523c7069ee7449a0025b6d1d7f06a44d63
https://github.com/llvm/llvm-project/commit/6bc513523c7069ee7449a0025b6d1d7f06a44d63
Author: firmiana402 <firmiana402 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/implicit-value-truncated-integer.ll
Log Message:
-----------
[DebugInfo] Truncate implicit value constants to source type width (#206671)
This is a follow-up to #204353.
mikaelholmen and bevin-hansson reported that the previous change could
assert downstream when emitting `DW_OP_implicit_value` for a source
integer type wider than the target generic DWARF stack type, if the
debug-value carrier integer contains bits outside the declared source
type width.
The fix is to construct the source-width `APInt` with explicit
truncation enabled before emitting the implicit value bytes. This
preserves the intended wrap/truncate behavior and avoids asserting on
otherwise recoverable debug-value input.
A regression test is added for an `unsigned _BitInt(48)` debug value on
i386, covering both an out-of-range positive carrier value and an
all-ones negative carrier value.
Commit: 433eef6dea23c18d52c51218bb9d7f9bfbf47ecf
https://github.com/llvm/llvm-project/commit/433eef6dea23c18d52c51218bb9d7f9bfbf47ecf
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
M clang/test/CodeGen/asm.c
M clang/test/CodeGen/asm_incbin.c
M clang/test/CodeGen/cfi-salt.c
M clang/test/CodeGen/kcfi.c
M clang/test/CodeGenCUDA/filter-decl.cu
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenObjC/category-class.m
M clang/test/CodeGenObjC/objc-runtime-name.m
M clang/test/Frontend/ast-codegen.c
M clang/test/Modules/codegen.test
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/IR/Module.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
R llvm/test/Assembler/module-asm-invalid.ll
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/highLevelStructure.3.2.ll
R llvm/test/Bitcode/module-asm.ll
R llvm/test/CodeGen/RISCV/module-asm-features.ll
M llvm/test/Instrumentation/DataFlowSanitizer/prefix-rename.ll
R llvm/test/LTO/RISCV/module-asm.ll
M llvm/test/LTO/X86/inline-asm-lto-discard.ll
R llvm/test/Linker/Inputs/module-asm.ll
M llvm/test/Linker/link-arm-and-thumb-module-inline-asm.ll
R llvm/test/Linker/module-asm.ll
M llvm/test/ThinLTO/X86/import-symver.ll
M llvm/test/Transforms/LowerTypeTests/export-symver.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.ll
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/module-asm.mlir
Log Message:
-----------
Revert "[IR] Explicitly specify target feature for module asm" (#207399)
Reverts llvm/llvm-project#204548
This is causing the runtimes build to fail with e.g.:
```
<inline asm>:11:5: error: 32 bit reloc applied to a field with a different size
11 | jmp __interceptor_strlen at plt
| ^
```
See comments on the PR.
Commit: 4ba692f421e0679676057b8bf880ff9728c90dd0
https://github.com/llvm/llvm-project/commit/4ba692f421e0679676057b8bf880ff9728c90dd0
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/include/clang/Lex/TextEncoding.h
M clang/lib/Lex/TextEncoding.cpp
Log Message:
-----------
Change ToLiteralEncodingConverter to a unique_ptr (#207258)
This patch changes ToLiteralEncodingConverter from a raw pointer to a unique_ptr
Commit: 1ffae54e7ed2143cd14057406882ff8a073ef3fe
https://github.com/llvm/llvm-project/commit/1ffae54e7ed2143cd14057406882ff8a073ef3fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll
Log Message:
-----------
[CostModel][X86] Reduce cost of pre-SSE41 select shuffle (#207400)
The all-logic instructions have better throughput/latency than shuffles
Confirmed with uops.info, llvm-mca and agner
Commit: 780298c4424514f0205df5e82c2a135717e6a723
https://github.com/llvm/llvm-project/commit/780298c4424514f0205df5e82c2a135717e6a723
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/invalid-immarg5.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap-invalid.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-invalid.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-invalid.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-scale-d-invalid.ll
M llvm/test/Verifier/AMDGPU/test-cvt-fp4f6f8-immarg-ranges.ll
M llvm/test/Verifier/NVPTX/fence-proxy.tensormap.ll
M llvm/test/Verifier/NVPTX/setmaxnreg.ll
M llvm/test/Verifier/intrinsic-immarg.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[NFC][LLVM] Define range attribute for `llvm.prefetch` args (#207300)
Define valid range for `llvm.prefetch` immarg values and eliminate C++
verification code.
Additionally, change the range verification failure message to include
the argument number and simplify formatting using `formatv`.
Commit: d2b5a1fabf98178713282658605f615ab14a5d68
https://github.com/llvm/llvm-project/commit/d2b5a1fabf98178713282658605f615ab14a5d68
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix annotating paren after in (#206810)
The y.in(foo) was considered a cast, and thus the following - annotated
as unary operator.
Fixes #206339
Commit: e6cef24f6c5cbae725eeba3c0fffcb15380f9d27
https://github.com/llvm/llvm-project/commit/e6cef24f6c5cbae725eeba3c0fffcb15380f9d27
Author: Gustas Janušonis <janusonis.gustas at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Format/NumericLiteralInfo.cpp
M clang/unittests/Format/NumericLiteralInfoTest.cpp
Log Message:
-----------
[clang-format] Fix crash on numeric literals with an incomplete exponent (#206594)
NumericLiteralInfo could read into tokens out of bounds due to the token
processing assuming well-formed numeric literals and incrementing
pointers to read past them. The fix properly bounds the searches to the
token size via std::min and accounts for the new trimmed string size.
Fixes #206593
Used Claude Code for help with identifying the source of the bug and
checking correctness with fuzzing, wrote the solution myself
Commit: 77cc8841df4f1ced13ff16e7338b0f5625ad3850
https://github.com/llvm/llvm-project/commit/77cc8841df4f1ced13ff16e7338b0f5625ad3850
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_bfloat16_load_store_xchg.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_load_store_xchg_cmpxchg.ll
M llvm/test/CodeGen/SPIRV/transcoding/load-atomic.ll
M llvm/test/CodeGen/SPIRV/transcoding/store-atomic.ll
Log Message:
-----------
[SPIRV] Preserve FP types in atomic load/store instead of casting to integer (#194583)
The default
`TargetLowering::shouldCastAtomicLoadInIR`/`shouldCastAtomicStoreInIR`
cast all FP atomics to integer, producing unnecessary bitcasts in SPIR-V
output. Override both to return None, matching the existing
`shouldCastAtomicRMWIInIR` behavior and letting
`OpAtomicLoad`/`OpAtomicStore` operate on FP types directly.
Also updated 16-bit atomics tests from #184312 to use native load/store
atomic instructions now that the SPIRV backend supports them (landed in
#185696).
AI-assisted: Claude Sonnet 4.6 (commercial SaaS)
Commit: e56187575b740a182288244a2304d4ae1592b3ff
https://github.com/llvm/llvm-project/commit/e56187575b740a182288244a2304d4ae1592b3ff
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ArrayRef] Make iterator_range constructor const-agnostic (#205183)
Make the enable_if guard const-agnostic to help some use-cases.
Commit: 0fd9b71a397c77bc6671df3b0fbeb41fa8c73fed
https://github.com/llvm/llvm-project/commit/0fd9b71a397c77bc6671df3b0fbeb41fa8c73fed
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[NFC][LLVM][Verifier] Use auto when assigning result of `dyn_cast` (#207343)
Commit: 627b1645051f7b6b59aef446a43e59f6696e250f
https://github.com/llvm/llvm-project/commit/627b1645051f7b6b59aef446a43e59f6696e250f
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
Log Message:
-----------
[AMDGPU] Remove obsolet __keep_alive declare in test (#207418)
__keep_alive doesn't exist anymore since
https://reviews.llvm.org/D151324
Commit: 554e32395cd552dd36d3511d177f01735937d4f9
https://github.com/llvm/llvm-project/commit/554e32395cd552dd36d3511d177f01735937d4f9
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h
Log Message:
-----------
[compiler-rt][sanitizer_common] Remove internal linkage from RegisterFlag (NFC) (#206308)
RegisterFlag is a static function template in a header, so every TU that
includes it without calling it trips `-Wunused-template`. Dropping
static gives it normal external linkage and clears the warning.
NFC. Part of #202945.
Commit: d24f20ab649a28dd48b09c0bebc1f255e7ebf909
https://github.com/llvm/llvm-project/commit/d24f20ab649a28dd48b09c0bebc1f255e7ebf909
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86DisassemblerTables.h
Log Message:
-----------
[X86] Pool sparse disassembler opcode rows (#202666)
The XOP, 3DNow, and VEX/EVEX map 4-7 decoder tables contain 1,760
context rows but only 266 distinct values. Keep the four common opcode
maps as direct tables and intern rows only for these eight sparse maps.
This reduces fully stripped arm64 llvm-mc from 8,333,344 to 6,797,728
bytes, saving 1,535,616 bytes (18.43%). X86Disassembler.cpp.o decreases
by 1,525,328 bytes (52.36%); constant data falls by 1,526,328 bytes
while text grows by 848 bytes. The stripped all-tools multicall binary
decreases from 145,103,200 to 143,567,584 bytes, saving 1,535,616 bytes
(1.058%).
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 11d2e989db34fb2a94ff6574f43d1fb3f9a84fa5
https://github.com/llvm/llvm-project/commit/11d2e989db34fb2a94ff6574f43d1fb3f9a84fa5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[X86] known-pow2.ll - regenerate checks to reduce diff in a future patch (#207425)
Commit: 80f2ae4b5681f9324795691bcad0e81c06fba69b
https://github.com/llvm/llvm-project/commit/80f2ae4b5681f9324795691bcad0e81c06fba69b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
Log Message:
-----------
[X86] zero_extend_vector_inreg.ll - regenerate checks to reduce diff in a future patch (#207424)
Commit: 4f64218c2aee2d0a74838d4b5adf3bbb1fbffea5
https://github.com/llvm/llvm-project/commit/4f64218c2aee2d0a74838d4b5adf3bbb1fbffea5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Add m_VScale() pattern matcher. (NFC) (#207394)
Add a dedicated m_VScale() matcher for VPInstruction::VScale, in line
with other VPInstruction matchers.
Commit: 14d98081a574c3c5f342e2d2e958a514369fa2f2
https://github.com/llvm/llvm-project/commit/14d98081a574c3c5f342e2d2e958a514369fa2f2
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_checks.h
Log Message:
-----------
[compiler-rt][hwasan] Remove internal linkage from check templates (NFC) (#207430)
`SigTrap`, `CheckAddress`, and `CheckAddressSized` are static function
templates in `hwasan_checks.h`, so any TU that includes the header
without instantiating them trips -Wunused-template. Dropping static
clears the warning.
Part of #202945
Commit: 210834279ac6c3c47fdbe8dfe112c625f429e869
https://github.com/llvm/llvm-project/commit/210834279ac6c3c47fdbe8dfe112c625f429e869
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/injected-class-name-crash.cpp
Log Message:
-----------
[clang] fix redeclarations of the injected class name (#207301)
The declaration used to represent an injected class name should never be
part of any redeclaration chain.
Fixes #202320
Commit: b6976d223eeb40091685e3b20e9c41f42f6bd6e0
https://github.com/llvm/llvm-project/commit/b6976d223eeb40091685e3b20e9c41f42f6bd6e0
Author: Neil Nair <neilnair4 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/Markdown.cpp
A clang-tools-extra/clang-doc/support/Markdown.h
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
A clang-tools-extra/unittests/clang-doc/MarkdownParserTest.cpp
Log Message:
-----------
[clang-doc] Add Markdown AST node type definitions (#205609)
Markdown AST node hierarchy for clang-doc/support. Separate Block and
Inline node hierarchies using llvm::ilist_node and llvm::simple_ilist.
Virtual print() in base classes with LLVM_DUMP_METHOD dump() inherited
by subclasses. clangDocMarkdown is its own CMake target. Unit tests
exercise node construction, accessors, and children. Assisted-by: Claude
Commit: 297261502dcf30ad06f45edd4a250f4f3af27014
https://github.com/llvm/llvm-project/commit/297261502dcf30ad06f45edd4a250f4f3af27014
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
Log Message:
-----------
[X86] fmaddsub-combine.ll - remove 128/256-bit buildvector tests (#207436)
These are covered by PhaseOrdering/X86/fmaddsub.ll which outputs the
vectorized shuffle patterns already tested for in fmaddsub-combine.ll
and fmsubadd-combine.ll
Minor cleanup for #144489
Commit: 320a8a4db8720ac54ee37eedeb92dbe452a86dcb
https://github.com/llvm/llvm-project/commit/320a8a4db8720ac54ee37eedeb92dbe452a86dcb
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fptrunc.ll
Log Message:
-----------
[InstCombine] Don't blindly copy ninf when narrowing fptrunc(binop(fpext, fpext)) (#202489)
The fold narrows fptrunc(BO(fpext x, fpext y)) -> BO(x, y) for
fadd/fsub/fmul/fdiv, recomputing the binop directly in the narrower
type.
Even if the original BO returns a finite result, the fptrunc may produce
inf. Therefore even if the original BO has ninf, we have to drop it on
the new BO unless the original fptrunc *also* has ninf.
Commit: 63b19740e0bc4a145ed9b4dd4273123a0ed2247d
https://github.com/llvm/llvm-project/commit/63b19740e0bc4a145ed9b4dd4273123a0ed2247d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll
Log Message:
-----------
[ValueTracking] Fix frexp exponent range for nan/inf inputs (#202447)
computeConstantRange() returns a bounded range for the exponent result of
llvm.frexp.
frexp's exponent is unspecified when the argument is nan or inf,
so we can assign such a range only if we know the argument is
not nan or inf.
Commit: cbb277a718bd9a8ee28df177f42313cda00cb3f6
https://github.com/llvm/llvm-project/commit/cbb277a718bd9a8ee28df177f42313cda00cb3f6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
[libc++abi][NFC] Avoid out parameter in dyn_cast_get_derived_info (#207326)
Returning the object is much more idiomatic than having an out
parameter.
Commit: 3f724494ef0f0bd7d6e74fee7c526567910e6f87
https://github.com/llvm/llvm-project/commit/3f724494ef0f0bd7d6e74fee7c526567910e6f87
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add VPBuilder::createVScale (NFC) (#207401)
Add a VPBuilder::createVScale helper (mirroring IRBuilder::CreateVScale)
and use it at the existing sites that create a VScale VPInstruction.
Commit: 796dc153395846413591e6c35324f738d214e32f
https://github.com/llvm/llvm-project/commit/796dc153395846413591e6c35324f738d214e32f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn] Fix mistake from 4df00678d86fe (#207451)
Commit: 07ef930cd2aa519f78f2542122a7911a210f02a0
https://github.com/llvm/llvm-project/commit/07ef930cd2aa519f78f2542122a7911a210f02a0
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn
Log Message:
-----------
[gn build] Port 24476abfac20 (#207452)
Commit: e96a42daca51802041eb795aa7da95e273885c52
https://github.com/llvm/llvm-project/commit/e96a42daca51802041eb795aa7da95e273885c52
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M libcxx/test/benchmarks/spec.gen.py
M libcxx/utils/run-spec-benchmark
Log Message:
-----------
[libc++] Fix SPEC benchmarks not producing a .lnt result file (#207450)
The refactoring in 471e8f7f94e7 removed the output of a .lnt file, which
is necessary for interoperation with consolidate-benchmarks.
Commit: fbbf5df32b42dc8fa5dd6ed03b28f366734c2778
https://github.com/llvm/llvm-project/commit/fbbf5df32b42dc8fa5dd6ed03b28f366734c2778
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port 282416b6d457 (#207453)
Commit: 0576c32331eaf12d2cd4cfbed9baec01cb205091
https://github.com/llvm/llvm-project/commit/0576c32331eaf12d2cd4cfbed9baec01cb205091
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port bd338806e423 (#207455)
Commit: a6f54816073f0c275c8710a6281d156a94133322
https://github.com/llvm/llvm-project/commit/a6f54816073f0c275c8710a6281d156a94133322
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
Log Message:
-----------
[gn build] Port b6976d223eeb (#207454)
Commit: 296ab5b036138914851839bf9632ce82a12192d4
https://github.com/llvm/llvm-project/commit/296ab5b036138914851839bf9632ce82a12192d4
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn
Log Message:
-----------
[gn build] Port e69038f9c2b1 (#207457)
Commit: 66ae5b8f699a31240a738311e4acc81ef3ce700b
https://github.com/llvm/llvm-project/commit/66ae5b8f699a31240a738311e4acc81ef3ce700b
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn
Log Message:
-----------
[gn build] Port f1aeaa7bd552 (#207458)
Commit: 0418a88ae67165a2f7af0e25ad34fdaa84df3b21
https://github.com/llvm/llvm-project/commit/0418a88ae67165a2f7af0e25ad34fdaa84df3b21
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/zos_wrappers/grp.h
A clang/lib/Headers/zos_wrappers/locale.h
A clang/lib/Headers/zos_wrappers/math.h
A clang/lib/Headers/zos_wrappers/poll.h
A clang/lib/Headers/zos_wrappers/string.h
A clang/lib/Headers/zos_wrappers/time.h
A clang/lib/Headers/zos_wrappers/variant.h
A clang/test/Headers/Inputs/zos/usr/include/grp.h
A clang/test/Headers/Inputs/zos/usr/include/locale.h
A clang/test/Headers/Inputs/zos/usr/include/math.h
A clang/test/Headers/Inputs/zos/usr/include/poll.h
A clang/test/Headers/Inputs/zos/usr/include/string.h
A clang/test/Headers/Inputs/zos/usr/include/time.h
A clang/test/Headers/Inputs/zos/usr/include/variant.h
A clang/test/Headers/zos-guard.c
Log Message:
-----------
[z/OS][Clang] Reland Add wrapper headers to avoid macro name conflicts (#204472) (#207420)
Some z/OS system headers define macros (e.g. __time, __math) that
conflict with user identifiers and break compilation. These wrappers
include the system headers and neutralize the problematic macros.
Reland of 04079deb547c91eff6c6e2b820dbe6937c72fcf5.
Add systemz-registered-target requirement to zos-guard.c.
Commit: e0289ad97908460c5dadbc4aefb3ad22cd8ac054
https://github.com/llvm/llvm-project/commit/e0289ad97908460c5dadbc4aefb3ad22cd8ac054
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
A llvm/test/CodeGen/RISCV/rvp-bitreverse-zbkb.ll
Log Message:
-----------
[RISCV][P-ext] Use brev8 for bitreverse with Zbkb (#207338)
Resolves the FIXME.
Commit: 4fd535388e1b52122259db6686bf7f5c2468edf0
https://github.com/llvm/llvm-project/commit/4fd535388e1b52122259db6686bf7f5c2468edf0
Author: Nico Weber <thakis at chromium.org>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 0418a88ae671 (#207463)
Commit: a9c5602da71ada68dfebd5bbe311f88baa8a72c5
https://github.com/llvm/llvm-project/commit/a9c5602da71ada68dfebd5bbe311f88baa8a72c5
Author: AZero13 <gfunni234 at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
A llvm/test/CodeGen/PowerPC/abdu-neg.ll
A llvm/test/CodeGen/PowerPC/abdu.ll
M llvm/test/CodeGen/PowerPC/misched.ll
Log Message:
-----------
[PowerPC] Custom Lower ABDU using branchless carry (#182704)
In normal abs, we already do this but with asr 31 instead of sbc, which
we can get directly from the subtraction.
Commit: 37fa9c4b74e93ce3055804f51caa1ca2c11219c8
https://github.com/llvm/llvm-project/commit/37fa9c4b74e93ce3055804f51caa1ca2c11219c8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-trip-count-decisions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/alias-mask-force-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/X86/clmul.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
Log Message:
-----------
[LAA] Use (Diff - 1) <u (Threshold - 1) for diff checks. (#188462)
Update diff checks to use (Diff - 1) <u (Threshold - 1), equivalent to 0
< Diff <u Threshold, to exclude Diff == 0, equal pointers are a safe
loop-independent dependence.
Alive2 proofs https://alive2.llvm.org/ce/z/_ss9QG
* (Diff - 1) <u (Threshold - 1) => 0 < Diff <u Threshold
* Old and new check are equivalent, if diff > 0:
On some platforms, this adds an extra instruction to compute the diff
check, but allows to handle the case where both pointers are equal.
PR: https://github.com/llvm/llvm-project/pull/188462
Commit: 5de2fb5112d03e319035e3c147e08c0db506cce8
https://github.com/llvm/llvm-project/commit/5de2fb5112d03e319035e3c147e08c0db506cce8
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
Log Message:
-----------
[VPlan] Simplify VPHierarchicalChildrenIterator::operator*. NFC (#207464)
This is like a pointer-valued iterator, whose constness should not
qualify the pointee ( `vector<T*>::const_iterator` yields `T*`, not
`const T*`), so collapse the two overloads into a single `BlockPtrTy
operator*() const`.
Commit: 1381ef49fc5cc8c5bd76aa9b86fdf2507312d78d
https://github.com/llvm/llvm-project/commit/1381ef49fc5cc8c5bd76aa9b86fdf2507312d78d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.md
M clang/docs/ReleaseNotesTemplate.txt
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Options/Options.td
M clang/include/clang/Testing/TestLanguage.def
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/unknown-std.cpp
M clang/test/Preprocessor/init.c
M clang/unittests/Basic/LangOptionsTest.cpp
M clang/www/OpenProjects.html
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[Clang] Add flags and lang option for C++2d (#203992)
This adds diagnostic groups, command-line options, a language option,
and various other things required to support `-std=c++2d`. I haven’t
touched e.g. clang-tidy or clang-format, as I’m not really familiar w/
either. This is only meant to add the most necessary parts to support
C++29 mode.
I grepped for `CPlusPlus26`/`C++26`/`C++2c` and updated all places I
could find where we need to handle every language mode in some way or
another.
This patch is roughly based on b763d6a4ed4650c74c6846d743156468563b0e31.
Commit: bf68b4165c419f1893d0668bb05630e33c2efe8c
https://github.com/llvm/llvm-project/commit/bf68b4165c419f1893d0668bb05630e33c2efe8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Log Message:
-----------
[LV] Implement VPBuilder::createPtrAdd with createNoWrapPtrAdd (NFC) (#207467)
createPtrAdd is exactly createNoWrapPtrAdd with GEPNoWrapFlags::none().
Forward to it instead of duplicating the VPInstruction construction.
Commit: 76357610925cbc76f3a084dea730f97db8fe7464
https://github.com/llvm/llvm-project/commit/76357610925cbc76f3a084dea730f97db8fe7464
Author: David Tenty <daltenty at ibm.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/Object/ObjectFile.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
Log Message:
-----------
[llvm][object] handle GOFF in createObjectFile (#206636)
`ObjectFile::createObjectFile` doesn't handle GOFF and returns an error,
even though the requisite GOFF support is present (i.e.
`createGOFFObjectFile`). This change corrects this, and adds a simple
test for `createObjectFile` on a GOFF type object.
Commit: 0f1f456263b5889935514ecf81440d0909d06dc7
https://github.com/llvm/llvm-project/commit/0f1f456263b5889935514ecf81440d0909d06dc7
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-07-03 (Fri, 03 Jul 2026)
Changed paths:
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
M llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
M llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
A llvm/test/FileCheck/unmatched-substs-captures.txt
Log Message:
-----------
[FileCheck] Call out var captures on unmatched patterns (#206303)
This patch is motivated by an #llvm IRC chat in 2019 with @AaronBallman,
where he pointed out an example similar to following:
```
$ cat input
[[clang::optnone]] void foo() {
$ cat check
CHECK: [[clang::optnone]] void foo() {
$ FileCheck check < input |& tail -7
Input was:
<<<<<<
1: [[clang::optnone]] void foo() {
check:1'0 { } search range (exclusive bounds)
check:1'1 error: no match found
check:1'2 ? possible intended match
>>>>>>
```
It is very easy to miss why that fails. This patch adds one more note
that hopefully clears up the confusion:
```
$ FileCheck check < input |& tail -8
Input was:
<<<<<<
1: [[clang::optnone]] void foo() {
check:1'0 { } search range (exclusive bounds)
check:1'1 error: no match found
check:1'2 pattern attempts to capture variables: "clang"
check:1'3 ? possible intended match
>>>>>>
```
That is, where matching patterns print successful variable captures,
this patch makes unmatching patterns print attempted variable captures.
Commit: 951a60861a9998c429f833364480265a0c5dd052
https://github.com/llvm/llvm-project/commit/951a60861a9998c429f833364480265a0c5dd052
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Source.h
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Move the program counter into `InterpState` (#207393)
Instead of using a local variable for the PC, save it in `InterpState`.
Only comparatively few opcodes care about it, but with exceptions, all
calls ops can change the PC. Saving it in the `InterpState` makes it
easier to have opcode implementation jump around in bytecode.
Commit: 5b53190d1209bca676ca60797a30bdd3593edbb1
https://github.com/llvm/llvm-project/commit/5b53190d1209bca676ca60797a30bdd3593edbb1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Remove unused local variable (#207480)
It's unnecessary and broke a builder:
https://lab.llvm.org/buildbot/#/builders/228/builds/3735
Commit: 238dbdce63b41b4da1f808b78e3d143f1635642b
https://github.com/llvm/llvm-project/commit/238dbdce63b41b4da1f808b78e3d143f1635642b
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeImplementation.h
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/IR/BytecodeBase.td
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
Log Message:
-----------
[mlirbc] Add IntegerSetAttr (#207482)
Serialize IntegerSetAttr using VarInt for numDims and numSymbols and
arrays for contraints and eqFlags. Add ArrayWithKnownSize` an Array
variant that omits the length prefix when the size is known from a
previously serialized member. This avoids encoding redundant array
lengths when, for example, two arrays are always the same size.
Assisted-By: Gemini
Commit: db0f427a25a4caae97679a4a0caf05aed5dd47f5
https://github.com/llvm/llvm-project/commit/db0f427a25a4caae97679a4a0caf05aed5dd47f5
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
Log Message:
-----------
[compiler-rt][nsan] Remove unused checkValueConsistency template (NFC) (#207441)
checkValueConsistency is a static function template in nsan.cpp with no
callers, so it trips -Wunused-template. Remove the dead code.
Part of #202945
Commit: 99c1a8c36e9f5d9d448c377edc0f10e6bea7e6e9
https://github.com/llvm/llvm-project/commit/99c1a8c36e9f5d9d448c377edc0f10e6bea7e6e9
Author: Daniel Cederman <cederman at gaisler.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Target/Sparc/LeonPasses.cpp
M llvm/lib/Target/Sparc/LeonPasses.h
A llvm/test/CodeGen/SPARC/tn0010.ll
M llvm/test/CodeGen/SPARC/tn0010.mir
Log Message:
-----------
[Sparc] Handle two new cases in the GRLIB-TN-0010 workaround pass (#205780)
Handle the case of an empty block or an indirect branch.
Commit: c874b1b4b2bd3cefb3479c9fc82af67883b20d28
https://github.com/llvm/llvm-project/commit/c874b1b4b2bd3cefb3479c9fc82af67883b20d28
Author: Jacques Pienaar <jacques+gh at japienaar.info>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
M mlir/test/Dialect/Builtin/Bytecode/types.mlir
Log Message:
-----------
[mlirbc] Address remaining missing encodings for builtin dialect. (#207488)
Simple ones that got missed (graph & strided layout), and add some
additional tests. Also update the fixed test.
Assisted-By: Gemini
Commit: b2755364764f0159a0e74a7111c3fc2140ec43ee
https://github.com/llvm/llvm-project/commit/b2755364764f0159a0e74a7111c3fc2140ec43ee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Remove LowerToHorizontalOp vectorization lowering code (#207406)
Thanks to improvements to SLP, InstCombine and VectorCombine - we should
no longer see any of the scalar code hadd/sub patterns in the backend.
This allows to remove the old
build_vector(x[0]+x[1],x[2]+x[3],y[0]+y[1],y[2]+y[3]) lowering entirely,
and just rely on the combineToHorizontalAddSub folds from
add(shuffle(x,y),shuffle(x,y)) patterns.
Fixes #143000
Commit: 0649b2e7b39c7f0614b0a8862ec0097ea6f497d7
https://github.com/llvm/llvm-project/commit/0649b2e7b39c7f0614b0a8862ec0097ea6f497d7
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang-tidy] Fix FP in misc-const-correctness (#206515)
`ExprPointeeResolve` now resolves through the `int*` to `void*` bitcast
when the destination pointee is non-const
Fixes https://github.com/llvm/llvm-project/issues/206429.
Commit: f78d4b083b462607b518db6fed5ac8204de95e13
https://github.com/llvm/llvm-project/commit/f78d4b083b462607b518db6fed5ac8204de95e13
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use findUserOf to improve addReductionResultComputation (NFC) (#207427)
Commit: 38ecfd2c0d9acef2ea328fb88550a3846ac5c9fe
https://github.com/llvm/llvm-project/commit/38ecfd2c0d9acef2ea328fb88550a3846ac5c9fe
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/TargetProperties.td
A lldb/test/API/functionalities/fork/stop/Makefile
A lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
A lldb/test/API/functionalities/fork/stop/main.c
A lldb/test/Shell/Subprocess/stop-on-fork.test
A lldb/test/Shell/Subprocess/stop-on-vfork.test
Log Message:
-----------
[lldb] Add stop-on-fork and stop-on-vfork settings (#188710)
Added support for new `target.process.stop-on-fork` and
`target.process.stop-on-vfork` settings. GDB already has ability to set
[catchpoints](https://www.sourceware.org/gdb/current/onlinedocs/gdb.html/Set-Catchpoints.html)
on `fork` and `vfork`, so having this feature in LLDB might be useful
(e.g. use it to get pid of new process and attach to the new process
from different console).
Commit: e173245deeaa234064c23f4185998f06f0778a86
https://github.com/llvm/llvm-project/commit/e173245deeaa234064c23f4185998f06f0778a86
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
Log Message:
-----------
[LV] Add test with BuildVector select condition. (NFC) (#207506)
Add test case causing revert 638d71403 (revert of #206774).
Commit: 645e02b88248103e8cce0c9ab605e6eaa70c0f07
https://github.com/llvm/llvm-project/commit/645e02b88248103e8cce0c9ab605e6eaa70c0f07
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
Log Message:
-----------
[lldb] Disable TestStopOnForkAndVFork on remote targets (#207509)
Fix CI after merge of #188710
Commit: bf09114d6164f522508ae80921a63c5a080c183d
https://github.com/llvm/llvm-project/commit/bf09114d6164f522508ae80921a63c5a080c183d
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[mlir][cmake][NFC] Remove duplicate `tablegen_compile_commands.yml` append (#207510)
The append-logic of the compile command is already performed by the
`tablegen` function, there is no need to replicate the logic twice.
Commit: 72070deb4d811cce31154257a1acfca74d738130
https://github.com/llvm/llvm-project/commit/72070deb4d811cce31154257a1acfca74d738130
Author: janr-bay <jrehders at baylibre.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Extend fltSemantics with field for explicit integer bit (#204860)
This is one more step towards being able to make APFloat extensible with
custom formats in the future.
fltSemantics gained a new flag to indicate the presence of an explicit
integer bit as specified by the x86 double extended precision format.
The special case implementation for initFromF80LongDoubleAPInt has been
merged into initFromIEEEAPInt.
Also adding tests for x87DoubleExtended bit conversion.
initFromF80LongDoubleAPInt was called only twice during in all APFloat
unit tests together. Testing common cases, boundary conditions, and the
special cases documented in IEEEFloat::initFromF80LongDoubleAPInt.
Commit: b3e8d7ebed1dc50bce3348d1508316cc6a493133
https://github.com/llvm/llvm-project/commit/b3e8d7ebed1dc50bce3348d1508316cc6a493133
Author: Kim Gräsman <kim.grasman at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/lib/Headers/avx512vp2intersectintrin.h
Log Message:
-----------
[X86] Update #error to mention the right header name (#207507)
Practically every internal intrinsics header has a little public/private
check to force users to use public *intrin.h header names.
avx512vp2intersectintrin.h is the only one with a discrepancy between
the #error directive and the actual filename.
Fix them to agree. No functional change expected.
Commit: 06554227c7005f90fee66925d9acbe249329b005
https://github.com/llvm/llvm-project/commit/06554227c7005f90fee66925d9acbe249329b005
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
Log Message:
-----------
Reapply "[VPlan] Replace first-lane uses of BuildVector." (#206774) (#207512)
This reverts commit 638d71403a8598bb061b874ab39b8f9c6f0a97f0.
Recommit with fix for root cause of the revert:
VPWidenRecipe::onlyFirstLaneUsed was incorrectly assuming all operands
defined outside loop region are invariant, which is not true (e.g.
BuildVector). Test added in e173245deeaa2340.
Original message:
Replace uses of the first lane of a BuildVector with the first operand.
Commit: 6ae9fe5e285847107ca47ace4368ca0cde894108
https://github.com/llvm/llvm-project/commit/6ae9fe5e285847107ca47ace4368ca0cde894108
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/CIR/Dialect/CMakeLists.txt
M clang/include/clang/Parse/CMakeLists.txt
M clang/include/clang/Sema/CMakeLists.txt
M clang/include/clang/Serialization/CMakeLists.txt
M clang/lib/AST/CMakeLists.txt
M clang/lib/Headers/CMakeLists.txt
M llvm/include/llvm/TargetParser/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[cmake][NFC] Use `EXTRA_INCLUDES` in `tablegen` commands (#207514)
Not only is it more declarative than using the `-I` directory, it
additionally adds the given directory to the
`tablegen_compile_commands.yml` which allows the LSP and IDE tooling to
also be aware of the extra include directories used to compile that
TableGen file
Commit: b105f35c2d0befe65545092894a2a2d292192582
https://github.com/llvm/llvm-project/commit/b105f35c2d0befe65545092894a2a2d292192582
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Unify "this pointer" naming in interp::Function (#207410)
Commit: 103f170a390e69a032fcb4333e6ed68e6112a3a5
https://github.com/llvm/llvm-project/commit/103f170a390e69a032fcb4333e6ed68e6112a3a5
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
A llvm/test/tools/llvm-pdbutil/opt-docnum.test
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
[llvm-pdbutil] Support `--docnum` for yaml2pdb (#207058)
I saw that yaml2obj has this option to select the nth yaml document.
This makes it easy to group multiple outputs together. For example a
COFF yaml + PDB yaml in one file.
As a semi-related change, I also declared the yaml2pdb options in
`llvm-pdbutil.h`. clang-tidy complains about them being only in the
source file (could be static in that case).
Commit: 64f834271e07350a921f6abe925e5a11cd7da562
https://github.com/llvm/llvm-project/commit/64f834271e07350a921f6abe925e5a11cd7da562
Author: disservin <disservin.social at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang] Remove always false comparisons (#207504)
```
llvm-project/clang/lib/Sema/SemaTemplateVariadic.cpp:1371:16: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
1371 | if (*Index < 0 || *Index >= ExpandedExprs.size()) {
| ~~~~~~~^~~
llvm-project/clang/lib/Sema/SemaType.cpp:10130:32: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
10130 | if (FullySubstituted && (V < 0 || V >= Expansions.size())) {
```
https://github.com/llvm/llvm-project/commit/9b132a2ff80dac4bc8e78b242bebb97551c292c7
changed the types from int64_t to uint64_t so those comparisons are
always false now
Commit: 4a2ad970c6fe783f026be47292be93b6cdfe7d9b
https://github.com/llvm/llvm-project/commit/4a2ad970c6fe783f026be47292be93b6cdfe7d9b
Author: satyanarayana reddy janga <satyajanga at gmail.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
M lldb/unittests/Utility/ArchSpecTest.cpp
Log Message:
-----------
[lldb] Add AMD GPU architectures to ArchSpec (#206369)
## Summary
Teach ArchSpec and ObjectFileELF about AMD (R600 and GCN/amdgcn) GPU
architectures so GPU ELF object files and triples resolve to a precise
architecture.
## Tests:
unit-test the ELF-header -> architecture mapping in ArchSpecTest and an
end-to-end AMDGPU ELF in TestObjectFileELF.
The processor list, e_flags machine values, OSABI and ABI versions
follow llvm/include/llvm/BinaryFormat/ELF.h (AMDGPU_MACH_LIST) and the
AMDGPU code-object spec documented at
https://llvm.org/docs/AMDGPUUsage.html.
Commit: e395479d5cf45246f8bd6636a72274df8f225be5
https://github.com/llvm/llvm-project/commit/e395479d5cf45246f8bd6636a72274df8f225be5
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[GenericDomTreeConstruction] Speed up Semi-NCA construction (#207474)
Run the immediate-dominator step in DFS-number space instead of chasing
NodePtr IDom through getNodeInfo()/getNumber(), and drop the redundant
NumToInfo[Semi]->DFSNum lookup. Use an inline capacity 32 (sqlite3's p90
is ~29 blocks), with no measurable gain from a larger inline buffer.
NumToInfo and IDoms are filled with resize_for_overwrite: index 0 is an
unused sentinel (DFS numbering is 1-based) and every other slot is
written before it is read, so the value-init and push_back bookkeeping
are dead.
Make getChildren return a lazy filtered range and iterate it directly in
runDFS's common case, instead of materializing a SmallVector per node
just to push its successors onto the worklist.
clang::CFGBlock::AdjacentBlock still needs special handling: it is a
proxy convertible to CFGBlock* that can be null for unreachable edges
(also see commit 7ea0ee30588e), and it is not easy to migrate off.
Commit: 580fac02f4ca7be5a04062c19044d261152c42fd
https://github.com/llvm/llvm-project/commit/580fac02f4ca7be5a04062c19044d261152c42fd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
Log Message:
-----------
[SLP][NFC]Remove undefs, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/207518
Commit: 1ceada6b6466d09c73c367ea8c664df47570efb8
https://github.com/llvm/llvm-project/commit/1ceada6b6466d09c73c367ea8c664df47570efb8
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/docs/PDB/CodeViewSymbols.rst
Log Message:
-----------
[Docs][CodeView] Document `S_LOCAL` and `S_DEFRANGE*` (#190156)
As suggested in
https://github.com/llvm/llvm-project/pull/187709#issuecomment-4120922355,
this adds documentation for both `S_LOCAL` and the known `S_DEFRANGE*`
records.
In all descriptions, I put struct definition with comments, because it
describes both the layout and the function of each member. Some comments
are from the original PDB repo
(https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/include/cvinfo.h#L4209-L4291).
Many structs in LLVM itself don't have these comments. I think we should
also add them there.
Commit: 33be7999a363dd6a870baaebf5cd871309b668b0
https://github.com/llvm/llvm-project/commit/33be7999a363dd6a870baaebf5cd871309b668b0
Author: 8051Enthusiast <8051Enthusiast at protonmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Analysis/DemandedBits.cpp
M llvm/test/Analysis/DemandedBits/intrinsics.ll
Log Message:
-----------
[DemandedBits] Track demanded bits for clmul instrinsics (#202415)
Similar to regular multiplication, carryless multiplication does not
depend on bits in positions higher than the output bits.
Commit: 143e5bf1935cc5a5f94f27ea2a17969100a5ca5b
https://github.com/llvm/llvm-project/commit/143e5bf1935cc5a5f94f27ea2a17969100a5ca5b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove redundant VPIRValue cast in ::computeCost (NFC) (#207525)
We can directly cast o VPConstantInt.
Commit: 5b23e226ed8a38b725253748e623ad9bf27ac4a4
https://github.com/llvm/llvm-project/commit/5b23e226ed8a38b725253748e623ad9bf27ac4a4
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
Log Message:
-----------
[LifetimeSafety][NFC] Support printing propagated loans in Fact::dump (#207526)
This patch updates Fact::dump to accept an optional
LoanPropagationAnalysis parameter.
If provided, OriginFlowFact::dump will query it to print the loans held
by the destination origin.
This enables richer debug output for LifetimeFacts.
Commit: 7a3767e361cc0d6acc8e1568727a54d9b0d0b525
https://github.com/llvm/llvm-project/commit/7a3767e361cc0d6acc8e1568727a54d9b0d0b525
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Only pass OpPC if needed (#207479)
Quite a few opcode implementations don't ever report a diagnostic, so
they don't need the `OpPC` at all. Add a tablegen bit to disable passing
`OpPC` altogether.
Commit: fa7d2a86bfb22f8ff5961ab1b1bcda42c5da49ff
https://github.com/llvm/llvm-project/commit/fa7d2a86bfb22f8ff5961ab1b1bcda42c5da49ff
Author: Kazu Hirata <kazu at google.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/ProfileData/SampleProfWriter.cpp
Log Message:
-----------
[ProfileData] Fix formatting (#207442)
I've been working in this area, and I keep running into some of the
formatting issues fixed in this patch.
Commit: 725051d69b733910226687a99dacc6ffc8805aab
https://github.com/llvm/llvm-project/commit/725051d69b733910226687a99dacc6ffc8805aab
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M clang-tools-extra/test/clang-doc/html/long-name.cpp
Log Message:
-----------
Mark test introduced in #205586 as unsupported on Windows because it creates paths that are too long (#207476)
Commit: 3eb53013dca38fc0fa0c0e11de9fef1a7a14b9c7
https://github.com/llvm/llvm-project/commit/3eb53013dca38fc0fa0c0e11de9fef1a7a14b9c7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Make VPRegionValue a subclass of VPSymbolicValue. (NFC) (#196753)
Turn VPRegionValue into a subclass of VPSymbolicValue, ensuring we also
guard against premature RAUW of region values.
Split off from approved https://github.com/llvm/llvm-project/pull/196199
PR: https://github.com/llvm/llvm-project/pull/196753
Commit: 2925ca216d5a3d87697484a085dd63d6bfd3a655
https://github.com/llvm/llvm-project/commit/2925ca216d5a3d87697484a085dd63d6bfd3a655
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/lib/Analysis/AssumptionCache.cpp
M llvm/test/Analysis/AssumptionCache/basic.ll
M llvm/test/Transforms/InstCombine/assume-cache-update.ll
Log Message:
-----------
[AssumptionCache] Properly print assume operand bundles. (#207501)
Update AssumptionCache printing to print operand bundles, instead of
just printing true which does not provide any useful information.
Commit: eaa33893a5d45031f2f5f180b897aeaaa25aab42
https://github.com/llvm/llvm-project/commit/eaa33893a5d45031f2f5f180b897aeaaa25aab42
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
Log Message:
-----------
[VPlan] Add additional memory decision tests. (NFC) (#207537)
Add extra tests showing additional cases where no VPlan-based decisions
are made yet.
Commit: c98a157d7d76f982d3e1a12db23b47196ac358d4
https://github.com/llvm/llvm-project/commit/c98a157d7d76f982d3e1a12db23b47196ac358d4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
Log Message:
-----------
[SLP][NFC]Update test to avoid instructions folding, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/207544
Commit: 7f449d38cd9d203af2be106210f3ef9c30597ebe
https://github.com/llvm/llvm-project/commit/7f449d38cd9d203af2be106210f3ef9c30597ebe
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-04 (Sat, 04 Jul 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
Log Message:
-----------
[SLP][NFC]Remove undef from the test, cleanup, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/207545
Commit: f33eb913f97734b97318a680f69d41d814201523
https://github.com/llvm/llvm-project/commit/f33eb913f97734b97318a680f69d41d814201523
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
Log Message:
-----------
[AMDGPU][NFC] Remove direct access to FeatureKV (#206231)
This is preparatory work for changing the representation of
FeatureKV/SubTypeKV, in which they will no longer be that easily
accessible as global variables. Therefore, get them from the subtarget
instead.
Commit: 6b3433ae19000d0900126678388e30fe5b4eb721
https://github.com/llvm/llvm-project/commit/6b3433ae19000d0900126678388e30fe5b4eb721
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/lib/MC/MCInstrInfo.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[MC][NFC] Generate ComplexDeprecationInfos as function (#207496)
The only user of ComplexDeprecationInfos is ARM, where 19 instructions
are deprecated. Instead of emitting a ~36kiB function pointer table,
emit a single 201B (x86-64) function switching over the opcodes.
Commit: 3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465
https://github.com/llvm/llvm-project/commit/3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/Support/FormatAdapters.h
M llvm/include/llvm/Support/FormatCommon.h
M llvm/include/llvm/Support/FormatProviders.h
M llvm/include/llvm/Support/FormatVariadic.h
M llvm/include/llvm/Support/FormatVariadicDetails.h
M llvm/lib/Support/FormatVariadic.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/unittests/ADT/TwineTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M mlir/include/mlir/TableGen/Format.h
M mlir/lib/TableGen/Format.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[Support] Remove virtual functions from formatv (#207516)
Currently, formatv erases types using a base class and calls the virtual
function format() to format the objects. To avoid these vtables,
refactor formatv to instead store function_refs to a functor (struct
with overloaded operator()). This saves ~5kiB in vtables.
Additionally, add a static assertion that a formatter is present instead
of relying on errors due to missing templates. This requires a little
change to MLIR's tgfmt to use a different name -- previously, the
substitution failure on ArrayRef<> would cause the variadic function to
be skipped, but a static assertion failure is not a substitution error.
Also, simplify the code in FormatVariadicDetails to use if constexpr
instead of template overloads with enable_if, making the code shorter
and easier to read.
Commit: 5ec0eee3a67ec0f8aebccc6864c574ce73e2f937
https://github.com/llvm/llvm-project/commit/5ec0eee3a67ec0f8aebccc6864c574ce73e2f937
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libc/src/__support/frac128.h
Log Message:
-----------
[libc] Fix buildbot failure for bigint (#207534)
Fixes the buildbot failure in
https://github.com/llvm/llvm-project/pull/206277 by adding the missing
initialization
Commit: 55669ac2f7df5e54561a3c36df6322a6318cb575
https://github.com/llvm/llvm-project/commit/55669ac2f7df5e54561a3c36df6322a6318cb575
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[Support][NFC] Use single predecessor array in DomTreeConstr (#207535)
Storing many small vectors of predecessors is bad for performance, as
each of these has to be non-trivially initialized when growing the
NodeInfos vector. Therefore, store all predecessors in a separate
vector, in which predecessors form a linked list.
Commit: 5d13ff1e940b93d820928d078f994a3c376f54e6
https://github.com/llvm/llvm-project/commit/5d13ff1e940b93d820928d078f994a3c376f54e6
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[MC] Generate FeatureKV with compact string table (#206331)
FeatureKV is responsible for a fair amount of .data.rel.ro size and
relocations; in an all-target build, this amounts to ~139 kiB that need
to be touched on every startup. Therefore, store strings adjacent to the
SubtargetFeatureKV in memory and reference the strings via relative
offsets to avoid dynamic relocations.
Commit: b0a64cf46adcb6da2cef28bac25f910077277923
https://github.com/llvm/llvm-project/commit/b0a64cf46adcb6da2cef28bac25f910077277923
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
Log Message:
-----------
[libc++] Mark LWG3454 as resolved (#207487)
Closes https://github.com/llvm/llvm-project/issues/171307.
LWG3454 has been implemented in
https://github.com/llvm/llvm-project/commit/98d3d5b5da66e3cf7807c23a0294280bb796466b.
Commit: c4714e43dc36f4bcf047e0f4bb1f8757fe72e422
https://github.com/llvm/llvm-project/commit/c4714e43dc36f4bcf047e0f4bb1f8757fe72e422
Author: Sergey Subbotin <ssubbotin at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Fix BlockIndent compat mapping of AlignAfterOpenBracket (#207187)
be11e2b3d25 (#192283) replaced the `[[fallthrough]]` chain in the
`AlignAfterOpenBracket` backward-compatibility switch with explicit
per-case assignments. In the `BAS_BlockIndent` case the
`BreakBeforeCloseBracket{BracedList,Function,If} = true` assignments are
immediately overwritten with `false`, and
`BreakAfterOpenBracket{BracedList,Function,If}` (previously inherited
from the `BAS_AlwaysBreak` case via fallthrough) are never set. As a
result, `AlignAfterOpenBracket: BlockIndent` parses to the same flag set
as `Align`, silently dropping the block-indent style for existing
configurations.
Restore the pre-#192283 mapping and pin the full BlockIndent flag
mapping in ConfigParseTest so the compat shim cannot regress silently
again.
Fixes #207186.
Note for the release branch: if #205920 (backport of #192283 to
release/22.x) lands, this fix needs to be backported together with it.
Commit: 758f0394c0158d7b4db7b7f1d5cd8174ab9812b7
https://github.com/llvm/llvm-project/commit/758f0394c0158d7b4db7b7f1d5cd8174ab9812b7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Move consecutive vector pointer construction to VPBuilder (NFC). (#207563)
Introduce VPBuilder::createConsecutiveVectorPointer to create vector
pointers for consecutive accesses. This enables re-use in follow-up
changes.
Commit: 37f7fc7c05865e1c8ebcda915d379963b48c3e69
https://github.com/llvm/llvm-project/commit/37f7fc7c05865e1c8ebcda915d379963b48c3e69
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/MC/RISCV/invalid-attribute.s
A llvm/test/MC/RISCV/rvy-build-attributes.s
A llvm/test/MC/RISCV/rvy-invalid-attributes.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISC-V][RVY] Initial ISAInfo support for RVY
RVY is a new base ISA, so the syntax to enable it is rv32y/rv64y.
Since the compressed instructions reuse the space for Zcf (RV32) and
Zcd (RV64), those are marked as incompatible and the logic for C/Zce
is updated as part of this PR.
RVY can also extend RVE instead of RVY (as is done for CHERIoT), but the
official arch string syntax for that has not been finalized yet.
Related discussion on that includes the "long base name" proposal:
https://lists.riscv.org/g/tech-unprivileged/message/1134
Reviewers: topperc, lenary, jrtc27
Pull Request: https://github.com/llvm/llvm-project/pull/201931
Commit: a8b40e80344d09b9a1b2b14bde934494409db9df
https://github.com/llvm/llvm-project/commit/a8b40e80344d09b9a1b2b14bde934494409db9df
Author: Zhige Chen <zhige_chen at outlook.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
A llvm/test/tools/llubi/intr_experimental_vector.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Implement experimental vector intrinsics (#206899)
This PR implements experimental vector intrinsics.
Commit: f26f3e659f4a4292f8cf311f351bcc231dc59c71
https://github.com/llvm/llvm-project/commit/f26f3e659f4a4292f8cf311f351bcc231dc59c71
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
A clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
Log Message:
-----------
[clang][CIR] Add lowering for Neon rounding builtins (#195021)
This PR adds CIR lowering for AArch64 NEON rounding builtins:
- vrnd (trunc), vrnda (round), vrndi (nearbyint), vrndm (floor),
vrndn (roundeven), vrndp (ceil), vrndx (rint)
- vrnd32x, vrnd32z, vrnd64x, vrnd64z (v8.5-a FRINT variants)
The standard rounding builtins lower to the corresponding CIR ops
(cir.trunc, cir.round, etc.). The vrndi_v/vrndiq_v cases are handled
in the common NEON switch since they enter via AArch64SIMDIntrinsicMap
(NEONMAP0). The vrnd32/64 builtins use NEONMAP1 entries with their
aarch64.neon.frint* intrinsic names.
The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp.
Prior to this patch, the original neon-intrinsics.c had zero f32
standard rounding tests :
I had added 15 test cases to cover f32 standard rounding tests
(vrnd_f32, vrnda_f32, etc.) in
clang/test/CodeGen/AArch64/neon/intrinsics.c
For this reasons, 30 num-of-new-tests > 15 num-of-deleted-tests.
Part of https://github.com/llvm/llvm-project/issues/185382.
Commit: 4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
https://github.com/llvm/llvm-project/commit/4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
Author: Yuan Suo <suoyuan666 at s5n.xyz>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/test/Sema/LifetimeSafety/safety-c.c
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Add multi-block support to buildOriginFlowChain (#204592)
After introducing `buildOriginFlowChain` to use-after-scope diagnostics,
it should support multi-block analysis. This also allows it to be reused
by other diagnostics.
In some loops, `UseFact` may appear before `OriginFlowFact`:
```cpp
void for_loop_use_before_loop_body(MyObj safe) {
MyObj* p = &safe;
for (int i = 0; i < 1; ++i) {
(void)*p;
MyObj s;
p = &s;
}
(void)*p;
}
```
So I no longer use `StartPoint` as the initial search starting point; it
is only used to locate the corresponding block.
---------
Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>
Commit: f2342e84e66c015a43437620f825fe884c8bdd4e
https://github.com/llvm/llvm-project/commit/f2342e84e66c015a43437620f825fe884c8bdd4e
Author: Koakuma <koachan at protonmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/test/CodeGen/SPARC/bswap.ll
Log Message:
-----------
[SPARC] Don't combine misaligned memory ops with BSWAP (#206345)
Doing it will result in a misaligned LD*A/ST*A instruction, which will
raise a bus error.
This should fix the failure in `clamscan` test.
Commit: d832bfe3c99ac8251258b5a965d4418db503e38c
https://github.com/llvm/llvm-project/commit/d832bfe3c99ac8251258b5a965d4418db503e38c
Author: Lucas Mellone <github.snugness349 at passinbox.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/docs/Status/Cxx26Issues.csv
Log Message:
-----------
[libc++] Mark LWG4098 as resolved (#206295)
Already implemented and tested in the scope of the full implementation
for `adjacent_view` (1e15dbe311eb08462e7a68fcb8b5850632e24aff).
Closes #105353
Commit: 9a858b68628a37a36d82b076425c1e5ce902cb6f
https://github.com/llvm/llvm-project/commit/9a858b68628a37a36d82b076425c1e5ce902cb6f
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
Log Message:
-----------
[DirectX] Fix format override in DXILPrettyPrinter.cpp (#207588)
Commit: ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
https://github.com/llvm/llvm-project/commit/ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/subtraction.c
Log Message:
-----------
[CIR][AArch64] Upstream narrowing-subtraction NEON builtins (#207115)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for
- narrowing-subtraction intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#narrowing-subtraction)
Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/subtraction.c`
Commit: 67d9abb916acc2b501ae08297de95c22e99d7218
https://github.com/llvm/llvm-project/commit/67d9abb916acc2b501ae08297de95c22e99d7218
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[GenericDomTreeConstruction] Use 0-based DFS numbering (#207524)
Number DFS-visited nodes from 0 and drop the unused index-0 sentinel
from NumToNode/NumToInfo/IDoms.
`Unvisited = 0` marks unvisited nodes by DFS. 0 is now the DFS root, or
the virtual root for postdominators.
Decrease the inline capacity for NumToNode/NodeInfos, which doesn't seem
to matter. sqlite3's p90 block count is 29.
Commit: 2ac46a3b86ba92408f6503986f518da6cbd1d224
https://github.com/llvm/llvm-project/commit/2ac46a3b86ba92408f6503986f518da6cbd1d224
Author: David Green <david.green at arm.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/arith.ll
M llvm/test/Analysis/CostModel/AArch64/mul.ll
Log Message:
-----------
[AArch64] Update some arith and mul tests. NFC (#207589)
Commit: bfca639ab943b4b2e16178797ebb01c84675ee65
https://github.com/llvm/llvm-project/commit/bfca639ab943b4b2e16178797ebb01c84675ee65
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[CodeGen][NFC] Store CPU model index in SubTypeKV (#207351)
Instead of storing the pointer to the CPU model, store all CPU models in
an array and store the index. This is preliminary work for moving
SubTypeKV to .rodata.
NB: the scheduling models also take a fair amount of space in
.data.rel.ro, with SchedModels ~13kiB, ModelProcResources ~57kiB.
Commit: 9cd1001509c89f468ab262194a77f5e191ca9040
https://github.com/llvm/llvm-project/commit/9cd1001509c89f468ab262194a77f5e191ca9040
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
Log Message:
-----------
[GlobalISel] Add or_and_and pattern from SelectionDAG (#204618)
This PR adds the `fold or (xor x, y), (x and/or y) --> or x, y` pattern
from SelectionDAG to GlobalISel.
Commit: 5bc19784053eb8904dbe81215301de16ed54f499
https://github.com/llvm/llvm-project/commit/5bc19784053eb8904dbe81215301de16ed54f499
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[MC][NFC] Store SubTypeKV names as string table (#207580)
This moves the large SubTypeKV arrays to .rodata, as they no longer
contain the key pointers that need to be relocated.
Additionally, remove the largely redundant CPUNames arrays and integrate
the AArch64 aliases into the sorted string table. There was really no
need to introduce these 17 kiB arrays solely for including AArch64
aliases in help output.... (added in b6c22a4)
Commit: e3c881815ea25acdf9a5f485b23a60c2eae8481c
https://github.com/llvm/llvm-project/commit/e3c881815ea25acdf9a5f485b23a60c2eae8481c
Author: Igor Shevlyakov <igor at tachyum.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add4.ll
Log Message:
-----------
[InstCombine] Fold commuted add of udiv/urem by two (#206272) (#207462)
Fixes #206272.
`SimplifyAddWithRemainder` folds `(X / C0) * C1 + (X % C0) * C2`,
treating `and X, lowmask` as a remainder and `lshr X, N` as a division.
The commuted form `add (and X, C), (lshr X, N)` was missed because the
operand-order swap only recognized a real `urem`/`srem`.
Now the fold is tried with both operand orders instead of relying on
that swap. Verified with Alive2.
Supersedes #207249 (re-opened from the correct account; already
incorporates the both-operand-orders refactor suggested there by
nikic).
Prepared with AI assistance per the [LLVM AI Tool
Policy](https://llvm.org/docs/AIToolPolicy.html); not a "good first
issue".
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: d8b223292490e9abdbce87278044de406e0242f3
https://github.com/llvm/llvm-project/commit/d8b223292490e9abdbce87278044de406e0242f3
Author: Sungbin Jo <goranmoomin at daum.net>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
A llvm/test/Transforms/InstCombine/fptoui-of-fdiv.ll
Log Message:
-----------
[InstCombine] Fold fpto{u,s}i of int-cast fdiv into {u,s}div (#205853)
Fixes #205305.
Adds an InstCombine fold for the pattern `fpto{u,s}i (fdiv ({u,s}itofp
X), C)` to `{u,s}div X, C`.
Safe when
- Unsigned: C > 0 and the integer width N <= the FP mantissa width p.
- Signed: C != 0 and N - 1 <= p, excluding (X == INT_MIN, C == -1).
See linked issue for detailed reasoning.
Commit: 4a02e116e58d162335cf18b4f1f28c7d34d6d3ac
https://github.com/llvm/llvm-project/commit/4a02e116e58d162335cf18b4f1f28c7d34d6d3ac
Author: aokblast <aokblast at FreeBSD.org>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxxabi/test/thread_local_destruction_order.pass.cpp
Log Message:
-----------
[libcxxabi] Re-enable `thread_local_destruction_order.pass.cpp` on FreeBSD (#186129)
The underlying bug has been fixed in https://reviews.freebsd.org/D55826.
Commit: a68147f0f05652d50937ab178f7ac21069562028
https://github.com/llvm/llvm-project/commit/a68147f0f05652d50937ab178f7ac21069562028
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/thread.h
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/thread
A libcxx/test/libcxx/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx26.csv
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
Log Message:
-----------
[libc++] Use std::to_chars to format thread::id and canonicalize the representation across platforms (#181624)
This makes printing `thread::id` faster, since we avoid a bunch of
boilerplate code that isn't optimized away. It also avoids including
`<sstream>` and `<__locale>`, cutting the time to parse `<thread>` in
half.
This also changes the output when printing the id on a platform that
uses a pointer as the underlying type. I don't think that's a problem,
since the thread id isn't in any way stable. It also makes the output
consistent across all platforms we support.
Commit: 925f4f27b724446572c644a23d20a8a8ecd5dd90
https://github.com/llvm/llvm-project/commit/925f4f27b724446572c644a23d20a8a8ecd5dd90
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/test/benchmarks/random.bench.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libc++] Add an ABI flag to optimize mersenne_twister_engine (#206423)
Instead of updating the status array every time `operator()` is called,
we can instead update it once every time the entire array has been read.
That allows the compiler to vectorize the updating code, improving
performance.
Apple M4:
```
Benchmark old new Difference % Difference
---------------------------------------- ------- ------- ------------ --------------
std::mt19937::operator() 1.39 0.65 -0.74 -53.26%
std::mt19937::operator()_(into_array) 172.92 80.69 -92.23 -53.34%
std::mt19937_64::operator() 1.46 0.99 -0.47 -31.99%
std::mt19937_64::operator()_(into_array) 187.31 108.10 -79.21 -42.29%
```
Fixes #197221
Commit: 076af822d2bfba95e5d62e15d0f11216956b1cb4
https://github.com/llvm/llvm-project/commit/076af822d2bfba95e5d62e15d0f11216956b1cb4
Author: David Green <david.green at arm.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/docs/GlobalISel/Legalizer.rst
R llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
R llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[GlobalISel] Remove LegacyLegalizerInfo (#197308)
After #197238, #197370, #197371, #197374, #197375, #197377, #197378 and
#197379, this removes the legacy rules from global isel.
The above patches attempt to make all _tested_ operations legal, but
have only gone through the operations that have llvm tests. If more
fallbacks are now found to be happening, the other operations from
#197238 might be needed.
Commit: 3be67c72f5d5b9f459c0b11fce2c92c2cac5a984
https://github.com/llvm/llvm-project/commit/3be67c72f5d5b9f459c0b11fce2c92c2cac5a984
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M lld/ELF/Arch/SPARCV9.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for SPARCV9 (#206284)
Implement SPARCV9::scanSectionImpl, following the pattern established
for x86 and other targets. This merges the getRelExpr and TLS handling
for SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC for PC-relative relocations and processR_PLT_PC for
PLT relocations.
- Handle TLS LE relocations directly with checkTlsLe.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and preprocessRelocs.
Commit: 051bcefe0efe0d157e6dc72e89c38b7840e9836a
https://github.com/llvm/llvm-project/commit/051bcefe0efe0d157e6dc72e89c38b7840e9836a
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[GenericDomTreeConstruction] Store the semidominator value in Label (#207603)
runSemiNCA's eval() stores the vertex with the minimal semidominator in
Label and dereferences NumToInfo[Label]->Semi to compare it. Store the
semidominator (Semi) value directly in Label instead, so eval compares
by number with no NumToInfo lookup.
Commit: ecdd6403fd213f90243a3d354d4db3483b89471f
https://github.com/llvm/llvm-project/commit/ecdd6403fd213f90243a3d354d4db3483b89471f
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
Log Message:
-----------
[LoopInfo] Avoid a throwaway vector in getLoopsInPreorder. NFC (#207607)
We can append each root and walk its inner loops directly into the
result.
Commit: f1d1746c4df9401667574c14a66cdfcb428b2cb6
https://github.com/llvm/llvm-project/commit/f1d1746c4df9401667574c14a66cdfcb428b2cb6
Author: David Green <david.green at arm.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
Log Message:
-----------
[M68K][GlobalISel] Remove dependency on legal ruleset (#207614)
This fills in always legal rules, to remove the dependency on the legacy
ruleset. This is not guaranteed to be all the rules, just the ones that
appear
in tests.
See #197308
Commit: bb639a128559172e8b3067ea267b8f37895ae1f8
https://github.com/llvm/llvm-project/commit/bb639a128559172e8b3067ea267b8f37895ae1f8
Author: xys-syx <xuyuansui at outlook.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
Log Message:
-----------
[MLIR][NVVM]Import llvm intrinsics for nvvm.barrier (#202862)
This PR adds LLVM IR import support for the `bar.sync` intrinsic family,
lifting the four variants into `nvvm.barrier` with the appropriate
`aligned` attribute and optional thread-count operand.
`LLVM_IntrOpBase` and its auto-generated import is one to one, but four
`bar.sync` variants are many-to-one, where they all lift into
`nvvm.barrier`, differing only in `aligned` and the optional
`numberOfThreads` operand.
An alternative implementation would extend mlir-tblgen with many-to-one
intrinsic-to-op mapping support so the conversion could live in
`NVVMOps.td`. But the change is bigger than manually import `bar.sync`
intrinsic family.
Commit: 434e4e15f6a3217b4bbb8dafe68084222067e9ce
https://github.com/llvm/llvm-project/commit/434e4e15f6a3217b4bbb8dafe68084222067e9ce
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/test/CodeGen/RISCV/make-compressible-for-store-address.mir
M llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
M llvm/test/CodeGen/RISCV/make-compressible-xqci.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
M llvm/test/CodeGen/RISCV/make-compressible-zfinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
M llvm/test/CodeGen/RISCV/make-compressible.mir
Log Message:
-----------
[RISCV] Run MakeCompresible at Os as well (#207172)
Commit: 319c1f1c1132e54a2135ffe1d7c58ed7e47b5e51
https://github.com/llvm/llvm-project/commit/319c1f1c1132e54a2135ffe1d7c58ed7e47b5e51
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
Log Message:
-----------
[NewPM] Port StaticDataProfileInfo and wire into x86 AsmPrinter
Ports the analysis to the NewPM and wires it into the NewPM x86
AsmPrinter where we are currently just returning nullptr.
Reviewers: mingmingl-llvm, teresajohnson, arsenm, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/207550
Commit: 29fa6a82476b92c8bc5168118151675b6ab940d1
https://github.com/llvm/llvm-project/commit/29fa6a82476b92c8bc5168118151675b6ab940d1
Author: TelGome <93700071+TelGome at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support Packed Merge. (#207110)
Commit: deecf8dce7dd6df5ce82bf273f7bfb75a783160a
https://github.com/llvm/llvm-project/commit/deecf8dce7dd6df5ce82bf273f7bfb75a783160a
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUAsyncOperations.rst
A llvm/docs/AMDGPUDMAOperations.md
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/UserGuides.md
Log Message:
-----------
[docs][AMDGPU] move DMA operations to a separate file (#206917)
This includes the various `.async` and `.tensor` operations. Various
scattered bits of information are now in one place. Also added the
missing documentation for tensor intrinsics.
Commit: 9b2d44a51252891b4612330c485fa11464866455
https://github.com/llvm/llvm-project/commit/9b2d44a51252891b4612330c485fa11464866455
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
M llvm/lib/ObjectYAML/CMakeLists.txt
A llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
Log Message:
-----------
[ObjectYAML][NFC] Hoist ContiguousBlobAccumulator into a shared header (#207306)
Move ContiguousBlobAccumulator out of ELFEmitter.cpp's anonymous
namespace so other yaml2obj emitters can reuse it.
Commit: 224b9d2ac05d808aa4b08c27ba37149260310e4b
https://github.com/llvm/llvm-project/commit/224b9d2ac05d808aa4b08c27ba37149260310e4b
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/set
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
M libcxx/test/std/containers/associative/multiset/count.pass.cpp
M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/size.pass.cpp
M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
Log Message:
-----------
[libc++] Make `<set>` `std::multiset` constexpr as part of P3372R3 (#206257)
Commit: dc56f7104e036bdbf5b48d4d16dd3cf41c44e78f
https://github.com/llvm/llvm-project/commit/dc56f7104e036bdbf5b48d4d16dd3cf41c44e78f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/StaticDataSplitter.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[NewPM] Port StaticDataSplitter
Standard pass porting. Remove the MBPI member given it was unused.
Reviewers: arsenm, teresajohnson, mingmingl-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/207627
Commit: 311c3cee0c6c6d7f192b58ec02dd381539ccb0a2
https://github.com/llvm/llvm-project/commit/311c3cee0c6c6d7f192b58ec02dd381539ccb0a2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/StaticDataAnnotator.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[NewPM] Port StaticDataAnnotator
Standard NewPM pass porting. The PassBuilder wireup/test coverage will
come in the next PR.
Reviewers: arsenm, teresajohnson, mingmingl-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/207629
Commit: f7d75024bf194e660aa56714e7f0fdb56b92de69
https://github.com/llvm/llvm-project/commit/f7d75024bf194e660aa56714e7f0fdb56b92de69
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/lib/Object/ELF.cpp
Log Message:
-----------
[SPARC] Make SPARC_REGISTER Sparc specific in llvm-readobj and LLDB (#206316)
The commit 4418a8e5 failed to limit SPARC_REGISTER to Sparc targets
only, which causes conflict when adding new dynamic tags for other
targets.
Commit: 774f8a0b868cf526ffbd8af0a7e83c6b70d1b4fb
https://github.com/llvm/llvm-project/commit/774f8a0b868cf526ffbd8af0a7e83c6b70d1b4fb
Author: jinge90 <ge.jin at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/complex.rst
M libc/include/complex.yaml
M libc/src/complex/CMakeLists.txt
A libc/src/complex/cabs.h
A libc/src/complex/cabsf.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/cabs.cpp
A libc/src/complex/generic/cabsf.cpp
A libc/test/src/complex/CAbsTest.h
M libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/cabs_test.cpp
A libc/test/src/complex/cabsf_test.cpp
M libc/utils/MPCWrapper/MPCUtils.cpp
Log Message:
-----------
[libc][complex] Enable cabs and cabsf in libc (#206677)
This PR adds basic implementation for cabs and cabsf in LLVM libc and
also extend current MPC infrastructure to support cabs operation.
---------
Signed-off-by: jinge90 <ge.jin at intel.com>
Commit: 4d7b4fd9879fb0599b4e0a2a0c60394f64015c5a
https://github.com/llvm/llvm-project/commit/4d7b4fd9879fb0599b4e0a2a0c60394f64015c5a
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/test-suite.yml
Log Message:
-----------
[GitHub] Build llvm-size for test-suite.yml workflow (#207642)
This is also needed by llvm-test-suite
Commit: 4eb56cf497aaee55dc1346a7e1319dff33864601
https://github.com/llvm/llvm-project/commit/4eb56cf497aaee55dc1346a7e1319dff33864601
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/InstSimplify/cast.ll
Log Message:
-----------
[InstSimplify] Fold value-preserving zext/sext of trunc (#204089)
Fold a value-preserving `zext (trunc nuw X)` / `sext (trunc nsw X)` back
to
`X` in `simplifyCastInst` (when the trunc source type equals the extend
result type and the no-wrap flag guarantees the round-trip is identity).
After indvars canonicalizes a min-index loop, the running-index select
has a
`trunc nuw nsw i64 %iv to i32` on its true side while `arr[i]` is
addressed
directly with the i64 `%iv`. When PHI-translating the select-dependent
address along the backedge (see #203863), the true side becomes
`gep base, zext nneg (trunc nuw %iv)`, which has no matching instruction
in
the loop, so the select dependency is never formed and the redundant
load
survives.
Teaching `simplifyCastInst` to collapse the value-preserving
extend-of-trunc
makes the translated address fold back to `gep base, %iv`, matching the
existing `arr[i]` address, so the load through the select index is
eliminated. This fixes the integer min-index variant of
https://github.com/llvm/llvm-project/issues/58569#issuecomment-2788365047
(e.g. returning `minloc` instead of the value).
Alive2: https://alive2.llvm.org/ce/z/T5kMG8
Assisted-by: TraeCli (AI assistant)
Commit: 45574a58a0298cf64264022cb108818d84c3d6fd
https://github.com/llvm/llvm-project/commit/45574a58a0298cf64264022cb108818d84c3d6fd
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll
M llvm/test/CodeGen/RISCV/rvv/pr52475.ll
Log Message:
-----------
[RISCV] Remove -riscv-v-fixed-length-vector-lmul-max option (#207312)
Whilst reviewing https://github.com/llvm/llvm-project/pull/207254, I
threw claude at it and it found a crash when passing in a non-default
-riscv-v-fixed-length-vector-lmul-max flag.
This option was added 5 years ago around the time initial fixed vector
support was being added in a719b667a9794, and IIUC it was added so that
support for more LMULs could be added over time.
We don't have any substantial codegen testing for it and I couldn't find
any downstream users either. So rather than trying to fix
https://github.com/llvm/llvm-project/pull/207254 to handle it it seems
easier just to remove it now that fixed vector support for RVV has
matured.
Commit: 467390e7c08a5067355aa72d6262ff965d7fc9b4
https://github.com/llvm/llvm-project/commit/467390e7c08a5067355aa72d6262ff965d7fc9b4
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2026-07-05 (Sun, 05 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
Log Message:
-----------
[InstCombine] Skip redundant demanded element queries in insert chains (#205948)
Avoid re-running `SimplifyDemandedVectorElts` on intermediate
`insertelement` chain nodes when a bounded scan proves the top-level
all-lanes query cannot change the IR.
The skip is implemented inside the `InsertElement` case of
`SimplifyDemandedVectorElts` and is limited to the top-level all-lanes
query (`Depth == 0 && DemandedElts.isAllOnes()`). The bounded scan
matches the existing SDVE depth window and only skips chains with
distinct in-range constant insert indices. This keeps the normal SDVE
path for duplicate indices, variable indices, out-of-range indices,
multi-use chains, and the final chain root.
This was motivated by a cutile matmul compile-time case where loop
unrolling produced 128-lane vector insert/extract chains. Before this
change, InstCombine repeatedly invoked SDVE on intermediate
`insertelement` nodes in those chains. On the representative IR, the
affected InstCombine pass time went from about `44.9 ms` to `29.8 ms`,
and total `opt` compile time was reduced by about 20%.
AI disclosure: This patch was developed with assistance from
@openai-codex using GPT-5.5 via [Codex](https://openai.com/codex/). I
reviewed and tested the final changes before submission.
Commit: a929f649b490103ee15e2b71b4666d52b997b877
https://github.com/llvm/llvm-project/commit/a929f649b490103ee15e2b71b4666d52b997b877
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] Complete AsmPrinter support (#203509)
Commit: aae9f9ed88eda733e46e308351ba5cd68091806f
https://github.com/llvm/llvm-project/commit/aae9f9ed88eda733e46e308351ba5cd68091806f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode][NFC] Move Scope classes to source file (#207647)
Commit: 0ac6b4bd5b49b0615d420fb03c59024a4e360a31
https://github.com/llvm/llvm-project/commit/0ac6b4bd5b49b0615d420fb03c59024a4e360a31
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove unnecessary loop variable (#207649)
No reason to have the extra `N`.
Commit: a280b1b4f84186255c41a989312ab01ee4c30b88
https://github.com/llvm/llvm-project/commit/a280b1b4f84186255c41a989312ab01ee4c30b88
Author: Santanu Das <santdas at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/test/CodeGen/Hexagon/reserved-regs.ll
Log Message:
-----------
[Hexagon] Allow reservation of caller saved registers via -ffixed-rXX (#205733)
Previously, hexagon allowed only callee saved registers to be reserved
since reserving caller saved regs can create problems, since it cannot
be sure that the callee (from a different module) also reserves the
register.
The responsibility of reserving register and managing it is now on the
user. However, a warning will be displayed if the user tries to reserve a
caller saved register.
---------
Co-authored-by: quic-santdas <quic_santdas at qti.qualcomm.com>
Commit: f44ec21260a193a197727962326f07d4a3150af9
https://github.com/llvm/llvm-project/commit/f44ec21260a193a197727962326f07d4a3150af9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Move float->ap cast ops to the source file (#207592)
And deduplicate the code.
Commit: ae3d310fa38febc0fd52421ed1e12c621757204c
https://github.com/llvm/llvm-project/commit/ae3d310fa38febc0fd52421ed1e12c621757204c
Author: ingoneuse <ingo.neuse at sap.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Log Message:
-----------
[clangd] Null-check AutoTypeLoc in CollectExtraHighlightings::VisitDeclaratorDecl (#207323)
A Decl's getType() can have a getContainedAutoType() without
its TypeSourceInfo's type having one, because the two types
can differ in type sugar such as DecltypeType which
getContainedAutoType[Loc]() deliberately does not look through.
Fixes https://github.com/llvm/llvm-project/issues/207139
Commit: 7bdca287b102ee935e982613dba2264cbc7a32ad
https://github.com/llvm/llvm-project/commit/7bdca287b102ee935e982613dba2264cbc7a32ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/X86/always-inline-features.ll
Log Message:
-----------
[InlineCost] Never inline functions with incompatible target features (#205113)
If inlining is unsound due to incompatible target feature attributes, we
should not inline the call even if alwaysinline is set. This will likely
result in a crash during instruction selection.
We tried this previously in
https://github.com/llvm/llvm-project/commit/d6f994acb3d545b80161e24ab742c9c69d4bbf33,
but the change had to be reverted because the quality of our
areInlineCompatible() hooks was very bad at the time, which resulted in
inlining not happening in many cases where it was safe.
I think we're in a much better position now. Most notably, we now have a
default areInlineCompatible() implementation that actually does
something sensible (https://github.com/llvm/llvm-project/pull/117493),
inlining compatibility for target features is now specified in TableGen
(https://github.com/llvm/llvm-project/pull/205348). Various
target-specific issues have been fixed as well, e.g. ARM's overly strict
feature whitelist (https://github.com/llvm/llvm-project/pull/205763) and
X86's overly conservative ABI compatibility checks
(https://github.com/llvm/llvm-project/pull/205106).
Commit: 1b2efd2e079a7fe86888cb7da12a5efa84b131fc
https://github.com/llvm/llvm-project/commit/1b2efd2e079a7fe86888cb7da12a5efa84b131fc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/include/__memory/uninitialized_multidimensional_algorithms.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Split the multidimensional algorithms out of uninitialized_algorithms.h (#207447)
While these algorithms are conceptually related to other
`uninitialized_*` algorithms, they're likely only ever going to be used
by `shared_ptr`. `uninitialized_algorithms.h` itself is also getting
rather large, so it makes sense to split the multidimensional versions
into their own header.
Fixes #207417
Commit: acafa250fd7abd22c20584ad615e9727fa5d1ed5
https://github.com/llvm/llvm-project/commit/acafa250fd7abd22c20584ad615e9727fa5d1ed5
Author: lrzlin <linrunze at loongson.cn>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
Log Message:
-----------
[LoongArch] Remove inaccurate LASX conversion pattern and use [X]VFFINT.S.L instead (#207107)
Original LASX signed/unsigned 64-bit integer & floating point will
suffer from double rounding issue, due to it implements such logic: `i64
-> double -> float` that will lead to precision loss. So delete it and
introduce the `[X]VFFINT.S.L` instruction, which could convert 4 or 8
signed 64-bit integer into float in one instrunction.
Also, create the `MergeBlocksConvert` helper function to reuse the logic
about merge two blocks into one, avoid unnecessary code size bloat.
Commit: cb942d009a5ed029ce20d9b75b3604f551f0cb56
https://github.com/llvm/llvm-project/commit/cb942d009a5ed029ce20d9b75b3604f551f0cb56
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxxabi/src/CMakeLists.txt
Log Message:
-----------
[libc++abi] Always enable -fvisibility=hidden (#207333)
Building with `-fvisibility=hidden` is generally a good idea, since it
avoids unnecessary relocations when loading a dylib. For libc++abi this
should be a no-op, since most things are annotated explicitly. By
enabling `-fvisibility=hidden` we can remove these explicit annotations
however.
Commit: 46aa983d0990692e9aab6917435faab8a6395aa0
https://github.com/llvm/llvm-project/commit/46aa983d0990692e9aab6917435faab8a6395aa0
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[clang][analyzer] Add documentation for unix modeling checker options (NFC) (#207225)
Commit: 4341c0c9b8b88aac576ce55211ea9db032b74124
https://github.com/llvm/llvm-project/commit/4341c0c9b8b88aac576ce55211ea9db032b74124
Author: Hagai Lev Hacohen <100465137+HagaiLevHacohen at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][memref] Implement ValueBoundsOpInterface for memref.extract_strided_metadata/assume_alignment (#206466)
Add ValueBoundsOpInterface external models for memref.assume_alignment
and memref.extract_strided_metadata, so dimension and metadata bounds
can be propagated through these view-like ops during value-bounds
analysis.
Commit: 310d11926c725da213b69fa6a481bc831af82893
https://github.com/llvm/llvm-project/commit/310d11926c725da213b69fa6a481bc831af82893
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/green-dragon/lldb-windows.groovy
M .github/workflows/release-documentation.yml
M .github/workflows/test-suite.yml
M .github/workflows/test-suite/llvm.cmake
M bolt/lib/Passes/ReorderAlgorithm.cpp
M clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/Markdown.cpp
A clang-tools-extra/clang-doc/support/Markdown.h
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/support/Markup.h
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
M clang-tools-extra/test/clang-doc/html/long-name.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-virtual-and-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
A clang-tools-extra/unittests/clang-doc/MarkdownParserTest.cpp
M clang/docs/ClangSYCLLinker.rst
M clang/docs/ClangStaticAnalyzer.md
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.md
M clang/docs/ReleaseNotesTemplate.txt
M clang/docs/ScalableStaticAnalysis/index.md
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/CMakeLists.txt
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/Preprocessor.h
A clang/include/clang/Lex/TextEncoding.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/CMakeLists.txt
M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchSharedLibrary.h
A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/StaticLibrary.h
M clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
M clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.h
M clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.h
M clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.h
M clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.h
M clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
M clang/include/clang/Sema/CMakeLists.txt
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/CMakeLists.txt
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/Analyses.def
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Testing/TestLanguage.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Source.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/ParsedAttrInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Warnings.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/NumericLiteralInfo.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx512bmmintrin.h
A clang/lib/Headers/avx512bmmvlintrin.h
M clang/lib/Headers/avx512vp2intersectintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/riscv_packed_simd.h
A clang/lib/Headers/zos_wrappers/grp.h
A clang/lib/Headers/zos_wrappers/locale.h
A clang/lib/Headers/zos_wrappers/math.h
A clang/lib/Headers/zos_wrappers/poll.h
A clang/lib/Headers/zos_wrappers/string.h
A clang/lib/Headers/zos_wrappers/time.h
A clang/lib/Headers/zos_wrappers/variant.h
M clang/lib/Lex/CMakeLists.txt
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/Preprocessor.cpp
A clang/lib/Lex/TextEncoding.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysis/Core/ModelStringConversions.h
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchSharedLibrary.cpp
A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchStaticLibrary.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/StaticLibrary.cpp
M clang/lib/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.cpp
M clang/lib/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.cpp
M clang/lib/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.cpp
M clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
M clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Execution.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/HLSL/ConstantBuffers-AST.hlsl
A clang/test/AST/HLSL/resources-in-structs-method-call.hlsl
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-nonempty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-static-library-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-static-library-nonempty.json
M clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
M clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/duplicate-target-triple.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-empty-lu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-inner-error.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-namespace-mismatch.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/members-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/namespace-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-empty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-multiple-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-nonempty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-single-member.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-three-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-three-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/io.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/top-level.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/duplicate-target-triple.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/invalid-syntax.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-inner-error.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-namespace-mismatch.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/members-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/mismatched-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/namespace-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/namespace-wrong-kind.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/not-json-extension.txt
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/not-object.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-empty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-multiple-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-nonempty-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-single-member.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-three-members.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/unsorted-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/unsorted-three-members-input.json
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/io.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/permissions.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/top-level.test
M clang/test/Analysis/analyzer-config.c
A clang/test/Analysis/malloc-failure.c
M clang/test/Analysis/missing-z3-nocrash.c
M clang/test/Analysis/z3/D83660.c
M clang/test/Analysis/z3/pretty-dump.c
M clang/test/Analysis/z3/z3-unarysymexpr.c
M clang/test/CIR/CodeGen/abstract-cond.c
M clang/test/CIR/CodeGen/agg-atomic-cast.c
M clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/agg-init-constexpr.cpp
M clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/atomic-libcall.c
M clang/test/CIR/CodeGen/attr-noundef.cpp
M clang/test/CIR/CodeGen/attr-target-x86.c
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/builtins-x86.c
M clang/test/CIR/CodeGen/complex-cast.cpp
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/consteval-aggregate.cpp
M clang/test/CIR/CodeGen/copy-constructor.cpp
M clang/test/CIR/CodeGen/embed-expr.c
A clang/test/CIR/CodeGen/flexible-array-init.c
M clang/test/CIR/CodeGen/global-decomp-decls.cpp
A clang/test/CIR/CodeGen/global-replace-string-array.c
A clang/test/CIR/CodeGen/int128-global-const.cpp
M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/no-unique-address.cpp
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/paren-init-list.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/switch-range.c
M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
M clang/test/CIR/CodeGen/three-way-cmp.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenCXX/new-array-init.cpp
M clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
A clang/test/CIR/IR/const-record-flexible-array.cir
M clang/test/CIR/IR/global.cir
M clang/test/CIR/IR/invalid-const-record.cir
A clang/test/CIR/IR/invalid-int-attr.cir
M clang/test/CIR/IR/invalid-linkage.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Transforms/hoist-allocas.cir
M clang/test/CIR/Transforms/switch.cir
A clang/test/CXX/drs/cwg3088.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/ClangScanDeps/modules-full-by-mod-name.c
A clang/test/ClangScanDeps/modules-pch-compatibility.c
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/AArch64/args.cpp
M clang/test/CodeGen/AArch64/byval-temp.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
A clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
M clang/test/CodeGen/AArch64/neon/subtraction.c
M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/Sparc/sparcv9-abi.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/SystemZ/zos-abi.c
A clang/test/CodeGen/X86/avx512bmm-builtins.c
A clang/test/CodeGen/X86/avx512bmmvl-builtins.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/x86_32-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-abi-vector.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm64-abi-vector.c
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64ec-varargs.c
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/atomic-arm64.c
M clang/test/CodeGen/atomic-auto-type.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
A clang/test/CodeGen/attr-counted-by-with-sanitizers.c
A clang/test/CodeGen/attr-counted-by-without-sanitizers.c
R clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/pass-by-value-noalias.c
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/regcall.c
M clang/test/CodeGen/regcall4.c
A clang/test/CodeGen/systemz-charset-diag.cpp
A clang/test/CodeGen/systemz-charset.c
A clang/test/CodeGen/systemz-charset.cpp
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/win-fp128.c
M clang/test/CodeGen/win64-i128.c
M clang/test/CodeGen/windows-seh-arg-capture-crash.cpp
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/aix-alignment.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
M clang/test/CodeGenCXX/blocks.cpp
M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
M clang/test/CodeGenCXX/copy-initialization.cpp
M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
M clang/test/CodeGenCXX/derived-to-base-conv.cpp
M clang/test/CodeGenCXX/dllexport-ctor-closure.cpp
M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
M clang/test/CodeGenCXX/fastcall.cpp
A clang/test/CodeGenCXX/gh196469-default-member-init-lambda-cleanup.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-throw.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/ms-property.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/powerpc-byval.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/regcall.cpp
M clang/test/CodeGenCXX/regcall4.cpp
M clang/test/CodeGenCXX/regparm.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/uncopyable-args.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
M clang/test/CodeGenCXX/x86_32-arguments.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
M clang/test/CodeGenHLSL/builtins/ConstantBuffer.hlsl
A clang/test/CodeGenHLSL/builtins/InterlockedOr.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/resources/ConstantBufferT-struct-passing.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing_with_resources.hlsl
A clang/test/CodeGenHLSL/resources/resources-in-structs-method-call.hlsl
M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
M clang/test/CodeGenObjC/pass-by-value-noalias.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
M clang/test/CodeGenObjCXX/property-objects.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/DebugInfo/CXX/debug-info.cpp
M clang/test/DebugInfo/ObjC/nontrivial-c-struct-exception.m
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/unknown-std.cpp
M clang/test/FixIt/fixit-unicode-named-escape-sequences.c
A clang/test/Headers/Inputs/zos/usr/include/grp.h
A clang/test/Headers/Inputs/zos/usr/include/locale.h
A clang/test/Headers/Inputs/zos/usr/include/math.h
A clang/test/Headers/Inputs/zos/usr/include/poll.h
A clang/test/Headers/Inputs/zos/usr/include/string.h
A clang/test/Headers/Inputs/zos/usr/include/time.h
A clang/test/Headers/Inputs/zos/usr/include/variant.h
M clang/test/Headers/stdarg.cpp
A clang/test/Headers/zos-guard.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/string-literal-encoding.c
M clang/test/Lexer/unicode.c
M clang/test/Modules/embed-files-compressed.cpp
A clang/test/Modules/pr204479.cppm
R clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc-amdgcnspirv.c
M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-s390x.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/LifetimeSafety/safety-c.c
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/test/Sema/asm.c
M clang/test/Sema/matrix-type-operators.c
A clang/test/Sema/offsetof-unsigned-index.c
A clang/test/SemaCXX/GH203701.cpp
A clang/test/SemaCXX/gh196469-default-member-init-lambda-capture.cpp
M clang/test/SemaCXX/injected-class-name-crash.cpp
A clang/test/SemaCXX/inline-asm-aggregate-output.cpp
A clang/test/SemaCXX/ms-ctor-closure.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/type-traits-incomplete.cpp
M clang/test/SemaCXX/typo-correction.cpp
M clang/test/SemaHLSL/BuiltIns/ConstantBuffer-member-funcs.hlsl
A clang/test/SemaHLSL/BuiltIns/InterlockedOr-errors.hlsl
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
A clang/test/SemaTemplate/GH198890.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/member-specialization.cpp
M clang/test/lit.cfg.py
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Basic/LangOptionsTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/NumericLiteralInfoTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.h
M clang/unittests/ScalableStaticAnalysis/TestFixture.h
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
A clang/utils/scan-deps-filter.py
M clang/www/OpenProjects.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/addtf3.cpp
M compiler-rt/lib/builtins/cpu_model/x86.c
A compiler-rt/lib/builtins/fp_libc_config.h
M compiler-rt/lib/fuzzer/FuzzerIO.cpp
M compiler-rt/lib/hwasan/hwasan_checks.h
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan.c
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/dbg-arg.c
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/global-constant.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/hello.c
M cross-project-tests/debuginfo-tests/dexter-tests/inline-line-gap.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/bitcast.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/implicit-ptr.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inline-escaping-function.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/loop.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/merged-store.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ptr-to.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
M cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/realigned-frame.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/stack-var.c
M cross-project-tests/debuginfo-tests/dexter-tests/vla.c
A cross-project-tests/debuginfo-tests/dexter/Heuristic.md
M cross-project-tests/debuginfo-tests/dexter/README.md
A cross-project-tests/debuginfo-tests/dexter/Script.md
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/conditions.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_after_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_at_frame.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_finish.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_step_out.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/watch_scope.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_fn_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_for_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_hit_count_early_exit.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_at_frame.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_steps_penalties.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_steps_perfect.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates_addresses.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_types.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/floats.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/nested_wheres.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/bad-where-attr.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/error-locations.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/expect-all-with-value.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-address.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-script-nodes.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/parse-address.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/reject-bad-at_frame_idx.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/step-node-expected-values.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/valid-parse.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_aggregates_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_at_frame_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expect_list_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expects_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_list_aggregates_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_multiple_scripts_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_scopes_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_scopes_list_expected.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_types_expected.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_at_frame.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expect_list.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expects.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_list_aggregates.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_multiple_scripts.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_scopes.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_scopes_list.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_step_lines.test
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_types.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/whole_file.test
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/where_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/ISO_Fortran_binding.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/Pointer.cpp
M flang/docs/OpenMPSupport.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/allocator-registry-consts.h
M flang/include/flang/Runtime/pointer.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Fir/MIF/cobound.mlir
A flang/test/Fir/MIF/coshape.mlir
A flang/test/Fir/MIF/image_index.mlir
M flang/test/Fir/MIF/this_image.mlir
M flang/test/Lower/MIF/coarray_allocation.f90
M flang/test/Lower/MIF/coarray_allocation2.f90
A flang/test/Lower/MIF/cobound.f90
A flang/test/Lower/MIF/coshape.f90
A flang/test/Lower/MIF/image_index.f90
M flang/test/Lower/MIF/this_image.f90
A flang/test/Lower/OpenMP/declare-reduction-logical-init.f90
A flang/test/Lower/OpenMP/declare-reduction-shadows-intrinsic-other-type.f90
A flang/test/Lower/OpenMP/declare-reduction-shadows-intrinsic.f90
A flang/test/Lower/OpenMP/non-rectangular-collapse.f90
A flang/test/Lower/OpenMP/non-rectangular-collapse2.f90
A flang/test/Lower/OpenMP/non-rectangular-collapse3.f90
A flang/test/Lower/OpenMP/target-kernel-types.f90
M flang/test/Semantics/bug121973.f90
A flang/test/Semantics/stmt-func04.f90
A flang/test/Transforms/CUF/cuf-alloc-delay.fir
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/complex.rst
M libc/include/complex.yaml
M libc/include/stdlib.yaml
M libc/shared/builtins.h
A libc/shared/builtins/addsf3.h
A libc/shared/builtins/divdf3.h
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/string.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/path.h
A libc/src/__support/OSUtil/path.h
M libc/src/__support/big_int.h
M libc/src/__support/builtins/CMakeLists.txt
A libc/src/__support/builtins/addsf3.h
A libc/src/__support/builtins/divdf3.h
M libc/src/__support/frac128.h
M libc/src/complex/CMakeLists.txt
A libc/src/complex/cabs.h
A libc/src/complex/cabsf.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/cabs.cpp
A libc/src/complex/generic/cabsf.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/realpath.cpp
A libc/src/stdlib/realpath.h
M libc/startup/baremetal/arm/start.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_builtins_test.cpp
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/string_test.cpp
M libc/test/src/__support/integer_literals_test.cpp
A libc/test/src/complex/CAbsTest.h
M libc/test/src/complex/CMakeLists.txt
A libc/test/src/complex/cabs_test.cpp
A libc/test/src/complex/cabsf_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/realpath_test.cpp
M libc/utils/MPCWrapper/MPCUtils.cpp
M libcxx/cmake/caches/AndroidNDK.cmake
M libcxx/docs/ABIGuarantees.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__configuration/abi.h
M libcxx/include/__cxx03/string
M libcxx/include/__locale
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/uninitialized_algorithms.h
A libcxx/include/__memory/uninitialized_multidimensional_algorithms.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__split_buffer
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/thread.h
A libcxx/include/__vector/layout.h
M libcxx/include/__vector/vector.h
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/string
M libcxx/include/syncstream
M libcxx/include/thread
M libcxx/include/wchar.h
R libcxx/test/benchmarks/algorithms/nonmodifying/lower_upper_bound.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/lower_upper_bound.bench.cpp
M libcxx/test/benchmarks/random.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
A libcxx/test/benchmarks/streams/fstream.bench.cpp
R libcxx/test/benchmarks/streams/ofstream.bench.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx-03/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
A libcxx/test/libcxx/strings/basic.string/new_alignment.sh.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.append.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.assign.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
A libcxx/test/libcxx/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
M libcxx/test/std/containers/associative/multiset/count.pass.cpp
M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/multiset/size.pass.cpp
M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
M libcxx/test/std/containers/associative/set/clear.pass.cpp
M libcxx/test/std/containers/associative/set/contains.pass.cpp
M libcxx/test/std/containers/associative/set/contains_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/count.pass.cpp
M libcxx/test/std/containers/associative/set/count_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/emplace.pass.cpp
M libcxx/test/std/containers/associative/set/emplace_hint.pass.cpp
M libcxx/test/std/containers/associative/set/empty.pass.cpp
M libcxx/test/std/containers/associative/set/equal_range.pass.cpp
M libcxx/test/std/containers/associative/set/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/erase_key.pass.cpp
M libcxx/test/std/containers/associative/set/extract_iterator.pass.cpp
M libcxx/test/std/containers/associative/set/extract_key.pass.cpp
M libcxx/test/std/containers/associative/set/find.pass.cpp
M libcxx/test/std/containers/associative/set/get_allocator.pass.cpp
M libcxx/test/std/containers/associative/set/incomplete_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
M libcxx/test/std/containers/associative/set/insert_node_type_hint.pass.cpp
M libcxx/test/std/containers/associative/set/insert_range.pass.cpp
M libcxx/test/std/containers/associative/set/insert_rv.pass.cpp
M libcxx/test/std/containers/associative/set/iterator.pass.cpp
M libcxx/test/std/containers/associative/set/lower_bound.pass.cpp
M libcxx/test/std/containers/associative/set/max_size.pass.cpp
M libcxx/test/std/containers/associative/set/merge.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/default.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/from_range.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/associative/set/set.nonmember/compare.three_way.pass.cpp
M libcxx/test/std/containers/associative/set/set.nonmember/op_compare.pass.cpp
M libcxx/test/std/containers/associative/set/set.observers/comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp
M libcxx/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/associative/set/size.pass.cpp
M libcxx/test/std/containers/associative/set/types.pass.cpp
M libcxx/test/std/containers/associative/set/upper_bound.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/depr/depr.cpp.headers/ccomplex.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ciso646.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdalign.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/cstdbool.verify.cpp
M libcxx/test/std/depr/depr.cpp.headers/ctgmath.verify.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/xsgetn.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/expos.only.func/synth_three_way.pass.cpp
M libcxx/test/std/numerics/bit/byteswap.verify.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
A libcxx/test/std/thread/futures/futures.task/destruction_order.pass.cpp
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libcxx/utils/libcxx/test/features/misc.py
M libcxx/utils/run-spec-benchmark
A libcxx/vendor/android/android_assertion_handler.in
M libcxxabi/src/CMakeLists.txt
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/test/thread_local_destruction_order.pass.cpp
M libunwind/src/DwarfInstructions.hpp
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/SPARCV9.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
M lldb/cmake/modules/AddLLDB.cmake
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Breakpoint/BreakpointResolver.h
M lldb/include/lldb/Breakpoint/ScriptedBreakpointOverrideResolver.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/MemoryRegionInfoCache.h
M lldb/include/lldb/Target/Process.h
R lldb/include/lldb/Target/RegisterFlags.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/include/lldb/Utility/Log.h
M lldb/include/lldb/Utility/Policy.h
A lldb/include/lldb/Utility/RegisterFlags.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/lldbutil.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/__init__.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/dap_types.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/lldb_dap_testcase.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
A lldb/packages/Python/lldbsuite/test/tools/lldb_dap/utils.py
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DumpRegisterInfo.cpp
M lldb/source/Core/DumpRegisterValue.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.h
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/MemoryRegionInfoCache.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
R lldb/source/Target/RegisterFlags.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/Log.cpp
M lldb/source/Utility/Policy.cpp
A lldb/source/Utility/RegisterFlags.cpp
M lldb/test/API/commands/log/invalid-args/TestInvalidArgsLog.py
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/commands/register/register_command/TestRegisters.py
M lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
M lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
A lldb/test/API/functionalities/breakpoint/default_source_file/Makefile
A lldb/test/API/functionalities/breakpoint/default_source_file/TestDefaultSourceFile.py
A lldb/test/API/functionalities/breakpoint/default_source_file/main.cpp
A lldb/test/API/functionalities/breakpoint/default_source_file/other.cpp
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/overrides_resolver/TestOverridesResolver.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/overrides_resolver/bkpt_resolver.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
A lldb/test/API/functionalities/fork/stop/Makefile
A lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
A lldb/test/API/functionalities/fork/stop/main.c
M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
A lldb/test/API/functionalities/unwind/outlined-functions/Makefile
A lldb/test/API/functionalities/unwind/outlined-functions/TestBacktraceThroughOutlinedFunction.py
A lldb/test/API/functionalities/unwind/outlined-functions/arm64-outlined-epilogue-core.yaml
A lldb/test/API/functionalities/unwind/outlined-functions/binary.json
A lldb/test/API/functionalities/unwind/outlined-functions/main.c
A lldb/test/API/functionalities/unwind/outlined-functions/outlined-functions.s
M lldb/test/API/lang/c/inlines/main.c
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
M lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py
M lldb/test/API/linux/aarch64/permission_overlay/TestAArch64LinuxPOE.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_basic.py
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_Types.py
A lldb/test/Shell/Subprocess/stop-on-fork.test
A lldb/test/Shell/Subprocess/stop-on-vfork.test
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-mcp/CMakeLists.txt
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-server/LLDBServerUtilities.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Core/DumpRegisterInfoTest.cpp
M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
M lldb/unittests/Target/RegisterFlagsTest.cpp
M lldb/unittests/Utility/ArchSpecTest.cpp
M lldb/unittests/Utility/LogTest.cpp
M lldb/unittests/Utility/PolicyTest.cpp
M llvm/docs/AMDGPUAsyncOperations.rst
A llvm/docs/AMDGPUDMAOperations.md
M llvm/docs/AMDGPUUsage.rst
A llvm/docs/AdvancedBuilds.md
R llvm/docs/AdvancedBuilds.rst
A llvm/docs/BuildingADistribution.md
R llvm/docs/BuildingADistribution.rst
A llvm/docs/CFIVerify.md
R llvm/docs/CFIVerify.rst
M llvm/docs/CodingStandards.md
M llvm/docs/CommandGuide/llubi.rst
A llvm/docs/CycleTerminology.md
R llvm/docs/CycleTerminology.rst
A llvm/docs/DTLTO.md
R llvm/docs/DTLTO.rst
A llvm/docs/Docker.md
R llvm/docs/Docker.rst
A llvm/docs/Frontend/PerformanceTips.md
R llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/GitHub.md
M llvm/docs/GlobalISel/Legalizer.rst
A llvm/docs/GoldPlugin.md
R llvm/docs/GoldPlugin.rst
A llvm/docs/HowToBuildOnARM.md
R llvm/docs/HowToBuildOnARM.rst
A llvm/docs/HowToBuildWithPGO.md
R llvm/docs/HowToBuildWithPGO.rst
A llvm/docs/HowToCrossCompileLLVM.md
R llvm/docs/HowToCrossCompileLLVM.rst
M llvm/docs/LangRef.rst
A llvm/docs/LinkTimeOptimization.md
R llvm/docs/LinkTimeOptimization.rst
A llvm/docs/MemProf.md
R llvm/docs/MemProf.rst
A llvm/docs/MergeFunctions.md
R llvm/docs/MergeFunctions.rst
A llvm/docs/MyFirstTypoFix.md
R llvm/docs/MyFirstTypoFix.rst
M llvm/docs/PDB/CodeViewSymbols.rst
A llvm/docs/ProjectGovernance.md
R llvm/docs/ProjectGovernance.rst
M llvm/docs/ReleaseNotes.md
A llvm/docs/StackSafetyAnalysis.md
R llvm/docs/StackSafetyAnalysis.rst
A llvm/docs/SupportLibrary.md
R llvm/docs/SupportLibrary.rst
M llvm/docs/UserGuides.md
A llvm/docs/Vectorizers.md
R llvm/docs/Vectorizers.rst
A llvm/docs/tutorial/index.md
R llvm/docs/tutorial/index.rst
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/IntervalMap.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
R llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RegAllocCommon.h
M llvm/include/llvm/CodeGen/RegisterBank.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/RegisterScavenging.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
A llvm/include/llvm/CodeGen/StaticDataAnnotator.h
A llvm/include/llvm/CodeGen/StaticDataSplitter.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
A llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/include/llvm/Support/FormatAdapters.h
M llvm/include/llvm/Support/FormatCommon.h
M llvm/include/llvm/Support/FormatProviders.h
M llvm/include/llvm/Support/FormatVariadic.h
M llvm/include/llvm/Support/FormatVariadicDetails.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/Registry.h
M llvm/include/llvm/Support/TextEncoding.h
M llvm/include/llvm/Support/VersionTuple.h
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Analysis/AssumptionCache.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DemandedBits.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CriticalAntiDepBreaker.h
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
R llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/RDFRegisters.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/RegisterCoalescer.h
M llvm/lib/CodeGen/RegisterScavenging.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/PDB/Native/DbiStream.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCInstrInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/ObjectYAML/CMakeLists.txt
A llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/ProfileData/SampleProfWriter.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/FormatVariadic.cpp
M llvm/lib/Support/TextEncoding.cpp
M llvm/lib/Support/UnicodeNameToCodepoint.cpp
M llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/Hexagon/BitTracker.h
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.h
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
M llvm/lib/Target/MSP430/CMakeLists.txt
M llvm/lib/Target/MSP430/MSP430.h
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
A llvm/lib/Target/MSP430/MSP430AsmPrinter.h
M llvm/lib/Target/MSP430/MSP430BranchSelector.cpp
A llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
A llvm/lib/Target/MSP430/MSP430PassRegistry.def
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.h
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.h
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVAuxDataHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/LeonPasses.cpp
M llvm/lib/Target/Sparc/LeonPasses.h
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/AssumptionCache/basic.ll
M llvm/test/Analysis/CostModel/AArch64/arith.ll
M llvm/test/Analysis/CostModel/AArch64/mul.ll
M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/DemandedBits/intrinsics.ll
A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-non-addrec-after-predicates.ll
M llvm/test/Analysis/ScalarEvolution/add-like-or.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Assembler/invalid-immarg5.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-lse2.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-rcpc3.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-v8a.ll
A llvm/test/CodeGen/AArch64/Atomics/aarch64_i128_endianness.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
A llvm/test/CodeGen/AArch64/GlobalISel/insert-subvector.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/threadlocal-address.ll
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
A llvm/test/CodeGen/AArch64/build-vector-reconstructshuffle.ll
A llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
A llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
M llvm/test/CodeGen/AArch64/sve-masked-gather-64b-unscaled.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-pred-log.ll
M llvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
A llvm/test/CodeGen/AArch64/sve2p1-while-pn-folds.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2c.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/rewrite-mfma-form-spill-cost-reset.ll
M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/ARM/machine-outliner-thunk-tcgpr.mir
A llvm/test/CodeGen/DirectX/InterlockedOr.ll
M llvm/test/CodeGen/DirectX/legalize-switch-unreachable.ll
M llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/Hexagon/reserved-regs.ll
A llvm/test/CodeGen/Hexagon/vselect.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
M llvm/test/CodeGen/MSP430/selectcc.ll
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
M llvm/test/CodeGen/NVPTX/empty-type.ll
M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap-invalid.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-invalid.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-invalid.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-scale-d-invalid.ll
A llvm/test/CodeGen/PowerPC/abdu-neg.ll
A llvm/test/CodeGen/PowerPC/abdu.ll
M llvm/test/CodeGen/PowerPC/misched.ll
A llvm/test/CodeGen/RISCV/determine-callee-saves-gpr.mir
M llvm/test/CodeGen/RISCV/make-compressible-for-store-address.mir
M llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
M llvm/test/CodeGen/RISCV/make-compressible-xqci.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
M llvm/test/CodeGen/RISCV/make-compressible-zfinx.mir
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
M llvm/test/CodeGen/RISCV/make-compressible.mir
M llvm/test/CodeGen/RISCV/rvp-bitcast-paired.ll
A llvm/test/CodeGen/RISCV/rvp-bitreverse-zbkb.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvdot4a8i.ll
M llvm/test/CodeGen/RISCV/rvv/pr206788.ll
M llvm/test/CodeGen/RISCV/rvv/pr52475.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll
M llvm/test/CodeGen/SPARC/bswap.ll
A llvm/test/CodeGen/SPARC/tn0010.ll
M llvm/test/CodeGen/SPARC/tn0010.mir
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_bfloat16_load_store_xchg.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_load_store_xchg_cmpxchg.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedOr.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedOr_spv_i64.ll
M llvm/test/CodeGen/SPIRV/transcoding/load-atomic.ll
M llvm/test/CodeGen/SPIRV/transcoding/store-atomic.ll
M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-bitreverse.ll
A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics-mem.ll
A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics.ll
A llvm/test/CodeGen/X86/avx512bmm-vbmac-intrinsics.ll
M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
M llvm/test/CodeGen/X86/buildvec-extract.ll
M llvm/test/CodeGen/X86/clmul-vector-256.ll
M llvm/test/CodeGen/X86/clmul-vector-512.ll
M llvm/test/CodeGen/X86/clmul-vector.ll
A llvm/test/CodeGen/X86/combine-fcmp-uno-self.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
A llvm/test/CodeGen/X86/compress-evex-vpmov-blendv.mir
M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/haddsub-2.ll
M llvm/test/CodeGen/X86/haddsub-shuf.ll
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/CodeGen/X86/haddsub.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/load-partial.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/phaddsub-undef.ll
M llvm/test/CodeGen/X86/phaddsub.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
A llvm/test/DebugInfo/X86/implicit-value-truncated-integer.ll
M llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
M llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
A llvm/test/FileCheck/unmatched-substs-captures.txt
A llvm/test/Instrumentation/Instrumentor/bad_spelling.ll
A llvm/test/Instrumentation/Instrumentor/bad_spelling_config.json
M llvm/test/MC/AArch64/arm-poe2.s
M llvm/test/MC/AArch64/armv8.2a-statistical-profiling.s
M llvm/test/MC/AArch64/armv8.4a-trace-error.s
M llvm/test/MC/AArch64/armv8.4a-trace.s
M llvm/test/MC/AArch64/armv8.5a-bti.s
A llvm/test/MC/AArch64/armv9.6a-pcdphint-diagnostics.s
M llvm/test/MC/AArch64/armv9.6a-pcdphint.s
M llvm/test/MC/AArch64/armv9.7a-memsys.s
M llvm/test/MC/AArch64/basic-a64-instructions.s
A llvm/test/MC/AArch64/hinte-diagnostics.s
A llvm/test/MC/AArch64/hinte.s
M llvm/test/MC/AArch64/ras-extension.s
M llvm/test/MC/AArch64/speculation-barriers.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
A llvm/test/MC/Disassembler/X86/avx512bmm-32.txt
A llvm/test/MC/Disassembler/X86/avx512bmm-64.txt
M llvm/test/MC/RISCV/XTHeadBa-invalid.s
M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
M llvm/test/MC/RISCV/function-call-invalid.s
M llvm/test/MC/RISCV/insn-invalid.s
M llvm/test/MC/RISCV/insn_c-invalid.s
M llvm/test/MC/RISCV/insn_xqci-invalid.s
M llvm/test/MC/RISCV/invalid-attribute.s
M llvm/test/MC/RISCV/priv-invalid.s
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rv32dc-invalid.s
M llvm/test/MC/RISCV/rv32fc-invalid.s
M llvm/test/MC/RISCV/rv32h-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32xtheadbs-invalid.s
M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv32zba-invalid.s
M llvm/test/MC/RISCV/rv32zbb-invalid.s
M llvm/test/MC/RISCV/rv32zbc-invalid.s
M llvm/test/MC/RISCV/rv32zbkc-invalid.s
M llvm/test/MC/RISCV/rv32zbkx-invalid.s
M llvm/test/MC/RISCV/rv32zbs-invalid.s
M llvm/test/MC/RISCV/rv32zclsd-invalid.s
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rv32zdinx-invalid.s
M llvm/test/MC/RISCV/rv32zfinx-invalid.s
M llvm/test/MC/RISCV/rv32zhinx-invalid.s
M llvm/test/MC/RISCV/rv32zhinxmin-invalid.s
M llvm/test/MC/RISCV/rv32zimop-invalid.s
M llvm/test/MC/RISCV/rv64c-invalid.s
M llvm/test/MC/RISCV/rv64h-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64p-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s
M llvm/test/MC/RISCV/rv64zba-invalid.s
M llvm/test/MC/RISCV/rv64zbb-invalid.s
M llvm/test/MC/RISCV/rv64zbs-invalid.s
M llvm/test/MC/RISCV/rv64zdinx-invalid.s
M llvm/test/MC/RISCV/rv64zfinx-invalid.s
M llvm/test/MC/RISCV/rv64zhinx-invalid.s
M llvm/test/MC/RISCV/rv64zhinxmin-invalid.s
M llvm/test/MC/RISCV/rva-aliases-invalid.s
M llvm/test/MC/RISCV/rvc-hints-invalid.s
M llvm/test/MC/RISCV/rve-invalid.s
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
M llvm/test/MC/RISCV/rvv/invalid.s
M llvm/test/MC/RISCV/rvv/xsfmm-invalid.s
M llvm/test/MC/RISCV/rvv/zvvfmm-invalid.s
A llvm/test/MC/RISCV/rvy-build-attributes.s
A llvm/test/MC/RISCV/rvy-invalid-attributes.s
M llvm/test/MC/RISCV/rvy/rvy-basic-invalid.s
M llvm/test/MC/RISCV/rvzicond-invalid.s
M llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/RISCV/xqci-access-pseudos.s
M llvm/test/MC/RISCV/xqcia-invalid.s
M llvm/test/MC/RISCV/xqciac-invalid.s
M llvm/test/MC/RISCV/xqcibi-invalid.s
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcicli-invalid.s
M llvm/test/MC/RISCV/xqcicm-invalid.s
M llvm/test/MC/RISCV/xqcics-invalid.s
M llvm/test/MC/RISCV/xqcicsr-invalid.s
M llvm/test/MC/RISCV/xqciint-invalid.s
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqcilb-invalid.s
M llvm/test/MC/RISCV/xqcili-invalid.s
M llvm/test/MC/RISCV/xqcilia-invalid.s
M llvm/test/MC/RISCV/xqcilo-invalid.s
M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
M llvm/test/MC/RISCV/xqcilsm-invalid.s
M llvm/test/MC/RISCV/xqcisim-invalid.s
M llvm/test/MC/RISCV/xqcisls-invalid.s
M llvm/test/MC/RISCV/xqcisync-invalid.s
M llvm/test/MC/RISCV/xsifive-invalid.s
M llvm/test/MC/RISCV/xtheadcondmov-invalid.s
M llvm/test/MC/RISCV/xtheadmac-invalid.s
M llvm/test/MC/RISCV/xtheadsync-invalid.s
A llvm/test/MC/X86/avx512bmm-32-att.s
A llvm/test/MC/X86/avx512bmm-32-intel.s
A llvm/test/MC/X86/avx512bmm-64-att.s
A llvm/test/MC/X86/avx512bmm-64-intel.s
M llvm/test/TableGen/2010-03-24-PrematureDefaults.td
M llvm/test/TableGen/AnonDefinitionOnDemand.td
M llvm/test/TableGen/ClassInstanceValue.td
M llvm/test/TableGen/Dag.td
M llvm/test/TableGen/DefmInherit.td
M llvm/test/TableGen/DefmInsideMultiClass.td
A llvm/test/TableGen/ExegesisRawPfmCounters.td
M llvm/test/TableGen/FieldAccess.td
M llvm/test/TableGen/ForwardRef.td
M llvm/test/TableGen/LetInsideMultiClasses.td
M llvm/test/TableGen/ListArgs.td
M llvm/test/TableGen/ListArgsSimple.td
M llvm/test/TableGen/ListConversion.td
M llvm/test/TableGen/ListManip.td
M llvm/test/TableGen/ListOfList.td
M llvm/test/TableGen/ListSlices.td
M llvm/test/TableGen/LoLoL.td
M llvm/test/TableGen/MacroFusion.td
M llvm/test/TableGen/MultiClass-def-fail.td
M llvm/test/TableGen/MultiClass-defm-fail.td
M llvm/test/TableGen/MultiClass-defm.td
M llvm/test/TableGen/MultiClass.td
M llvm/test/TableGen/MultiClassDefName.td
M llvm/test/TableGen/MultiClassInherit.td
M llvm/test/TableGen/MultiPat.td
M llvm/test/TableGen/Paste.td
M llvm/test/TableGen/RegisterClassCopyCost.td
M llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
M llvm/test/TableGen/RegisterInfoEmitter-regcost.td
M llvm/test/TableGen/RegisterInfoEmitter-tsflags.td
M llvm/test/TableGen/SetTheory.td
M llvm/test/TableGen/Slice.td
M llvm/test/TableGen/SuperSubclassSameName.td
M llvm/test/TableGen/TargetInstrInfo.td
M llvm/test/TableGen/TargetInstrSpec.td
M llvm/test/TableGen/TemplateArgRename.td
M llvm/test/TableGen/Tree.td
M llvm/test/TableGen/TreeNames.td
M llvm/test/TableGen/TwoLevelName.td
M llvm/test/TableGen/UnsetBitInit.td
M llvm/test/TableGen/ValidIdentifiers.td
M llvm/test/TableGen/arithmetic.td
M llvm/test/TableGen/cast-typeerror.td
M llvm/test/TableGen/cast.td
M llvm/test/TableGen/code.td
M llvm/test/TableGen/cond-bitlist.td
M llvm/test/TableGen/cond-default.td
M llvm/test/TableGen/cond-empty-list-arg.td
M llvm/test/TableGen/cond-inheritance.td
M llvm/test/TableGen/cond-let.td
M llvm/test/TableGen/cond-list.td
M llvm/test/TableGen/cond-subclass.td
M llvm/test/TableGen/cond-type.td
M llvm/test/TableGen/cond-usage.td
M llvm/test/TableGen/condsbit.td
M llvm/test/TableGen/dag-functional.td
M llvm/test/TableGen/defmclass.td
M llvm/test/TableGen/defset-typeerror.td
M llvm/test/TableGen/defset.td
M llvm/test/TableGen/empty.td
M llvm/test/TableGen/eq.td
M llvm/test/TableGen/eqbit.td
M llvm/test/TableGen/exists-error-non-string.td
M llvm/test/TableGen/exists-error-record.td
M llvm/test/TableGen/exists-error-uninitialized.td
M llvm/test/TableGen/exists.td
M llvm/test/TableGen/field-access-initializers.td
M llvm/test/TableGen/foldl.td
M llvm/test/TableGen/foreach-eval.td
M llvm/test/TableGen/foreach-leak.td
M llvm/test/TableGen/foreach-multiclass.td
M llvm/test/TableGen/foreach.td
M llvm/test/TableGen/generic-tables-instruction.td
M llvm/test/TableGen/generic-tables.td
M llvm/test/TableGen/if-empty-list-arg.td
M llvm/test/TableGen/if-type.td
M llvm/test/TableGen/if-unresolved-cast.td
M llvm/test/TableGen/if.td
M llvm/test/TableGen/ifbit.td
M llvm/test/TableGen/instances.td
A llvm/test/TableGen/intrinsic-default-args.td
M llvm/test/TableGen/intrinsic-long-name.td
M llvm/test/TableGen/intrinsic-varargs.td
M llvm/test/TableGen/isa.td
M llvm/test/TableGen/list-element-bitref.td
M llvm/test/TableGen/match.td
M llvm/test/TableGen/math.td
M llvm/test/TableGen/name-resolution-consistency.td
M llvm/test/TableGen/pr8330.td
M llvm/test/TableGen/range-lists.td
M llvm/test/TableGen/range-op.td
M llvm/test/TableGen/searchabletables-intrinsic.td
A llvm/test/TableGen/searchabletables-multi-string-key.td
M llvm/test/TableGen/self-reference-recursion.td
M llvm/test/TableGen/self-reference-typeerror.td
M llvm/test/TableGen/self-reference.td
M llvm/test/TableGen/size.td
M llvm/test/TableGen/submulticlass-leteq.td
M llvm/test/TableGen/submulticlass-typecheck.td
M llvm/test/TableGen/subst.td
M llvm/test/TableGen/subst2.td
M llvm/test/TableGen/template-arg-dependency.td
M llvm/test/TableGen/usevalname.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/volatile.ll
M llvm/test/Transforms/IndVarSimplify/exit-value-gep-inbounds.ll
A llvm/test/Transforms/Inline/X86/always-inline-features.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-pairwise-add-long.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/add4.ll
M llvm/test/Transforms/InstCombine/assume-cache-update.ll
M llvm/test/Transforms/InstCombine/assume.ll
A llvm/test/Transforms/InstCombine/fptoui-of-fdiv.ll
M llvm/test/Transforms/InstCombine/fptrunc.ll
M llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstSimplify/ConstProp/saturating-add-sub.ll
M llvm/test/Transforms/InstSimplify/cast.ll
A llvm/test/Transforms/LoopInterchange/dependency-all-neg-eq.ll
M llvm/test/Transforms/LoopUnroll/X86/high-cost-expansion.ll
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/neon-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-predicate-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-predicate.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-trip-count-decisions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-scalarivsext-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/alias-mask-force-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/clmul.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model-i386.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-load.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
M llvm/test/Transforms/LoopVectorize/flags.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/pr125278.ll
M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
M llvm/test/Transforms/LoopVectorize/pr31190.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-tail-folding.ll
M llvm/test/Transforms/MergeICmps/X86/no-gep-other-work.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
R llvm/test/Transforms/RelLookupTableConverter/AArch64/no_relative_lookup_table.ll
M llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll
M llvm/test/Transforms/RewriteStatepointsForGC/intrinsics-bare.ll
R llvm/test/Transforms/SCCP/bitcast-vector-refinement.l.ll
A llvm/test/Transforms/SCCP/vector-refinement.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
A llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
A llvm/test/Transforms/SLPVectorizer/X86/store-expand-non-pow2.ll
M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
A llvm/test/Transforms/SLPVectorizer/non-power-of-2-buildvector.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
M llvm/test/Transforms/SimplifyCFG/hoist-common-skip-pseudoprobe.ll
M llvm/test/Transforms/SimplifyCFG/hoist-common-skip.ll
M llvm/test/Verifier/AMDGPU/test-cvt-fp4f6f8-immarg-ranges.ll
M llvm/test/Verifier/NVPTX/fence-proxy.tensormap.ll
M llvm/test/Verifier/NVPTX/setmaxnreg.ll
M llvm/test/Verifier/intrinsic-bad-arg-type1.ll
M llvm/test/Verifier/intrinsic-immarg.ll
A llvm/test/Verifier/vp-intrinsics-bad.ll
M llvm/test/tools/llubi/fp_nan_preferred.ll
M llvm/test/tools/llubi/fp_nan_quieting.ll
M llvm/test/tools/llubi/fp_nan_target_specific_sparc.ll
M llvm/test/tools/llubi/fp_nan_target_specific_wasm32.ll
M llvm/test/tools/llubi/fp_nan_target_specific_x86_64_linux.ll
M llvm/test/tools/llubi/fp_nan_unchanged.ll
A llvm/test/tools/llubi/intr_experimental_vector.ll
A llvm/test/tools/llubi/undefmem_nondet.ll
A llvm/test/tools/llubi/undefmem_zero.ll
A llvm/test/tools/llvm-pdbutil/dbi-section-contribs-v2-yaml.test
A llvm/test/tools/llvm-pdbutil/dbi-section-contribs-ver60-yaml.test
A llvm/test/tools/llvm-pdbutil/opt-docnum.test
A llvm/test/tools/llvm-split/SplitByCategory/recursion-and-cycles.ll
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/llubi.cpp
M llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/unittests/ADT/APFloatTest.cpp
M llvm/unittests/ADT/ArrayRefTest.cpp
M llvm/unittests/ADT/TwineTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/UnicodeTest.cpp
M llvm/unittests/Support/VersionTupleTest.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/ExegesisEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86DisassemblerTables.h
M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
M llvm/utils/docker/README
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
M llvm/utils/lit/lit/InprocBuiltins.py
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/util.py
M llvm/utils/lit/tests/shtest-output-printing.py
M mlir/cmake/modules/AddMLIR.cmake
M mlir/include/mlir/Bytecode/BytecodeImplementation.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOffloadUtils.h
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/IR/BuiltinDialectBytecode.td
M mlir/include/mlir/IR/BytecodeBase.td
M mlir/include/mlir/Interfaces/TilingInterface.h
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/include/mlir/TableGen/Format.h
M mlir/lib/ABI/ABITypeMapper.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/SwapExtractSliceWithProducerPatterns.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/Interfaces/TilingInterface.cpp
M mlir/lib/RegisterAllDialects.cpp
M mlir/lib/TableGen/Format.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/CAPI/rewrite.c
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Affine/pipeline-data-transfer.mlir
M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed.mlir
M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
M mlir/test/Dialect/Builtin/Bytecode/types.mlir
A mlir/test/Dialect/Linalg/scalable-pack-consumer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-pack-producer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-pack-tiling.mlir
A mlir/test/Dialect/Linalg/scalable-unpack-consumer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-unpack-producer-fusion.mlir
A mlir/test/Dialect/Linalg/scalable-unpack-tiling.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/unify-aliased-resource.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
A mlir/test/Target/LLVMIR/omptarget-declare-target-func-visibility.mlir
M mlir/test/Target/LLVMIR/omptarget-device-shared-mem.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/unittests/ABI/ABITypeMapperTest.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/test/offloading/fortran/target-no-loop.f90
A offload/test/ompt/get_num_devices.c
M offload/unittests/OffloadAPI/common/Environment.cpp
M openmp/runtime/src/ompt-general.cpp
M orc-rt/include/orc-rt/Error.h
M orc-rt/include/orc-rt/RTTI.h
M orc-rt/include/orc-rt/Session.h
M orc-rt/lib/executor/RTTI.cpp
M orc-rt/lib/executor/Session.cpp
M orc-rt/unittests/ErrorTest.cpp
M orc-rt/unittests/InProcessControllerAccessTest.cpp
M orc-rt/unittests/SessionTest.cpp
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kovdan01/ptrauth-module-flags-mismatch
Commit: 309be5aad918002cfcfdbc677ceafb7341c52e5f
https://github.com/llvm/llvm-project/commit/309be5aad918002cfcfdbc677ceafb7341c52e5f
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2026-07-07 (Tue, 07 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
M llvm/test/CodeGen/AArch64/arm64-tls-dynamics.ll
M llvm/test/CodeGen/AArch64/basic-pic.ll
M llvm/test/CodeGen/AArch64/elf-globals-pic.ll
M llvm/test/CodeGen/AArch64/extern-weak.ll
M llvm/test/CodeGen/AArch64/got-abuse.ll
M llvm/test/CodeGen/AArch64/ptrauth-elf-got-function-symbols.ll
M llvm/test/CodeGen/AArch64/tagged-globals-pic.ll
M llvm/test/CodeGen/AArch64/tiny-model-pic.ll
M llvm/test/CodeGen/AArch64/tiny-model-static.ll
Log Message:
-----------
Address review comments
Compare: https://github.com/llvm/llvm-project/compare/2626bf63c82e...309be5aad918
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