[all-commits] [llvm/llvm-project] 75af82: [VPlan] Expand SCEV casts in VPSCEVExpander. (#206...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Mon Jul 6 14:54:57 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slp-support-memory-runtime-alias-checks
Home: https://github.com/llvm/llvm-project
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: e9e37211456e54b2e57f4b32cf4306012355601b
https://github.com/llvm/llvm-project/commit/e9e37211456e54b2e57f4b32cf4306012355601b
Author: David Green <david.green at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
R llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.ll
Log Message:
-----------
[AArch64] Remove duplicate combine-max-min.ll test. NFC (#207679)
Commit: d180df7d2d54b8460e2e20e46e69d617bbebff2f
https://github.com/llvm/llvm-project/commit/d180df7d2d54b8460e2e20e46e69d617bbebff2f
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fixed-point-math-i64.ll
Log Message:
-----------
[SPIR-V] Support i64 smul.fix/umul.fix via SPV_ALTERA_arbitrary_precision_integers (#207405)
Commit: 61679c3a299b2a858642feb805a5b383ae7d0902
https://github.com/llvm/llvm-project/commit/61679c3a299b2a858642feb805a5b383ae7d0902
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
Log Message:
-----------
[libc] Add protocol family constants (#206911)
These aren't in POSIX, but are in 4.2BSD and they're still widely used.
Commit: d93dfabfba1b2450e2571b72e7344def2703b0b1
https://github.com/llvm/llvm-project/commit/d93dfabfba1b2450e2571b72e7344def2703b0b1
Author: Yunqing Yu <yunqingy at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
A llvm/test/Verifier/NVPTX/tensormap-replace.ll
Log Message:
-----------
[NVPTX] Add missing Range attr to tensormap.replace intrinsics. (#207099)
Add missing `Range=[0, 5)` for `%ord imm` operand in
`nvvm.tensormap.replace` intrinsics.
Commit: 0c38875e1ae414695265f82bb91643c3d1ebcb9f
https://github.com/llvm/llvm-project/commit/0c38875e1ae414695265f82bb91643c3d1ebcb9f
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-07-06 (Mon, 06 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
R lldb/test/API/functionalities/fork/stop/Makefile
R lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
R lldb/test/API/functionalities/fork/stop/main.c
R lldb/test/Shell/Subprocess/stop-on-fork.test
R lldb/test/Shell/Subprocess/stop-on-vfork.test
Log Message:
-----------
[lldb] Revert stop-on-fork and stop-on-vfork (#207663)
This was causing failures on green dragon
Commit: bf74249b5ecd651ca99043bea11a8b64301557d3
https://github.com/llvm/llvm-project/commit/bf74249b5ecd651ca99043bea11a8b64301557d3
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide.cpp
M clang/test/CodeGenCoroutines/coro-halo.cpp
M clang/test/CodeGenCoroutines/pr65018.cpp
Log Message:
-----------
[Clang] Require X86 backend for some coroutine tests (#207681)
The wrapper functions are generated without target features.
They can still be inlined based on target-specific logic, but this
requires the target to be available.
We should fix this by properly generating the target features,
but for now add a REQUIRES to unbreak the tests.
Commit: 2866d2333c477dead9a37248316e8d172e3b612a
https://github.com/llvm/llvm-project/commit/2866d2333c477dead9a37248316e8d172e3b612a
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
A llvm/test/Bitcode/Inputs/aarch64-memory-attribute-upgrade.bc
A llvm/test/Bitcode/Inputs/x86-memory-attribute-upgrade.bc
A llvm/test/Bitcode/target-memory-attribute.ll
A llvm/test/Transforms/LICM/AArch64/sme-fp8-hoist.ll
Log Message:
-----------
[AArch64][Bitcode] Use target memory for SME state (#205829)
Model AArch64 ZA and ZT0 intrinsic state using target_mem instead of
inaccessiblemem.
Bump the bitcode memory-attribute encoding and upgrade old AArch64
bitcode so prior inaccessiblemem effects are preserved on the new target
memory locations. Non-AArch64 bitcode keeps the old interpretation.
Commit: b30c365833b2d9d06c9de28551302acf524a2b04
https://github.com/llvm/llvm-project/commit/b30c365833b2d9d06c9de28551302acf524a2b04
Author: owenca <owenpiano at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
Log Message:
-----------
[clang-format][NFC] Refactor UnwrappedLineParser::parseLabel (#207674)
See
https://github.com/llvm/llvm-project/pull/196815#issuecomment-4470006692
Commit: 753ceecfdcdf43d626ddd9534cdf470572a8deda
https://github.com/llvm/llvm-project/commit/753ceecfdcdf43d626ddd9534cdf470572a8deda
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/socket.yaml
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sockatmark.cpp
A libc/src/sys/socket/sockatmark.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sockatmark_test.cpp
Log Message:
-----------
[libc] Implement sockatmark (#205400)
This patch implements sockatmark as a simple wrapper around
ioctl(SIOCATMARK).
I don't test it with actual out of band data, as that requires a TCP
connection, which is more complicated to set up.
Assisted by Gemini.
Commit: 74eebbe02b85b28e4c6519062d82c146987b5d8e
https://github.com/llvm/llvm-project/commit/74eebbe02b85b28e4c6519062d82c146987b5d8e
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M bolt/unittests/Profile/PerfScripts.cpp
Log Message:
-----------
[BOLT] Fixed PerfScript unittest for X86 (#207408)
The test was not prepared to run on X86 target.
This change parameterized the test function to ensure proper
initialization for different targets.
Commit: 40d671f85d28a683fd5820b2e0a356f2d1cc58e3
https://github.com/llvm/llvm-project/commit/40d671f85d28a683fd5820b2e0a356f2d1cc58e3
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/benchmarks/ImmutableSetIteratorBM.cpp
M llvm/include/llvm/ADT/ImmutableSet.h
Log Message:
-----------
[ADT][NFC] Use isEqual for ImmutableSet/Map tree canonicalization (#207596)
`ImutAVLFactory::getCanonicalTree` deduplicates a newly built tree
against the trees already in its cache. On a digest collision it
confirmed structural equality with `compareTreeWithSection`, a plain
element-by-element in-order walk that is always linear in the tree size.
`ImutAVLTree` already provides `isEqual`, which performs the same
structural comparison but skips subtrees that are shared by pointer.
These persistent trees are heavily structurally shared -- a tree
produced by `add`/`remove` shares everything but the mutated spine with
its predecessor -- so switching `getCanonicalTree` to `isEqual` reduces
the confirmation from `O(tree size)` to `O(number of differing nodes)`
in the common case, and is never asymptotically worse. The comparison is
exact, so canonicalization behavior is unchanged.
This builds on the recent iterator rewrite in #205552 ("Rewrite
ImmutableSet/Map in-order iterator without per-node state"), which made
in-order traversal and `skipSubTree` ~2x faster. That change is a
constant-factor speedup of the iterator primitive and it deliberately
preserved `skipSubTree`/`isEqual` semantics; this patch is complementary
and algorithmic: it routes canonicalization through the pointer-skipping
`isEqual`, cutting the number of nodes visited rather than the per-node
cost. The two compose -- the remaining traversal here runs on the faster
iterator from #205552.
This confirmation is the dominant cost of `ExplodedGraph`
canonicalization in the Clang Static Analyzer whenever many equivalent
`ProgramState`s are kept live and re-derived on different paths (for
example with node reclamation disabled): each re-derivation of an
already-cached `Environment`/`Store` map paid a full in-order walk to
confirm the match. On several large reproducers the analyzer's
`ImutAVLFactory` node comparisons dropped by ~26-36x with identical
diagnostics and identical `ExplodedGraph` node/step counts. (These
measurements already include #205552, so this speedup is on top of that
iterator win.)
`compareTreeWithSection` had no other callers and is removed.
## Analyzer wall-clock
Measured on the three reproducers from
https://github.com/llvm/llvm-project/issues/105512#issuecomment-2389083480,
best-of-3 wall-clock, `RelWithDebInfo` on an Apple M-series host. "ON"
is the default; "OFF" disables node reclamation (`-analyzer-config
graph-trim-interval=0`), the configuration that exposes the cost:
| Reproducer | Config | Before | After | Speedup |
| ------------ | ------ | -------- | ------- | ------- |
| ruby-unicode | ON | 2.18 s | 2.06 s | ~1.0x |
| ruby-unicode | OFF | 11.97 s | 2.28 s | ~5.2x |
| linux-topro | ON | 5.26 s | 5.08 s | ~1.0x |
| linux-topro | OFF | 11.16 s | 5.21 s | ~2.1x |
| MSP430 | ON | 2.71 s | 2.65 s | ~1.0x |
| MSP430 | OFF | 7.58 s | 2.71 s | ~2.8x |
The default (ON) path is unchanged within noise; the OFF path drops from
2.1-5.5x slower than ON to parity.
## Microbenchmark
Add a `CanonicalizeSharedEqual` case to `ImmutableSetIteratorBM`
covering `getCanonicalTree`/`isEqual`. It re-canonicalizes a freshly
built tree that is equal to, and shares subtrees with, a cached tree
(`RelWithDebInfo`, same host):
| Set size `N` | Before | After | Speedup |
| ------------ | --------- | ------- | ------- |
| 16 | 212 ns | 186 ns | ~1.1x |
| 256 | 1354 ns | 347 ns | ~3.9x |
| 4096 | 21603 ns | 547 ns | ~40x |
| 65536 | 677240 ns | 1015 ns | ~667x |
The existing `Iterate`/`Skip`/`CompareSamePos` cases are unchanged; this
does not touch the iterator.
Assisted by: Claude Opus 4.8
Commit: 672342f104a17a49f1286e5852fd0a9799c457fb
https://github.com/llvm/llvm-project/commit/672342f104a17a49f1286e5852fd0a9799c457fb
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/Verifier/NVPTX/tensormap-replace.ll
Log Message:
-----------
[NVPTX] Regenerate check lines (NFC) (#207684)
llvm-nvptx-nvidia-ubuntu buildbots were previously failing, appeared
after https://github.com/llvm/llvm-project/pull/207099.
Commit: 46367bb4fbc2617582227c2ceb468e8de44fef81
https://github.com/llvm/llvm-project/commit/46367bb4fbc2617582227c2ceb468e8de44fef81
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/legalize-vec-assertzext.ll
M llvm/test/CodeGen/X86/psadbw.ll
M llvm/test/CodeGen/X86/sad_variations.ll
M llvm/test/CodeGen/X86/trunc-subvector.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv_fix.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
Log Message:
-----------
[X86] Attempt to narrow XMM->i64 (v)movq -> (v)movd if the upper 32-bits are known to be zero (#207615)
Add a custom 'X86upperzero' tablegen pattern to match vectors where the
upper half bits of every element is known zero.
Saves 1 byte by using (V)MOVD instead of (V)MOVQ - and avoids
differences in X86/X64 codegen that was bloating diffs in some upcoming
VECREDUCE_ADD work.
I've added an extra psadbw.ll test to ensure that the extractstore
pattern isn't being affected.
Cleanup for the upcoming VECREDUCE_ADD handling which will be using
PSADBW more aggressively (v2i64 result type but only 16 active bits for
element).
Commit: b81a4c10c8736e5c2bfec4cc091713e4cb7b5b3a
https://github.com/llvm/llvm-project/commit/b81a4c10c8736e5c2bfec4cc091713e4cb7b5b3a
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
Log Message:
-----------
[AMDGPU] Fix s.barrier.init/signal.var member count mask (#207660)
The count was shifted before masking, so bits above the low 6 could leak
past the member count field in M0
Commit: 831ad2ee6af862965c21d7b785b0b00ed7bb7d9d
https://github.com/llvm/llvm-project/commit/831ad2ee6af862965c21d7b785b0b00ed7bb7d9d
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_ipv6_mreq.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_ipv6_mreq.h
M libc/include/netinet/in.yaml
M libc/test/src/netinet/CMakeLists.txt
M libc/test/src/netinet/in_test.cpp
Log Message:
-----------
[libc] Add struct ipv6_mreq and IPv6 socket options (#206448)
This patch adds struct ipv6_mreq and defines various IPv6 socket option
macros in <netinet/in.h>. I've also moved the existing option
definitions to the yaml file.
Assisted by Gemini.
Commit: 334eb772a25d700feb1f6c64b872cc693731b0b3
https://github.com/llvm/llvm-project/commit/334eb772a25d700feb1f6c64b872cc693731b0b3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIR-V] Add SPIRVToLLVM conversions for GL.FMix and CL.mix (#206935)
Commit: 65bbeff0bdcfa53e72517ed59ab510ab6ebd32bf
https://github.com/llvm/llvm-project/commit/65bbeff0bdcfa53e72517ed59ab510ab6ebd32bf
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 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.FClamp/SClamp/UClamp (#203831)
Lower the GLSL clamp ops as nested min/max following `min(max(x, y), z)`
---------
Co-authored-by: Igor Wodiany <dev at wodiany.com>
Commit: 8470dfb1e6190cc42c3eb151884533b8b4aba7e6
https://github.com/llvm/llvm-project/commit/8470dfb1e6190cc42c3eb151884533b8b4aba7e6
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Guard DW_OP_convert against null DWARF unit and empty stack (#207008)
`Evaluate_DW_OP_convert` dereferenced `eval_ctx.dwarf_cu` (the
`DWARFExpression` Delegate) whenever the operand DIE offset was
non-zero,
and unconditionally read `eval_ctx.stack.back()`. When a DWARF
expression is evaluated without a DWARF unit (as the
lldb-dwarf-expression-fuzzer does), two operand shapes crash:
- `DW_OP_convert` with a non-zero offset calls
`dwarf_cu->GetDIEBitSizeAndSign(...)` on a null Delegate.
- `DW_OP_convert` with nothing on the stack reads the back of an empty
vector.
The unit test feeds both with `dwarf_cu == nullptr` and crashes:
```
[ RUN ] DWARFExpression.DW_OP_convert
#2 SignalHandler(int, __siginfo*, void*)
#4 DWARFExpression::Evaluate(...)
#5 Evaluate(ArrayRef<unsigned char>, ...)
```
(SIGSEGV, the process aborts.)
Bail out with an error when the stack is empty, and when a non-zero DIE
offset is requested without a DWARF unit, instead of crashing.
Extends `DWARFExpression.DW_OP_convert` with these two cases, which
crash
without the fix.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 8e85d1f3d458ae91d8838ccde75c1488dd514794
https://github.com/llvm/llvm-project/commit/8e85d1f3d458ae91d8838ccde75c1488dd514794
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
A lldb/test/API/macosx/expedited-stack-memory/Makefile
A lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
A lldb/test/API/macosx/expedited-stack-memory/main.c
Log Message:
-----------
[lldb][test] Add expedited-stack-memory backtrace/locals packet test (#205897)
Add a Darwin API test that checks which gdb-remote packets lldb sends
while
inspecting the stack at a public stop, using the gdb-remote packet log
(the
same approach as TestExpeditedThreadPCs.py).
debugserver expedites the frame-pointer backchain in the `jThreadsInfo`
reply
at a public stop and lldb caches it, so:
- A backtrace (`GetNumFrames` + `GetFrameAtIndex` over every frame)
sends no
packets at all. With the memory cache disabled it must read the
backchain
frame by frame, which confirms the test exercises the unwinder's memory
reads.
- Examining frame locals is not covered by the expedite, so it reads
value
memory. The reads are classified as stack vs heap using the variables'
own addresses (known from main.c).
Locals are examined two ways, modeling how an IDE inspects values at a
stop:
walking the whole stack but examining only the selected frame's locals
(frame 0, as a variables view does on a stop), and examining every
frame's
locals (a "view all frames" mode). The stopped frame (`func_e`) carries
scalar,
aggregate, and pointer-to-heap locals so frame 0 alone reads both stack
and
heap memory; the outer frames keep locals so the all-frames case reads
the
same variety across several frames. Values are read with
`use_dynamic=eDynamicCanRunTarget` to match how an IDE reads them.
Commit: 4ffcfdfac177a7e7b3d9be20f73dd9d2890da006
https://github.com/llvm/llvm-project/commit/4ffcfdfac177a7e7b3d9be20f73dd9d2890da006
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb] Reject NULL key in PythonDictionary::GetItem (#205753)
A `breakpoint set -P <class>` with an invalid-UTF-8 class name crashes
lldb with `EXC_BAD_ACCESS`. The class name is passed through
unmodified, so the byte sequence `\xd0p` (an incomplete two-byte UTF-8
sequence) reaches the Python layer:
```
./bin/lldb -b -o $'breakpoint set -P \xd0p -f main.cpp' ./bin/lldb
...
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
Stack dump:
#4 PythonDictionary::GetItem(PythonObject const&) const
#6 PythonDictionary::GetItemForKey(PythonObject const&) const
#7 PythonObject::ResolveNameWithDictionary(StringRef, PythonDictionary const&)
#9 ScriptedPythonInterface::CreatePluginObject<...>(...)
```
`ResolveNameWithDictionary` builds a `PythonString` from the class name
and looks it up in the module dictionary. When the name is not valid
UTF-8, `PyUnicode_FromStringAndSize` returns `NULL`, so the
`PythonString` is left with `m_py_obj == NULL`. `GetItemForKey` forwards
that object to `GetItem`, which passed the `NULL` `PyObject *` straight
to `PyDict_GetItemWithError`.
Debugging the crashing lldb under lldb shows the `NULL` key arriving in
`GetItem`:
```
(lldb) break set -n lldb_private::python::PythonDictionary::GetItem
(lldb) run --no-use-colors -b -s /tmp/bp_cmds.txt
* stop reason = breakpoint 1.1
(lldb) up
(lldb) frame variable key.m_py_obj
(PyObject *) key.m_py_obj = nullptr
```
Continuing lands on the dereference of that `NULL` inside CPython:
```
(lldb) continue
* stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
frame #0: PyDict_GetItemWithError + 40
-> ldr x8, [x1, #0x8]
```
`x1` holds the key argument, which is `NULL`, so reading the type field
at offset `0x8` faults at address `0x8`.
`GetItem` already guards against an invalid dictionary (`!IsValid()`);
extend that guard to reject an invalid key as well and return
`nullDeref()`. `GetItemForKey` consumes the error and returns an empty
`PythonObject`, so existing callers such as `ResolveNameWithDictionary`
keep working and the breakpoint command now fails cleanly instead of
crashing.
This was found by `lldb-commandinterpreter-fuzzer`.
Adds `PythonDataObjectsTest.TestPythonDictionaryGetItemWithInvalidKey`,
which feeds an invalid-UTF-8 key to `GetItem`. Without the fix the test
dereferences the `NULL` key and crashes (`SIGSEGV`).
Commit: fcfc9167b628a2fae8fe1d662989ff7752d905ad
https://github.com/llvm/llvm-project/commit/fcfc9167b628a2fae8fe1d662989ff7752d905ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 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/include/llvm/Target/TargetMachine.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/Target/TargetMachine.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:
-----------
Reapply [IR] Explicitly specify target feature for module asm (#204548) (#207677)
Reapply with a use-after-free fix. The MC subtarget used for inline
assembly has to stay alive until finalization, not only during the
emitInlineAsm() call.
-----
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: 58bc8dff332e0d4d7609b6dbda62200355bbc75f
https://github.com/llvm/llvm-project/commit/58bc8dff332e0d4d7609b6dbda62200355bbc75f
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
Log Message:
-----------
[mlir][x86] AMX memref source check (#206785)
Adds extra checks to AMX lowering to ensure data is read from memrefs as
tensors are not supported by x86 dialect ops.
Commit: 9de8a97a9e3551a97e342823a9b30960e4186212
https://github.com/llvm/llvm-project/commit/9de8a97a9e3551a97e342823a9b30960e4186212
Author: Valery Dmitriev <valeryd at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
M llvm/test/CodeGen/PowerPC/mcp-elim-eviction-chain.mir
Log Message:
-----------
[MCP] Fix bug in spill copy elimination folding chain across a call. (#206858)
findLastSeenDefInCopy interface does not check for possible register
clobbering between the def and current instruction. That may lead to not
having a caller preserved register being preserved across a call.
Replaced with findAvailCopy that also does checks for a regmask operand
between the def and current instruction.
Commit: f9f11eb515a81d0afe0c81c242aa93c40cff66f4
https://github.com/llvm/llvm-project/commit/f9f11eb515a81d0afe0c81c242aa93c40cff66f4
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
Log Message:
-----------
[AArch64][InstCombine] xor(cmpne) -> cmpeq (#207007)
Fold xor(cmpne(pg, v, 0), pg) into cmpeq(pv, v, 0)
Created after initially trying as a DAGCombine in #206931.
Commit: 57b1519e491498996ecb8599f6bbbf511a3146e8
https://github.com/llvm/llvm-project/commit/57b1519e491498996ecb8599f6bbbf511a3146e8
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV][NFC] Remove unnecessary ZIP/VISNI checks (#207683)
We should remove them when removing `XRivosVizip` and `XRivosVisni`
but it seems UTC failed to do that.
Commit: 335a584e9d95db0c12b3f99d7c5ae19be2712128
https://github.com/llvm/llvm-project/commit/335a584e9d95db0c12b3f99d7c5ae19be2712128
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_DAPConnection.py
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_EventHistory.py
A lldb/test/API/tools/lldb-dap/utils/sample_dap_log.json
Log Message:
-----------
[lldb-dap] Add tests for DAPConnection and EventHistory (#207037)
Add tests for DAPConnection and EventHistory
Commit: 18c0f3a20c46b79d5a1023372982bc73b39b6627
https://github.com/llvm/llvm-project/commit/18c0f3a20c46b79d5a1023372982bc73b39b6627
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/future
Log Message:
-----------
[libc++] Use _LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23 in <future> (#207668)
`_LIBCPP_REMOVE_TRANSITIVE_INCLUDES` was used accidentally.
Commit: c196103a5b61087792bf1e6970f19b7b1f3e7f09
https://github.com/llvm/llvm-project/commit/c196103a5b61087792bf1e6970f19b7b1f3e7f09
Author: Raphael Isemann <rise at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Utility/ConstString.h
M lldb/source/Target/Statistics.cpp
M lldb/source/Utility/ConstString.cpp
M lldb/test/API/commands/statistics/basic/TestStats.py
Log Message:
-----------
[lldb] Reintroduce ConstString stats (#207694)
These stats were removed in ca59c69132eef55cc42bf8854706590dfddf5584 .
This patch restores the stats in their original form by tracking the
removed value in our own LLDB-specific counter.
Commit: 3ce39bb78b9c1cc3ca65b8a62ae798fcf7fe44ee
https://github.com/llvm/llvm-project/commit/3ce39bb78b9c1cc3ca65b8a62ae798fcf7fe44ee
Author: Wenju He <wenju.he at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
Log Message:
-----------
[offload] Fix duplicate __llvm_write_custom_profile on Windows PGO builds (#207366)
MSVC/clang-cl lack __attribute__((weak)), so GlobalHandler.cpp provided
a strong stub for __llvm_write_custom_profile. When clang_rt.profile is
linked (e.g. instrumented/PGO builds) lld-link rejects the duplicate
strong symbol.
Replace the stub + CMake workaround with the /alternatename linker
pragma, which is the standard Windows weak-symbol equivalent used by
compiler-rt itself. The linker picks compiler-rt's strong definition
when present.
Fix the guard: use _WIN32 && !__MINGW32__ (not _MSC_VER) so the stub and
/alternatename pragma apply to plain clang-on-Windows too, while MinGW
(which supports __attribute__((weak)) natively) continues to use the
real weak declaration.
Also fix the stub signature from 8 to 10 parameters to match the header.
Assisted-by: Claude
Commit: dc9edeb0453bd54b7461dae7feb5b35b784914fa
https://github.com/llvm/llvm-project/commit/dc9edeb0453bd54b7461dae7feb5b35b784914fa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Log Message:
-----------
[AssumeBundleQueries] Remove unused code (#203927)
Some of the utilities in AssumeBundleQueris was only ever used in tests
for them, so there isn't much point in keeping the code around.
Commit: 07e98388aea4a6696598556500c0f3efac16497a
https://github.com/llvm/llvm-project/commit/07e98388aea4a6696598556500c0f3efac16497a
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
A llvm/test/CodeGen/RISCV/rvp-reverse.ll
Log Message:
-----------
[RISCV][P-ext] Support packed reverse intrinsics (#207574)
Following X86, this patch uses general shuffles for packed reverse
intrinsics.
Commit: eac4725ef0b505176af3d9bcca00688f53d911f1
https://github.com/llvm/llvm-project/commit/eac4725ef0b505176af3d9bcca00688f53d911f1
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
A llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.ll
Log Message:
-----------
[LV] Tests for combined exit conditions (#205104)
Some initial tests for loops where earlier scalar transforms have
combined a countable exit with an uncountable one.
Commit: 292c99c02eba6b5d2a8a6799636550494cdf7a88
https://github.com/llvm/llvm-project/commit/292c99c02eba6b5d2a8a6799636550494cdf7a88
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
Log Message:
-----------
[AMDGPU] Improve SelectionDAG codegen around barrier intrinsics (#207688)
When lowering some intrinsics use generic AND/OR nodes instead of
specific machine instructions. This allows DAG combines and ISel to
select better instructions like S_BFE_U32.
Commit: 5f4940efe9c121fb84ada13be9001f24cbef4a4c
https://github.com/llvm/llvm-project/commit/5f4940efe9c121fb84ada13be9001f24cbef4a4c
Author: unexpectedlydefined <91391114+unexpectedlydefined at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-dwarfdump.rst
M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
M llvm/tools/llvm-dwarfdump/Coverage.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Log Message:
-----------
[llvm-dwarfdump][LineCov 3/3] Add IR analysis for variable coverage (#195342)
Patch 3 of 3 to add to llvm-dwarfdump the ability to measure DWARF
coverage of local variables in terms of source lines, as discussed in
this RFC:
https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266
This patch adds an IR-level analysis in order to more accurately compute
the defined ranges for each variable. This avoids the problem of the
more naïve approach relying on source scopes, which overcounts as
coverable those lines where the variable is not yet defined (e.g. stack
variables).
The IR analysis requires IR to be provided to llvm-dwarfdump as a
separate `--variable-coverage-bitcode-file` argument (either textual IR
or bitcode; can be produced by various means e.g. `--save-temps
--emit-llvm`, `-ffat-lto-objects`,
[wllvm](https://github.com/travitch/whole-program-llvm)). The
recommended way to obtain a whole-program bitcode file is to use wllvm
as follows:
```sh
$ export LLVM_COMPILER=clang
$ CC=wllvm make # build as usual, but replace clang/clang++ with wllvm/wllvm++
$ extract-bc binfile # produces binfile.bc, which can be passed to llvm-dwarfdump
```
Commit: 4226a8c4a2708b71ce7e7e35494f17345c44d1f7
https://github.com/llvm/llvm-project/commit/4226a8c4a2708b71ce7e7e35494f17345c44d1f7
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-dwarfdump.rst
M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
M llvm/tools/llvm-dwarfdump/Coverage.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Log Message:
-----------
Revert "[llvm-dwarfdump][LineCov 3/3] Add IR analysis for variable coverage" (#207703)
Reverts llvm/llvm-project#195342
Change resulted in build errors resulting from not finding the
parseIRFile symbol while linking, example:
https://lab.llvm.org/buildbot/#/builders/67/builds/7988
Commit: 1dd849b006fe20560af01cfb0ccd64832e04f178
https://github.com/llvm/llvm-project/commit/1dd849b006fe20560af01cfb0ccd64832e04f178
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-pow2.ll
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add DemandedElts + OrZero handling to ISD::ZERO_EXTEND cases (#207697)
Fixes #181648
Commit: b9347e0f1bcfa92387fdb57954a081196c655601
https://github.com/llvm/llvm-project/commit/b9347e0f1bcfa92387fdb57954a081196c655601
Author: Luke Lau <luke at igalia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
Log Message:
-----------
[RISCV] Fold vp.reverse of vp.load through binary ops (#205529)
InstCombine canonicalizes reverses, including vp.reverses, by pulling
them through binary ops: https://godbolt.org/z/cs4M1TsE3
We have a combine that converts vp.reverses of vp.loads into
vp.strided.loads with a stride of -1, but it only matches the pattern
`vp.reverse(vp.load)` directly.
This PR teaches the combine to look through binary ops for vp.loads so
it can match the canonicalized form when there's a binary op that uses
the vp.reverse.
All leaves must be either a vp.load or a splat, but it still will only
convert one vp.load at a time. This combine isn't always profitable so
we should eventually remove it when it's done somewhere that's cost
model driven like the loop vectorizer or vector combine.
Commit: 3264e4eba83027a0f84eaca8e91569701d6611aa
https://github.com/llvm/llvm-project/commit/3264e4eba83027a0f84eaca8e91569701d6611aa
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
Log Message:
-----------
[SPIR-V] Fix invalid OpIMul emitted for i1 multiplication (#207388)
OpIMul requires integer scalar/vector operands
OpTypeBool is not considered an integer type and causes spirv-val
failure
Commit: fb1de34e8db8d11c764c7ff422879f923554cbd9
https://github.com/llvm/llvm-project/commit/fb1de34e8db8d11c764c7ff422879f923554cbd9
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/SemaCXX/condition.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaCXX/warn-tautological-compare.cpp
Log Message:
-----------
[Clang][Sema] Warn on a function reference compared/converted to null (#204944)
Look through a reference-to-function in `DiagnoseAlwaysNonNullPointer`
so `-Wtautological-pointer-compare` and `-Wpointer-bool-conversion` fire
for it, as they already do for a bare function name.
Fixes #46362
Commit: 1df080a267eeda318f6abb9791f098d870e622fd
https://github.com/llvm/llvm-project/commit/1df080a267eeda318f6abb9791f098d870e622fd
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/test/CodeGen/X86/x86-inst-tuning.mir
Log Message:
-----------
[X86] Add test for VPBLENDW Tuning (#179906)
In PR https://github.com/llvm/llvm-project/pull/178883 we fixed tuning
for VPBLENDW with negative masked. Current test adds more cover for
masks for both unsigned and signed case.
We are adding explicit mir test to cover scenarios for tuning which are
hard to cover from IR and provides coverage to code under x86 tuning
pass.
Commit: cb740ebaae9eec758d689388411f3b633be06569
https://github.com/llvm/llvm-project/commit/cb740ebaae9eec758d689388411f3b633be06569
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
A llvm/test/Transforms/MergeICmps/X86/dbgloc-branches.ll
Log Message:
-----------
[MergeICmps][DebugInfo] Preserve debug locations in mergeComparisons (#205796)
The mergeComparisons function in MergeICmps merges a chain of comparison
blocks, generating new instructions inside of the merged block(s) to
memcmp the contiguous blocks of memory being compared and perform a
single branch based on the result. Some of the generated instructions
take their debug locations directly from the first block in the
comparison chain, but the icmp/memcmp and branch instructions generated
are not assigned any debug location.
This patch assigns a debug location to the comparison instructions from
the merged location of all merged comparison instructions, and similarly
assigns the branch instruction from the merged branch instructions.
Commit: b0623c024c2d3a2c26be1778c224c1678f925976
https://github.com/llvm/llvm-project/commit/b0623c024c2d3a2c26be1778c224c1678f925976
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIR-V] Replace isPipeOrAddressSpaceCastBI hardcoded list with table lookup (#207147)
Commit: 5c243188cf637c91f09a66986a1c0d90b92c33bb
https://github.com/llvm/llvm-project/commit/5c243188cf637c91f09a66986a1c0d90b92c33bb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/store-to-read-only-addrspace.ll
Log Message:
-----------
[SPIR-V] Diagnose stores into read-only storage classes (#207331)
Commit: e1ecc759dfc4e8dcbb249d4ec22946648cc9ee10
https://github.com/llvm/llvm-project/commit/e1ecc759dfc4e8dcbb249d4ec22946648cc9ee10
Author: Lang Hames <lhames at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M orc-rt/include/orc-rt/SimplePackedSerialization.h
M orc-rt/unittests/SimplePackedSerializationTest.cpp
Log Message:
-----------
[orc-rt] Add SPSSequence serialization from iterator_range. (#207715)
Adds an SPSSerializationTraits specialization that serializes an
iterator_range<IteratorT> as an SPSSequence<SPSElementTagT>, matching
the wire format of the existing container and span sequence serializers.
The element type is deduced via std::iterator_traits, so both class-type
iterators and raw pointers are supported.
This lets callers serialize an arbitrary [begin, end) sub-range
directly, without first copying the elements into a temporary container.
Only serialization is provided: a bare iterator pair has no meaningful
deserialization target, so decode into a std::vector (or other sequence
type) as usual.
Please enter the commit message for your changes. Lines starting
Commit: 592acb361000290a2a1502181b0b335a14d303fe
https://github.com/llvm/llvm-project/commit/592acb361000290a2a1502181b0b335a14d303fe
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/docs/UsersManual.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/test/Driver/cl-options.c
Log Message:
-----------
[Clang] Add `std:c++26preview` for MSVC compat (#207693)
As discussed here
https://github.com/llvm/llvm-project/pull/203992#discussion_r3438454092
Commit: 04a26a032ac770c981fc4aba0a30bf20517e71fc
https://github.com/llvm/llvm-project/commit/04a26a032ac770c981fc4aba0a30bf20517e71fc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
Log Message:
-----------
[X86] Add ISD::VECREDUCE_MUL lowering instead of matching in DAG (#207593)
Add X86 support for ISD::VECREDUCE_MUL and remove it from
combineArithReduction - most of the change is refactoring the custom
promotion of vXi8 -> vXi16.
Another part of #194621
Commit: ed2b1d7920365a59e2f6c01f732157f1144d0a00
https://github.com/llvm/llvm-project/commit/ed2b1d7920365a59e2f6c01f732157f1144d0a00
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-attach-target.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add new block-scaled tensor type and support for MXFP CAST (#203583)
This commit adds a new compound-block scaled tensor type and uses this
type to implement support for MXFP in the CAST operation, as per the
following specification changes:
https://github.com/arm/tosa-specification/pull/50,
https://github.com/arm/tosa-specification/pull/53.
The new block-scaled type is closely modelled after the `quant` dialect
type and supports the following parameters:
- block shape - The size and axis of each block. Support for specifying
constant scale values has not been added in this commit, but will be
added in a later one.
- scale type - The type of the scale value associated with each block.
- value type - The type of the data values in each block.
Example syntax for the new block-scaled type:
```
tensor<160x!tosa.block_scaled<BLOCK_SHAPE_32:f8E8M0FNU:f8E5M2>>
```
As a pre-requisite for supporting MXFP CAST, the commit also adds new
extensions intended to split the existing EXT-MXFP extension into
separate extensions for each block-scaled type. This allows for more
fine-grained control over which block-scaled types are supported by a
given target. See specification change
https://github.com/arm/tosa-specification/pull/26 for details.
Finally, support for casting to/from the new block-scaled type has been
added, aligning with the behaviour specified in the CAST operation
specification.
Commit: 25becf2006208b0d31e4af6cab3b642891f17604
https://github.com/llvm/llvm-project/commit/25becf2006208b0d31e4af6cab3b642891f17604
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
[MC] Move addEncodingComment() into new base class MCAsmBaseStreamer (#188585)
This is in preparation to use this functionality in the
SystemZHLASMAsmStreamer. No functional change.
Commit: 7f8dcfacbbcd77a8ddf512fa31589af1bf1f6ef4
https://github.com/llvm/llvm-project/commit/7f8dcfacbbcd77a8ddf512fa31589af1bf1f6ef4
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[LVI] Do not walk past cross-lane ops while determining value range (#207711)
While walking the one-use chain to find a constraining select
in `getValueAtUse`, do not look through cross-lane operations,
as they may move wrapping lanes into positions where the select
condition is true, and inferring nowrap flags would be unsound.
Fixes: https://github.com/llvm/llvm-project/issues/207619.
Commit: 6840e6042cf5cb92eb3ebe06cf781d6458958b69
https://github.com/llvm/llvm-project/commit/6840e6042cf5cb92eb3ebe06cf781d6458958b69
Author: yaohuihan-iluvatar <yaohui.han at iluvatar.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
A clang/test/Sema/aux-target-builtin-constexpr.cpp
Log Message:
-----------
[Clang][ExprConstant] Normalize aux target builtin IDs before dispatch (#201805)
When compiling for a device target that has an auxiliary host target
(for example OpenMP or CUDA offload), builtins of the auxiliary target
are registered with IDs shifted past the primary target's builtins. The
constant evaluator passed the raw ID straight into the target-specific
evaluation switches in the Pointer/Int/Vector/Float expression
evaluators, so a shifted auxiliary ID could fall through to an unrelated
builtin's case (or miss its case entirely) and fail to fold.
Add a getConstantEvaluatedBuiltinID() helper that translates auxiliary
builtin IDs back to their canonical target IDs via
BuiltinInfo::getAuxBuiltinID(), and use it before dispatching in each of
those evaluators.
Commit: 9d59248664dd8356fe0614950b567a4a1e6429a9
https://github.com/llvm/llvm-project/commit/9d59248664dd8356fe0614950b567a4a1e6429a9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
[AMDGPU] Do not copy the range attribute onto a widened kernarg load (#207655)
Sub-dword args (e.g. i8) are loaded as a full i32 and truncated. Copying
the i8 range onto the i32 load is invalid IR, and its bounds are wrong
since the upper bytes hold other args
Only copy the range when the load type matches the argument type
Commit: bed625b42eeeb854c297508e46d822b96693c671
https://github.com/llvm/llvm-project/commit/bed625b42eeeb854c297508e46d822b96693c671
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
A llvm/test/Transforms/InstCombine/insert-element-shuffle-vector-debugloc.ll
Log Message:
-----------
[InstCombine] Propagate debuglocs when replacing insert->extract elts (#206026)
InstCombine may replace an extractelement->insertelement chain, where
the insert vector is wider than the extract vector, with a pair of
shufflevectors - one to widen the extract vector, and one to perform the
extract+insert simultaneously. Currently the second shufflevector
correctly adopts the insertelement's debug location, since it replaces
the chain of instructions that culminates with the insert. The first
shufflevector however takes its debug location from its insert position,
if the extract vector was a PHI or non-instruction, and otherwise
receives no location.
Since the first shufflevector is really adapting the extract vector for
use by one or more other instructions, we can consider it an extension
of the extractvector. If the extract vector is an instruction, its debug
location should be used (even if it is a PHI - this likely defaults to a
CompilerGenerated debug location); otherwise, the extract vector is a
constant, and so the shufflevector represents a constant materialization
- so should receive a CompilerGenerated location.
Commit: 6eb0dac37aa409390bd96a91a99f216c35a0b8cb
https://github.com/llvm/llvm-project/commit/6eb0dac37aa409390bd96a91a99f216c35a0b8cb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Only strip internal linkage for device globals (#207521)
Stripping all linkage was too much. Only strip internal linkage so the
symbol is visible to CUDA API.
Commit: c827c9011f81ef8b74143dd0ef40db5950aaec81
https://github.com/llvm/llvm-project/commit/c827c9011f81ef8b74143dd0ef40db5950aaec81
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/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
Improving MinUI and MaxUI implementation in valuebounds (#207701)
Previously, the valuebounds implementation for MinUI and MaxUI was too
conservative.
We can already make correct assumptions even when we know only one
operand is provably not negative.
Commit: a3624cb45f2a3902e59f78eafd005357d2b72688
https://github.com/llvm/llvm-project/commit/a3624cb45f2a3902e59f78eafd005357d2b72688
Author: Emery Conrad <conrade.ctc at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A clang/test/Interpreter/emulated-tls.cpp
M llvm/lib/ExecutionEngine/Orc/Layer.cpp
Log Message:
-----------
[ORC] Track __emutls_t definitions in IRMaterializationUnit (#207161)
When emulated TLS is enabled, `IRMaterializationUnit`'s constructor
emits an `__emutls_t.<var>` symbol for each non-zero-initialized
`thread_local` global and records it in `SymbolFlags`, but never adds it
to `SymbolToDefinition`.
If the same weak (`linkonce_odr`) definition is materialized by more
than one module — e.g. an `inline` function that odr-uses such a
`thread_local`, pulled into two `PartialTranslationUnit`s by clang-repl
— `JITDylib::defineImpl` discards the duplicate via
`IRMaterializationUnit::discard()`. `discard()` looks the symbol up in
`SymbolToDefinition` and, finding nothing, dereferences `end()`: an
assertion failure in `+Asserts` builds and heap corruption otherwise.
Register `__emutls_t.<var>` in `SymbolToDefinition` alongside its flags,
mirroring the `__emutls_v.<var>` handling just above.
### Test
`clang/test/Interpreter/emulated-tls.cpp` reproduces the crash through
clang-repl: two PTUs each odr-use one `inline worker()` that reads a
non-zero `thread_local`, so each re-emits the same weak emulated-TLS
set; defining the second module runs `discard()` over the duplicate. The
test aborts on the unfixed path and prints the expected value with the
fix.
🤖 Done with the help of [Claude Code](https://claude.com/claude-code)
(Claude Opus 4.8, human in the loop)
Co-authored-by: Emery Conrad <emery.conrad at chicagotrading.com>
Commit: 7cb7f074b71e62d33b22ced07d860947fac08480
https://github.com/llvm/llvm-project/commit/7cb7f074b71e62d33b22ced07d860947fac08480
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_mutex_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_test_utils.h
Log Message:
-----------
[compiler-rt][sanitizer_common] Fix -Wunused-template in test helpers… (#207706)
`Ident` is a static function template in a test header, so any test TU
that never calls it trips `-Wunused-template`. Drop static.
`check_locked` in `sanitizer_mutex_test.cpp` has no callers.
Part of #202945.
Commit: 3fbe826e3707540c9b7f942c573fbcb2d51b6bcc
https://github.com/llvm/llvm-project/commit/3fbe826e3707540c9b7f942c573fbcb2d51b6bcc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][OpenMP] Prevent openmp-device attribute being added to the host (#207719)
This attribute is only intended for an OpenMP target device but a recent
patch started causing it to appear on the host. This causes the
OpenMPOpt pass to treat the LLVM IR module as an OpenMP offloading
target, potentially introducing invalid modifications.
Fixes #207423.
Commit: 62708d1030229006b70bf1b5a46dbb56d2d058ec
https://github.com/llvm/llvm-project/commit/62708d1030229006b70bf1b5a46dbb56d2d058ec
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CostTable.h
Log Message:
-----------
[CodeGen] Compact cost table entries (#202836)
ISD and CostType can both be shrunk to uint16_t, which reduces the
binary by 16KB.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: dcf969eaf2c25048542d13946ca5ff65be5bc7ab
https://github.com/llvm/llvm-project/commit/dcf969eaf2c25048542d13946ca5ff65be5bc7ab
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Remove internal linkage from LargeBlock header helpers (NFC) (#207708)
`addHeaderTag` and `getHeader` are static function templates in
`secondary.h,` so any TU that includes the header without using them
trips `-Wunused-template`. Dropping static fixes the warning.
Part of #202945.
Commit: 5f66b69933540b9602ba1e2106d1a4397c058a6e
https://github.com/llvm/llvm-project/commit/5f66b69933540b9602ba1e2106d1a4397c058a6e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/SemaTemplate/member-specialization.cpp
Log Message:
-----------
[clang] accept member specializations declared in class scope (#207256)
Explicit specializations are not restricted to namespace scope since
CWG727 was accepted as a DR.
Also fixes a crash upon error recovery in this case which was a recent
unreleased regression.
Fixes #206866
Commit: 4c6e5788851421e9382452e147a9427cb77b23d9
https://github.com/llvm/llvm-project/commit/4c6e5788851421e9382452e147a9427cb77b23d9
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
Log Message:
-----------
[SystemZ][z/OS] Show instruction encoding in HLASM output (#181904)
This change adds the support to show instruction encoding as a comment
when emitting HLASM text. With this, the last 2 LIT tests migrate to
HLASM syntax.
Commit: 5ddd08310373371d416f148727c707beeffc1b8a
https://github.com/llvm/llvm-project/commit/5ddd08310373371d416f148727c707beeffc1b8a
Author: David Zbarsky <dzbarsky at gmail.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][AST] Outline constant-interpreter shift diagnostics (#202633)
CheckShift is instantiated for each primitive left-hand and right-hand
type
and for both shift directions. Its four diagnostic paths are cold, but
each
instantiation currently emits the diagnostic construction and undefined
behavior handling.
Move those paths to the non-template, noinline diagnoseShiftFailure
function.
Valid shifts retain the existing checks and do not call the outlined
function.
Invalid shifts preserve the same diagnostic arguments and call
noteUndefinedBehavior exactly once.
On arm64 macOS with a Release build of standalone Clang, this changes:
linked binary: 222,173,192 -> 221,924,960 bytes (-248,232)
stripped binary: 128,407,464 -> 128,291,224 bytes (-116,240)
__TEXT,__text: 98,369,916 -> 98,255,864 bytes (-114,052)
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 6dd93e338442f070f55691e5374aac966287ee3c
https://github.com/llvm/llvm-project/commit/6dd93e338442f070f55691e5374aac966287ee3c
Author: Hocky Yudhiono <hocky.yudhiono at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
Log Message:
-----------
[mlir][tosa] Fix TosaNarrowTypes conversion order to prevent rollback crash (#207372)
Fix #206952 by doing `convertRegionTypes` before moving and unlinking
the blocks when handling `tosa.cond_if` ops. This will cause a crash
when doing rollback.
Commit: f1b7f9758f4a1c9bb80c0becb1a39b3b651ef670
https://github.com/llvm/llvm-project/commit/f1b7f9758f4a1c9bb80c0becb1a39b3b651ef670
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
Log Message:
-----------
[clang-tidy] Compact the confusable identifier table (#202626)
Encode confusable replacement strings once in a shared UTF-8 byte array.
Each sorted mapping becomes an eight-byte code point, 16-bit offset, and
16-bit length entry instead of reserving nineteen UTF-32 code points for
every replacement.
ConfusableIdentifierCheck appends the UTF-8 slice directly after the
binary search, removing the per-identifier UTF-32 to UTF-8 conversion.
Add compile-time assertions for the eight-byte entry layout and the 64
KiB replacement-data limit, plus generator-side overflow checks.
The logical table shrinks from 508,400 to 63,327 bytes, saving 445,073
bytes. A stripped standalone clang-tidy shrinks from 91,116,608 to
90,654,176 bytes, saving 462,432 bytes (0.508%).
A lookup microbenchmark improves from 79.9 to 40.4 ns median. A
100,000-identifier clang-tidy benchmark improves from 0.343 to 0.314
seconds mean.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 6dcadef39ffd3a25f4d4cd82cf35943e4c374304
https://github.com/llvm/llvm-project/commit/6dcadef39ffd3a25f4d4cd82cf35943e4c374304
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
A llvm/test/Transforms/JumpTableToSwitch/callee-type-mismatch.ll
Log Message:
-----------
[JumpTableToSwitch] Bail out on function type mismatch (#207700)
If the function types of the functions in the jump table don't match the
function type of the call, we currently get an assertion failure. We
could avoid that by using a different API, but the usefulness of the
transform in this case is questionable (e.g. we wouldn't be able to
inline the call). For simplicity just bail out.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 0b94c13b63406281ce5cef76fcbdc3e82fe5e494
https://github.com/llvm/llvm-project/commit/0b94c13b63406281ce5cef76fcbdc3e82fe5e494
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Lex/LiteralSupport.cpp
A clang/test/Lexer/char-escapes-delimited-invalid-utf8.c
M clang/test/Lexer/char-escapes-delimited.c
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M llvm/include/llvm/Support/ConvertUTF.h
M llvm/lib/Support/ConvertUTF.cpp
Log Message:
-----------
[Clang] Reduce the number of ways we have to print a codepoint. (#206990)
In #206326, we introduced yet another way to format a codepoint, so we
try to claw back some consistency.
- When we display a single character we do so inside quotes
- Non-decodable code units are displayed as <0xYY>
- In strings
- we render printable and format characters
- we print <U+XXXX> for non printable, non-format characters
- In characters
- we only render non-format print characters
- we always print the codepoint as U+XXXX for non-ascii characters
This does not change `WriteCharValueForDiagnostic` which is deeply weird
and was contentious a while back.
So we still have 2 different formatting utilities. Which is better than
4!
I've also added a test for invalid utf-8 in \N{}
Commit: 4109893350feeea69214d938864e200ca5eec7b5
https://github.com/llvm/llvm-project/commit/4109893350feeea69214d938864e200ca5eec7b5
Author: Qixi <tjx2361869673 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
A mlir/test/Conversion/ArithToAMDGPU/scaling-truncf-tensor.mlir
Log Message:
-----------
[mlir][ArithToAMDGPU] Skip tensor scaling ops (#207327)
This fixes a crash in -convert-arith-to-amdgpu=chipset=gfx950 when the
input contains tensor arith.scaling_truncf operations.
The scaling rewrite patterns are written for scalar/vector values.
Tensor values should not be rewritten by these patterns, so this patch
returns failure for tensor operands and leaves those ops unchanged.
A regression test is added for the tensor reproducer from #207311.
Co-authored-by: tongjinxuan <tongjinxuan at longcheer.com>
Commit: acfbfca988887d830a22fc9dd684ced437928cdb
https://github.com/llvm/llvm-project/commit/acfbfca988887d830a22fc9dd684ced437928cdb
Author: anoopkg6 <anoop.kumar6 at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
A flang/test/HLFIR/inline-elemental-multi-users.fir
Log Message:
-----------
[flang][HLFIR] Relax InlineElementals to support more than two users (#186916)
This pr optimizes the lowering of MINLOC and MAXLOC when the MASK
argument is a simple equality comparison (e.g., MASK = A == X).
This patch introduces isEqualityMask to identify these patterns and
inline the comparison directly into the reduction loop.
This allows the SimplifyHLFIRIntrinsicscation pass to extract the
invariant
search target and bypasses the creation of a temporary logical mask
array
by inlining the equality comparison directly into the reduction loop.
optimization removes the 'hlfir.apply' to the mask's hlfir.elemental,
which
gets eliminated in bufferize-hlfir pass.
Simplifies the reduction state by removing the min/max value tracker,
as the target value is already known.
Implements a 'first-hit' locking mechanism.
---------
Co-authored-by: anoop.kumar6 at ibm.com <anoopk at b35lp63.lnxne.boe>
Commit: c58675e91042e7052870675aeaf2aca963e11376
https://github.com/llvm/llvm-project/commit/c58675e91042e7052870675aeaf2aca963e11376
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/src/atomic.cpp
Log Message:
-----------
[libc++] Make atomic contention tables constinit (#207456)
Commit: 750f3bf803251abacfd440dbd883ce660597a986
https://github.com/llvm/llvm-project/commit/750f3bf803251abacfd440dbd883ce660597a986
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/lib/Target/Hexagon/HexagonPostRAHandleQFP.cpp
A llvm/test/CodeGen/Hexagon/autohvx/xqf-multi-conv.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-conv-double2.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-fakereg.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg2.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg3.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-warnings.ll
Log Message:
-----------
[Hexagon] Add XQFloat post-RA compliance checker (#207082)
Introduce XqfPostRADiagnosis to verify qf use-def correctness after
register allocation. Acts as a diagnostic/debugger for XQFloat
implementation. Off by default, enabled with -enable-postra-xqf-check.
Co-authored-by: Santanu Das <quic_santdas at quicinc.com>
Commit: 2c7d18c6ad5fdc4743673b6a5dd23d521ec9e810
https://github.com/llvm/llvm-project/commit/2c7d18c6ad5fdc4743673b6a5dd23d521ec9e810
Author: 311Volt <41923095+311Volt at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
Log Message:
-----------
[offload] add unit tests for olCreateProgram (#206462)
Add tests for olCreateProgram param validation & fail on invalid program
Commit: 1ac400e69f26946bf3c84a253e61d1d0ede0d680
https://github.com/llvm/llvm-project/commit/1ac400e69f26946bf3c84a253e61d1d0ede0d680
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[clang][Frontend] Batch LangOptions context hashing (#203162)
`CompilerInvocation::computeContextHash` currently expands 269
non-benign `LangOptions` into individual `HashBuilder::add` calls. This
collects the values in an `unsigned` array and passes the array to
`HashBuilder::addRangeElements`, which preserves the ordered
native-endian bytes without adding an element count.
In a Release arm64 build, clangd decreases by 16,528 bytes unstripped
and 16,544 bytes stripped.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 8b50847a31f927d258cf22953035db206d42fc5d
https://github.com/llvm/llvm-project/commit/8b50847a31f927d258cf22953035db206d42fc5d
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/AST/StmtVisitor.h
Log Message:
-----------
[clang][AST] Inline StmtVisitor fallback methods (#203125)
Mark the trivial `StmtVisitorBase` fallback methods `always_inline` so
each `VisitFoo`-to-`VisitParent` delegation is folded into its caller
instead of retained as an out-of-line template thunk.
In matched Release assertions-off Darwin arm64 builds, stripped clang
decreased by 266,656 bytes, stripped clangd decreased by 232,912 bytes,
and the stripped upstream `llvm-driver` multicall decreased by 266,336
bytes.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Co-authored-by: OpenAI Codex <noreply at openai.com>
Commit: 26380406c852574f79f3df58bc6ed2664c186ac9
https://github.com/llvm/llvm-project/commit/26380406c852574f79f3df58bc6ed2664c186ac9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
[AMDGPU] Copy the nofpclass attribute onto a matching kernarg load (#207734)
Follow up for https://github.com/llvm/llvm-project/pull/207655
Commit: 343197e8da2856fd357f64b4e3639f7c18e4935a
https://github.com/llvm/llvm-project/commit/343197e8da2856fd357f64b4e3639f7c18e4935a
Author: darkbuck <michael.hliao at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/Lowering/module-asm.cir
Log Message:
-----------
[CIR] Fix lit tests after explicit target feature for module asm (#207741)
- Fix lit tests after the module-level inline assembly is enhanced to
support specifying target features explicitly in
fcfc9167b628a2fae8fe1d662989ff7752d905ad.
Commit: 6575e395e3f37f4bea17092f612b37649d319041
https://github.com/llvm/llvm-project/commit/6575e395e3f37f4bea17092f612b37649d319041
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Reuse SHT_GROUP selection verdicts in initializeSections. NFC (#207437)
For each SHT_GROUP section, the parallel initializeSections re-derives
what the serial parse() already decided
(https://reviews.llvm.org/D130810).
Record the kept group section indices during parse() so that we can save
the work (xxh3 string hash and DenseMap lookup) in the parallel
initializeSections().
In a clang-relassert --threads=8 benchmark, "Initialize sections"
decreases from 39.0 to 30.6.
Commit: 39505025e42479ebfde4600df00a80f2fe3625f7
https://github.com/llvm/llvm-project/commit/39505025e42479ebfde4600df00a80f2fe3625f7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ClangLinkerWrapper.rst
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[ClangLinkerWrapper] Use discrete steps in verbose mode (#204186)
Summary:
One persistent problem with the linker wrapper flow is that it was more
difficult to reuse as a script than the previous flow. This is because
it did a lot of work internally. In the past we moved al ot of this into
dedicated LLVM tools, so now it's possible to simply use these tools
instead.
This PR changes the verbose mode handling to defer steps to tools rather
than doing it internally. This allows users to use verbose printing and
can copy/paste the results to re-run the steps.
Commit: b8c1776668c217a3ddfa18a7668a75245d08b528
https://github.com/llvm/llvm-project/commit/b8c1776668c217a3ddfa18a7668a75245d08b528
Author: Mohsen Rahmati <mohsenrahmati at icloud.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/builtins-x86.c
Log Message:
-----------
[Clang] Add constant evaluation support for x86 psadbw (#169253)
This patch adds constant evaluation support for the x86 PSADBW and PSADBW128 intrinsics in Clang’s constexpr interpreter.
Commit: 3ed7f90ec978ce4670779adf30fac17e87cba4fb
https://github.com/llvm/llvm-project/commit/3ed7f90ec978ce4670779adf30fac17e87cba4fb
Author: Lucas Mellone <github.snugness349 at passinbox.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/__ranges/elements_view.h
A libcxx/test/libcxx/ranges/range.adaptors/range.elements/nodiscard.verify.cpp
Log Message:
-----------
[libc++][ranges] Applied [[nodiscard]] to `elements_view` (#206589)
[[nodiscard]] should be applied to functions where discarding the return
value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.elements
Towards https://github.com/llvm/llvm-project/issues/172124
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 0cb5782f7ae0e859d3a649327227a3119e69cc25
https://github.com/llvm/llvm-project/commit/0cb5782f7ae0e859d3a649327227a3119e69cc25
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
Log Message:
-----------
[docs][AMDGPU] Correct spelling of DW_AT_LLVM_memory_space (#207745)
Commit: d930a16182aee3a541173c58bd2061c5265ffd44
https://github.com/llvm/llvm-project/commit/d930a16182aee3a541173c58bd2061c5265ffd44
Author: 311Volt <41923095+311Volt at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
Log Message:
-----------
[Offload] run clang-format on olCreateProgram unit tests (#207757)
Follow-up to: https://github.com/llvm/llvm-project/pull/206462
Commit: 3b57d53a792cd9e9ba848cfe6fef151a0cb6f5d9
https://github.com/llvm/llvm-project/commit/3b57d53a792cd9e9ba848cfe6fef151a0cb6f5d9
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/GenericLoopInfoImpl.h
M llvm/unittests/IR/DominatorTreeTest.cpp
Log Message:
-----------
[LoopInfo] Reuse DomTree's own DFS numbering in analyze() (#207650)
analyze() discovers loop headers with a post_order(DomRoot) walk, then
tests each back-edge candidate with DomTree.dominates(). Initial queries
use `dominatedBySlowTreeWalk` and then switch to `updateDFSNumbers`
(Euler tour technique), requiring two tree walks in total.
Optimize this with an upfront updateDFSNumbers to avoid the post-order
walk. Both post-order and reverse pre-order satisfy the
child-before-parent (bottom-up) property. This does change the order in
which siblings are visited (reverse preorder visits the last child
first; post-order visits it last), but that has no observable effect:
the sub-loop and block vectors are only populated by the separate
PopulateLoopsDFS traversal afterward, not by discovery order.
`post_order` (and `depth_first`) are also inefficient for tree
traversals:
DomTreeNodeBase doesn't expose graph numbers, so they fall back to
tracking visited nodes in a SmallPtrSet. For a tree this bookkeeping is
unnecessary, since by definition every node has exactly one parent and
can never be reached twice.
DFS numbers, of [0, 2*N), have many nullptr gaps. Simplify
updateDFSNumbers() so DFSNumOut no longer consumes its own counter tick:
DFSNumIn becomes a dense [0, N) preorder rank.
Commit: b30e3c23a537ca99937181d03bb53a8fe1d54c36
https://github.com/llvm/llvm-project/commit/b30e3c23a537ca99937181d03bb53a8fe1d54c36
Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/test/Semantics/CUDA/cuf08.cuf
A flang/test/Semantics/CUDA/cuf31.cuf
Log Message:
-----------
[flang][cuda] Make the second LAUNCH_BOUNDS() operand optional (#207273)
The minimum-blocks-per-multiprocessor (second) and maximum-blocks-per-cluster
(third) operands of the CUDA Fortran `LAUNCH_BOUNDS()` prefix are optional, as in
CUDA C++ `__launch_bounds__`. A single-operand `LAUNCH_BOUNDS(N)` is now accepted;
1, 2, or 3 integer constants are valid.
Previously `LAUNCH_BOUNDS(N)` with a single operand was rejected, and the
diagnostic path dereferenced an empty `std::optional` (`currStmtSource()`). That
handler runs during the direct statement walk in `ResolveSpecificationParts`,
where the statement source is not set, so the dereference aborted the compiler.
The diagnostic source is now derived from the prefix, and the same fix is applied
to every diagnostic in the `LAUNCH_BOUNDS()` and `CLUSTER_DIMS()` handlers.
When only the maximum-threads-per-block operand is present, the
`cuf.launch_bounds` attribute omits `minBPM` (now an optional parameter) and no
`nvvm.minctasm` attribute is generated.
Assisted-by: AI
Commit: 6645153025367af4f3bd4020dc81700a4cbe9132
https://github.com/llvm/llvm-project/commit/6645153025367af4f3bd4020dc81700a4cbe9132
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/ClangScanDeps/diagnostics.c
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/modules-context-hash-from-named-module.cpp
M clang/test/ClangScanDeps/modules-context-hash-ignore-macros.c
M clang/test/ClangScanDeps/modules-context-hash-outputs.c
M clang/test/ClangScanDeps/modules-context-hash-warnings.c
M clang/test/ClangScanDeps/modules-context-hash.c
M clang/test/ClangScanDeps/modules-dep-args.c
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
M clang/test/ClangScanDeps/modules-full-named-modules.cppm
M clang/test/ClangScanDeps/modules-full-output-tu-order.c
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
M clang/test/ClangScanDeps/modules-header-sharing.m
M clang/test/ClangScanDeps/modules-implementation-module-map.c
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-implementation-vfs.m
M clang/test/ClangScanDeps/modules-implicit-dot-private.m
M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
M clang/test/ClangScanDeps/modules-inferred.m
M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
M clang/test/ClangScanDeps/modules-pch-common-stale.c
M clang/test/ClangScanDeps/modules-pch-common-submodule.c
M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
M clang/test/ClangScanDeps/modules-pch.c
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
M clang/test/ClangScanDeps/multiple-commands.c
M clang/test/ClangScanDeps/tu-buffer.c
Log Message:
-----------
[clang-scan-deps] Migrate more tests through scan-deps-filter (#207283)
Migrate tests that would otherwise fail when the `-emit-visible-modules`
flag is removed.
* The tests now include a `scan-deps-filter` invocation that maintains
the same fields that are already checked, so there is no test coverage
lost.
* Also remove `command-line` fields that were not actually checked in
tests.
Assisted-by: Claude Opus 4.8
Commit: ea165572a5e649b1ab8181322ff6d759ca8adceb
https://github.com/llvm/llvm-project/commit/ea165572a5e649b1ab8181322ff6d759ca8adceb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/IR/Type.cpp
Log Message:
-----------
IR: Use switch in getFloatingPointType (#207750)
Commit: 4ad89d11db9e4048328de408af5ae0503861fe4c
https://github.com/llvm/llvm-project/commit/4ad89d11db9e4048328de408af5ae0503861fe4c
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
Log Message:
-----------
[SystemZ][z/OS] Remove temporary gnu as output on z/OS (#181906)
On z/OS, there is only HLASM as system assembler available. Since all
LIT tests are migrated, the temporary option can now be removed.
Commit: 60cccae52fda78a9cdc9323900e14952d71b2624
https://github.com/llvm/llvm-project/commit/60cccae52fda78a9cdc9323900e14952d71b2624
Author: Chris B <chris.bieneman at me.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
Log Message:
-----------
[NFC] Remove dead code to fix build (#207753)
LLVM changed the interfaces around inline assembly, and while we could
have updated this code, in practice DXIL doesn't allow inline assembly
so I removed it.
Commit: d3d3fdd940d714af2ac060b9f3da3ed32bdbaa05
https://github.com/llvm/llvm-project/commit/d3d3fdd940d714af2ac060b9f3da3ed32bdbaa05
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/unittests/Basic/DiagnosticTest.cpp
Log Message:
-----------
Disable test not supported on MSVC (#207752)
Fixes an Incorrectly applied merge conflict resolution after landing
#206990
Commit: f0bbde8630ed94d749b95624799659d6ccbb9418
https://github.com/llvm/llvm-project/commit/f0bbde8630ed94d749b95624799659d6ccbb9418
Author: Cheng Lingfei <53817093+clingfei at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/i128-imm-compare-ccmp.ll
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
Log Message:
-----------
[AArch64] optimize lowering for icmp on i128 when RHS is an immediate (#181822)
Optimize cases including eq, ne, ult, ule, ugt, and uge.
Closes #161273.
Commit: 1aa74f6d98b357189d735c800510424035edb9d5
https://github.com/llvm/llvm-project/commit/1aa74f6d98b357189d735c800510424035edb9d5
Author: Fangrui Song <i at maskray.me>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/Dominators.h
M clang/include/clang/Analysis/CFG.h
M llvm/include/llvm/Support/CFGDiff.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
Log Message:
-----------
[Analysis] Modernize CFGBlock GraphTraits; drop generic dominator tree special case (#207552)
Make clang analyzer's CFG behave like other graphs in the generic
dominator tree builder by teaching the CFGBlock GraphTraits two things.
* Node numbers: getNumber/getMaxNumber/getNumberEpoch backed by the
dense, never-renumbered BlockIDs. GraphHasNodeNumbers<CFGBlock *>
becomes true (#101706) so Semi-NCA indexes a SmallVector instead of a
DenseMap and DominatorTreeBase drops its CFGBlock-to-index map.
* Plain `CFGBlock *` children: map through the reachable target and skip
`AB_Unreachable` (null) edges. This drops the
is_same_v/make_filter_range
fallback in getChildren() and the CFGBlock ChildrenGetterTy
specialization.
(Post)dominator and IDF results are unchanged.
Aided by Claude Opus 4.8
Commit: 8e8e4e50f501bac04b9a00dd7305cf35549b5afc
https://github.com/llvm/llvm-project/commit/8e8e4e50f501bac04b9a00dd7305cf35549b5afc
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP][NFC] Move variant-matching context to semantics (#207087)
Move FlangOMPContext from lowering into semantics as the
MLIR-independent OmpVariantMatchContext. This lets an upcoming semantic
check reuse the matcher to skip the loop-nest checks for a metadirective
variant that cannot be selected on the current target, such as a
`device={kind(nohost)}` variant in a host compilation. No functional
change to metadirective lowering.
Assisted with copilot.
Commit: 902273247db1f8b62613f38fa1a6f93700de517b
https://github.com/llvm/llvm-project/commit/902273247db1f8b62613f38fa1a6f93700de517b
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[clang][tablegen] Allow qualifiers on _Vector builtin types (#207091)
The builtin prototype parser accepts pointers to _Vector<> template
types but not const/volatile/restrict pointers. Currently, _Vector<>
types are parsed in a special way: first parsing the type itself,
consuming it, and saving the resulting type string. Then, the remaining
qualifiers are parsed while the type is removed from the input. For this
to work, parsing qualifiers must accept empty base type, which was the
case only for plain pointers and references.
This change extends this approach to const/volatile/restrict qualifiers.
Signed-off-by: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Commit: a913e893c3f3e820f413ccd3877f19eb4ab028f6
https://github.com/llvm/llvm-project/commit/a913e893c3f3e820f413ccd3877f19eb4ab028f6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-node-with-in-order-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-before-main.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
Log Message:
-----------
[SLP]Support Mul as the main copyable instruction
Added support for the missed Mul as a main copyable instruction opcode
Reviewers: RKSimon, hiraditya, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/207622
Commit: b0d35497b666b3e0c0c4244c1f8c19f2cfdc1fb2
https://github.com/llvm/llvm-project/commit/b0d35497b666b3e0c0c4244c1f8c19f2cfdc1fb2
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/greedy-global-heuristic.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/ra-inserted-scalar-instructions.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/regalloc-fail-unsatisfiable-overlapping-tuple-hints.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
M llvm/test/CodeGen/AMDGPU/splitkit-do-not-undo-subclass-split-with-remat.mir
M llvm/test/CodeGen/AMDGPU/splitkit.mir
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
A llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir
M llvm/test/CodeGen/RISCV/pr176001.ll
M llvm/test/CodeGen/X86/AMX/amx-greedy-ra-spill-shape.ll
M llvm/test/CodeGen/X86/apx/foldmemory.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
M llvm/utils/UpdateTestChecks/mir.py
Log Message:
-----------
[MIR] Serialize/Deserialize MachineInstr::LRSplit flag (#197362)
The LRSplit MachineInstr flag is set by SplitKit on copies inserted for
live-range splitting.
Until now the flag had no MIR-text representation.
This patch fixes that so that it gets easier to reproduce/capture issues
that involves SplitKit.
Round-trip coverage in
llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir.
Commit: c35cba42e67284a1b6b8609f20782f6d8c692a6c
https://github.com/llvm/llvm-project/commit/c35cba42e67284a1b6b8609f20782f6d8c692a6c
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR] Fix pass pipeline parsing after aux arguments (#207237)
## Summary
- Fix `sandboxir::PassManager::setPassPipeline` to resume scanning pass
names after a pass aux argument when the next token is a delimiter.
- Add a unit test covering flat pipelines like `foo(aux1),bar`.
This fixes parsing of region pass pipelines such as
`bottom-up-vec(top-down),tr-accept` that will be used by the
SandboxVectorizer.
## Test plan
- [x] `ninja SandboxIRTests`
- [x] `./unittests/SandboxIR/SandboxIRTests
--gtest_filter=PassTest.SetPassPipeline`
Made with [Cursor](https://cursor.com)
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 20e12152f9b218c42791151f0bca93a5a1763b64
https://github.com/llvm/llvm-project/commit/20e12152f9b218c42791151f0bca93a5a1763b64
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARM/ARMCallingConv.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCCallingConv.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86CallingConv.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][CC][NFC] Emit idiomatic guards for CallingConv. (#207758)
Emit independent guards for the two existing sections rather than the
if-else done today. This is in preparation for adding other sections
that must be includable exclusive of the other sections.
This also eliminates the current asymmetry between the automatic
IfGuardEmitter for the "if" portion vs the manually emitted "else"
section.
Commit: 78bc590bbc89aa868bcee35982dd3cf70cebea64
https://github.com/llvm/llvm-project/commit/78bc590bbc89aa868bcee35982dd3cf70cebea64
Author: Stefan Mada <smada at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/CodeGen/NVPTX/intrinsic-immarg-print-mismatched-signature.ll
Log Message:
-----------
[IR][NVVM] Fixed null pointer deference in AsmWriter pretty printer (#207223)
ASMWriter can deference a null pointer on intrinsics with pretty printed
args when those intrinsics are called with an invalid number of
arguments. This check avoids the null dereference and turns this into a
graceful failure.
Commit: 9c823964dd43645162d361b16d2ddedc381f5d2d
https://github.com/llvm/llvm-project/commit/9c823964dd43645162d361b16d2ddedc381f5d2d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
Log Message:
-----------
[NFC][LLVM][NVPTX] Initialize pass-ids to zero (#207547)
Initialize pass::ID values for various passes to canonical zero instead
of 1.
Commit: 2e75acd861aa78755c7a57ab8eca63fde916497a
https://github.com/llvm/llvm-project/commit/2e75acd861aa78755c7a57ab8eca63fde916497a
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/test/UnitTest/ErrnoSetterMatcher.h
Log Message:
-----------
[libc][test] Remove internal linkage from ErrnoSetterMatcher helpers (NFC) (#207707)
`Succeeds`, `Fails`, and `returns` are static function templates in a
header, so any test TU that includes it without using all of them trips
`-Wunused-template`. Dropping static also matches the neighboring EQ/NE
helpers, which are already non-static.
Part of #202945.
Commit: 42746081459775eb85879cc09361a316ac9e0ea2
https://github.com/llvm/llvm-project/commit/42746081459775eb85879cc09361a316ac9e0ea2
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
[AMDGPU] Fix printf %s buffer slot oversized when strlen % 4 == 0 (#207772)
The metadata slot for a constant string %s used alignTo(strlen + 1, 4),
but the store loop only writes ceil(strlen / 4) dwords (no trailing
NUL), so every following argument was read from offset shifted by +4
Commit: 0f0b1c76a4d84594fef4de8ae5c49aa565d8bab0
https://github.com/llvm/llvm-project/commit/0f0b1c76a4d84594fef4de8ae5c49aa565d8bab0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Run the libcxx-run-benchmarks action on macOS in addition to Linux (#207780)
The libcxx-run-benchmarks action is triggered when a specially formatted
comment is posted on a PR, requesting benchmarks to be run against that
PR. This patch expands the Github action so it also runs benchmarks on
the macOS CI resources that were added recently.
Commit: 804a081a797c953b86503ead745dfde96f1c61c9
https://github.com/llvm/llvm-project/commit/804a081a797c953b86503ead745dfde96f1c61c9
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
Log Message:
-----------
[GlobalISel][AArch64] Legalize PHIs with vectors smaller than 64-bits (#207356)
New legalization rule added as the last to not change legalization of
small vectors in existing tests.
Commit: 82d27f67b6aad3bf72e9db610ab5b6984cb02b76
https://github.com/llvm/llvm-project/commit/82d27f67b6aad3bf72e9db610ab5b6984cb02b76
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
R clang/test/Interpreter/emulated-tls.cpp
M llvm/lib/ExecutionEngine/Orc/Layer.cpp
Log Message:
-----------
Revert "[ORC] Track __emutls_t definitions in IRMaterializationUnit" (#207775)
Commit: 96904e83cf69b0a02a5fb7dece9b258f562205e0
https://github.com/llvm/llvm-project/commit/96904e83cf69b0a02a5fb7dece9b258f562205e0
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/chunk_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/flags_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
Log Message:
-----------
[scudo] Make death tests use SCUDO_XXX_DEATH_TEST. (#206196)
On Android, we want to disable the tombstone generation on expected
crashes to speed up running the tests. Also, this means that any
tombstone files will be real crashes and it's not necessary to search
for the right tombstone if one of the tests crashes unexpectedly.
In order to do the above, add SCUDO_EXPECT_DEATH_TEST and
SCUDO_ASSERT_DEATH_TEST that will disable tombstoned on Android but do
nothing on all other platforms.
Commit: 69ee64790ed69555264a200a3ae95d644a649e42
https://github.com/llvm/llvm-project/commit/69ee64790ed69555264a200a3ae95d644a649e42
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/frexp-implied-exponent-range-dominating-conditions.ll
Log Message:
-----------
InstCombine: Add baseline test for implied frexp exponent ranges (#206926)
Commit: d1eae28e79d33a4f85bf16a09cbb90aa9b6848e4
https://github.com/llvm/llvm-project/commit/d1eae28e79d33a4f85bf16a09cbb90aa9b6848e4
Author: Kamlesh Kumar <kamleshbhalui at gmail.com>
Date: 2026-07-07 (Tue, 07 Jul 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/vector-interleave-deinterleave.ll
Log Message:
-----------
[InstSimplify] fold the identity interleave (#206646)
If all the extracvalue of deinterleave used in interleave in same order
then it is an identity.
Commit: 5e265484030eb034a14f4e4fec5abb0209605787
https://github.com/llvm/llvm-project/commit/5e265484030eb034a14f4e4fec5abb0209605787
Author: Aliaksei Urbanski <aliaksei.urbanski at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang/include/clang/Lex/MultipleIncludeOpt.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/README.txt
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_riscv64.S
M flang/docs/Semantics.md
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M libc/src/string/memory_utils/arm/inline_memcpy.h
M libcxx/docs/DesignDocs/FeatureTestMacros.rst
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/CodeGen/AArch64/regcoal-physreg.mir
M llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M polly/lib/External/isl/isl_union_map.c
Log Message:
-----------
[NFC] Fix "is is" typos (#206288)
These changes aim to fix common "is is" typos.
Commit: 03c62ca40d19ba03c7d2b69dbedc95e498d46071
https://github.com/llvm/llvm-project/commit/03c62ca40d19ba03c7d2b69dbedc95e498d46071
Author: Alex Strelnikov <strel at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libc/docs/dev/printf_behavior.rst
M libc/src/__support/float_to_string.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_config.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Add Q length modifier to support float128 conversions in printf (#203077)
The spelling follows an existing pattern in e.g. libquadmath for format
printing `__float128` values.
A flag is added to disable float128 conversions and the "Q" length
modifier.
Commit: a4107d67f91946a97d0acd0a70e2ae16513858b9
https://github.com/llvm/llvm-project/commit/a4107d67f91946a97d0acd0a70e2ae16513858b9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Don't install custom Python on self-hosted macOS runners (#207794)
That shouldn't be necessary, since they already come with Python 3, and
it doesn't work anyway because it requires special setup that the macOS
runners don't currently perform.
Commit: 7b9a58e6cfa0dab49ef417f731ee7a8dc5e3aab5
https://github.com/llvm/llvm-project/commit/7b9a58e6cfa0dab49ef417f731ee7a8dc5e3aab5
Author: Michael Jones <michaelrj at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
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/hdr/CMakeLists.txt
A libc/hdr/dirent_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/DIR.h
A libc/hdr/types/struct_dirent.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/OSUtil/linux/stat/kernel_statx_types.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fcntl.h
M libc/src/dirent/CMakeLists.txt
A libc/src/dirent/fdopendir.cpp
A libc/src/dirent/fdopendir.h
M libc/test/src/dirent/CMakeLists.txt
A libc/test/src/dirent/fdopendir_test.cpp
Log Message:
-----------
[libc] Implement fdopendir (#206590)
The fdopendir function takes a file descriptor opened on a directory,
then opens a DIR* on it.
Needed for #191075
Assisted-by: Automated tooling, human reviewed.
Commit: 2590272e5674c300c9438ef5c10a65358b0636e9
https://github.com/llvm/llvm-project/commit/2590272e5674c300c9438ef5c10a65358b0636e9
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/include/lldb/Core/Value.h
M lldb/include/lldb/Expression/Materializer.h
M lldb/include/lldb/Host/common/NativeRegisterContext.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/RegisterContext.h
A lldb/include/lldb/Utility/RegisterInfo.h
M lldb/include/lldb/Utility/RegisterValue.h
M lldb/include/lldb/lldb-private-types.h
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
Log Message:
-----------
[lldb] Move RegisterInfo and RegisterSet into their own header (#207286)
RegisterInfo holds onto a pointer to RegisterFlags which is in
lldbUtility. My understanding of lldb-private-types is that it contains
types used throughout LLDB but should generally stand on their own (i.e.
without dependencies on specific lldb types and headers). Thus I am
moving it to lldbUtility.
RegisterSet _does_ stand on its own but it is pretty strongly coupled to
RegisterInfo.
Commit: b74512899707cfcf962ebfa21f9209378372e78b
https://github.com/llvm/llvm-project/commit/b74512899707cfcf962ebfa21f9209378372e78b
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[NFC][PatternMatch] Simplify m_Intrinsic impl using variadic templates (#207211)
Updates both IR/VPlan pattern matchers.
Commit: 76d253e2736c7da493a836c9c150772056dafd73
https://github.com/llvm/llvm-project/commit/76d253e2736c7da493a836c9c150772056dafd73
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[docs][AMDGPU] Document amdgpu.buffer.oob.mode more, especially on fat pointers (#134734)
This commit expands the documentation of the amdgpu.buffer.oob.mode so
that fat buffer pointer users are more aware of its effects.
Commit: c8c20662e036099b00469bf26324b93151acb00c
https://github.com/llvm/llvm-project/commit/c8c20662e036099b00469bf26324b93151acb00c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
M llvm/test/Transforms/InstCombine/frexp-implied-exponent-range-dominating-conditions.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-ldexp.ll
Log Message:
-----------
ValueTracking: Improve frexp known range from dominating conditions (#206927)
Try to restrict the known range of the exponent result of llvm.frexp
based on dominating conditions. Identify comparisons that imply the
incoming value cannot introduce an overflow in a downstream ldexp
use. This pattern appears in the implementation of some complex math
functions and allows finite only math to prune out more edge case
paths.
One attributor test for ldexp regresses due to the switch from
computeKnownBits to computeConstantRange. computeConstantRange
does not try to handle non-splat vector constants for the binary
operators.
As a side effect, this also improves knowing that ldexp can't
introduce overflow for the 0 case.
Commit: dbd7511ad28819587fc9effc0086abf437279a84
https://github.com/llvm/llvm-project/commit/dbd7511ad28819587fc9effc0086abf437279a84
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
Log Message:
-----------
[LowerBufferFatPointers] Correctly handle alignment modes (#134329)
Previously, AMDGPULowerBufferFatPointers would emit unaligned buffer
loads/stores, even when such unaligned accesses were disabled (that is,
on non-HSA platforms).
In addition, the lowering did not respect the newly-added
amdgpu.buffer.oob.mode module flag, which now must be enabled in order
to vectorize unaligned loads from buffers.
This commit fixes both issues and adds tests.
Commit: 000f6bf9cb7ec4223ef1de829158d09d4bfa2946
https://github.com/llvm/llvm-project/commit/000f6bf9cb7ec4223ef1de829158d09d4bfa2946
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
M flang/test/Fir/CUDA/cuda-function-rewrite.mlir
Log Message:
-----------
[flang][cuda] Recognize on_device() by its Fortran leaf name in CUFFunctionRewrite (#207298)
CUFFunctionRewrite folds on_device() to a compile-time constant: true
inside a gpu.module (device), false on the host. Match on the callee's
Fortran leaf name, recovered independently of the external name-mangling
convention and of where the pass runs in the pipeline.
Commit: 3ae61eb220dc8f1fa0dd551a9575237b84dae61d
https://github.com/llvm/llvm-project/commit/3ae61eb220dc8f1fa0dd551a9575237b84dae61d
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstCombine] Turn Add into Or even when undef (#171556)
Since 03d4a9d94da30590ebfc444cf13a8763f47b7bb9, Add is turned into
DisjointOr, and since 5c3496ff33ce8e4cc6f8c18edd7ae5fc65d23fdf, Add
isn't turned into DisjointOr when undef. However, Add can still be
turned into Or even when undef.
This patch restores the transformation behavior we had in LLVM 17, while
continuing to generate DisjointOr when possible.
Alive2: https://alive2.llvm.org/ce/z/ZT0ZFj
Commit: 5e5490f2df9c9c329689929b62d51ee0fb95fb30
https://github.com/llvm/llvm-project/commit/5e5490f2df9c9c329689929b62d51ee0fb95fb30
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/CodeGen/X86/phaddsub-undef.ll
Log Message:
-----------
[X86] combineToHorizontalAddSub - use PostShuffleMask to determine undemanded subvectors (#207789)
For cases where the middle-end has created a 256-bit HADD/SUB pattern
with unused upper 128-bit subvectors, use the PostShuffleMask undefined
ranges to remove any unused 128-bit HADD/SUB ops.
Commit: 3df6ca69c9e2b22687315a3074857383eefa93b8
https://github.com/llvm/llvm-project/commit/3df6ca69c9e2b22687315a3074857383eefa93b8
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
R llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.ll
A llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.mir
Log Message:
-----------
[AMDGPU][test] Use mir test for regalloc issue (#197363)
Use the newly introduced split-from flag to produce a more robust test
case for the hoistSpillInsideBB live-range update issue.
NFC
Commit: 2e0c6a254c4a159726f0477bbe3723eafe33382c
https://github.com/llvm/llvm-project/commit/2e0c6a254c4a159726f0477bbe3723eafe33382c
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
Log Message:
-----------
[lldb] Fix TestFrameProviderCircularDependency.py on Arm (#207804)
After #206987 this test started passing on Windows and 32-bit Linux on
Arm. Remove the expected failure annotation to fix lldb-arm-ubuntu
buildbot.
Commit: 396354a3f7f627aaa5cbfffa2033e1ea8bc00e69
https://github.com/llvm/llvm-project/commit/396354a3f7f627aaa5cbfffa2033e1ea8bc00e69
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libc++] Install missing dependencies for running benchmarks on macOS (#207810)
The macOS self-hosted runners don't come with Ninja and CMake installed
out of the box, so we need to install them with Homebrew.
Commit: d2b6f83980ed0428d8342b378f01317acf4510de
https://github.com/llvm/llvm-project/commit/d2b6f83980ed0428d8342b378f01317acf4510de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CIR/CodeGen/fp16-native-args.c
A clang/test/CIR/CodeGen/fp16.c
M clang/test/CodeGen/builtin_float.c
M clang/test/CodeGen/builtin_float_strictfp.c
M clang/test/CodeGen/wasm-fp16.c
Log Message:
-----------
clang: Remove useFP16ConversionIntrinsics target option (#207212)
Follow up to #174494. Remove the remnants of the control to
use llvm.convert.to.fp16/llvm.convert.from.fp16. Prefer
directly using the IR half type.
I did the first 80% of this a long time ago, and AI finished
the last bit and handled the recent rebases and test updates.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Commit: 4868f2c1edfede611994a621e8eb0adac46bca1a
https://github.com/llvm/llvm-project/commit/4868f2c1edfede611994a621e8eb0adac46bca1a
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Modify test binaries that link against LLDB to use LLVM dylib (#207290)
When LLVM_LINK_LLVM_DYLIB is enabled and we build LLDB.framework, tests
that link against LLDB.framework will fail to load the LLVM dylib
because of a missing rpath.
Commit: 2d0f294d1b272b8976ebd2d90a5252af1af8ca89
https://github.com/llvm/llvm-project/commit/2d0f294d1b272b8976ebd2d90a5252af1af8ca89
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.offset-split.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load-exported.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
Log Message:
-----------
[AMDGPU] Precommit for pulling NUW large buffer offsets into SOFFSET (#207795)
This commit adds tests with larger constant offsets [being added to
VGPRs] in raw.buffer.* instructions to show the movement of such offsets
to SOFFSET after rounding in a future commit if this won't cause errors
because of overflow.
This also necessitated adding gfx1250 tests (to show the different
offset sizes) and moving tests that ctalled "export" into a new file so
that the gfx1250 (which doesn't support that instruction) doesn't trip
ot those tests.
This also adds a few global-isel specific tests for handling `or
disjoint` like an add we can't just stick -global-isel in the normal
buffer intrinsic tests.
AI usage disclosure: AI wrote these, I skimmed them.
---------
Co-authored-by: Codex <codex at openai.com>
Commit: 5dfc35a50514aaa62a34cb17f5be5c6396caf4fb
https://github.com/llvm/llvm-project/commit/5dfc35a50514aaa62a34cb17f5be5c6396caf4fb
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
[docs] Disable sphinx's numfig option (#207817)
Benchmarking shows a speedup of about 1.6x for a single file edit:
```bash
source .venv/bin/activate
hyperfine \
--ignore-failure \
--warmup 1 \
--setup 'rm -rf /dev/shm/sphinx-build && cm c -b /dev/shm/sphinx-build' \
--prepare 'touch llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst' \
'cm b -b /dev/shm/sphinx-build docs-llvm-html'
# main:
# Benchmark 1: cm b -b /dev/shm/sphinx-build docs-llvm-html
# Time (mean ± σ): 41.424 s ± 1.652 s [User: 39.534 s, System: 1.876 s]
# Range (min … max): 40.696 s … 46.110 s 10 runs
# no-numfig:
# Benchmark 1: cm b -b /dev/shm/sphinx-build docs-llvm-html
# Time (mean ± σ): 25.808 s ± 2.051 s [User: 24.106 s, System: 1.692 s]
# Range (min … max): 24.287 s … 30.132 s 10 runs
```
There are only two uses of the feature, both in VectorizationPlan, and
the net result of disabling it just changes them from looking like this:
Refer to [Fig. 1] for an overview of the current transformation
pipeline.
To looking like this:
Refer to [VPlan Transformation Pipeline in 2024] for an overview of the
current transformation pipeline.
Where "[...]" denotes the hyperlink to the figure.
See
https://github.com/zephyrproject-rtos/zephyr/pull/37572#discussion_r1102411281
for another project's discussion of the same issue.
Commit: 2ef9c9d02409b02dc2289b4125397cbc40030c74
https://github.com/llvm/llvm-project/commit/2ef9c9d02409b02dc2289b4125397cbc40030c74
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[bazel][libc] Port 03c62ca40d (#207820)
Commit: 642c9f69772dea930c8c035813430d325c96697c
https://github.com/llvm/llvm-project/commit/642c9f69772dea930c8c035813430d325c96697c
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
[docs][NFC] Some small cleanup in llvm_sphinx (#207818)
Format the doc-comment suggested import to match what `black` prefers,
and isolate the `import` as the only statement in the `try` for
`myst_parser`.
Commit: ddebfb9d1cbdf2988d118eae889b868024290856
https://github.com/llvm/llvm-project/commit/ddebfb9d1cbdf2988d118eae889b868024290856
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
Log Message:
-----------
[VPlan] Add intrinsic constant folding test for replicate recipes. (NFC) (#207792)
Commit: f348d964af441ec454e5fc12ab1b599cfc1e7d14
https://github.com/llvm/llvm-project/commit/f348d964af441ec454e5fc12ab1b599cfc1e7d14
Author: Aditya Medhane <sherlockedaditya at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/test/Misc/warning-wall.c
M clang/test/SemaCXX/warn-func-not-needed.cpp
M clang/test/SemaCXX/warn-variable-not-needed.cpp
Log Message:
-----------
[Clang] Enable -Wunused-template under -Wall (#206123)
Uncomment `UnusedTemplate` in the `Unused` diagnostic group so
`-Wunused-template` becomes part of `-Wall`.
`-Wunused-template` flags unused function and variable templates with
internal linkage. In a header, such a template gives every translation
unit its own internal-linkage copy, which is a latent ODR violation
(ill-formed, no diagnostic required), so enabling this surfaces a real
class of bugs and keeps the pattern from reappearing.
### Depends on
The in-tree occurrences were cleaned up first in a series of NFC PRs
tracked by #202945. This change only builds clean once those land, so CI
will be red on any area whose cleanup is not yet merged. Remaining
prerequisites:
Approved
- #202969
- #202971
- #202973
- #202974
- #206309
- #206312
Needs to be reviewed
- #202988
- #206308
Closes #202945
cc @AaronBallman @vgvassilev
Commit: 2e1f347c38114f5e2e4fc4355fad9cdc0e1bb205
https://github.com/llvm/llvm-project/commit/2e1f347c38114f5e2e4fc4355fad9cdc0e1bb205
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M libcxx/include/__ranges/zip_transform_view.h
A libcxx/test/libcxx/ranges/range.adaptors/range.zip.transform/nodiscard.verify.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++][ranges] Applied `[[nodiscard]]` to `views::zip_transform` (#207120)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.zip.transform
Towards #172124
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 5a74b398d27ecba94fa0acf800af86039bf6a0f5
https://github.com/llvm/llvm-project/commit/5a74b398d27ecba94fa0acf800af86039bf6a0f5
Author: Alex Langford <alangford at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M lldb/include/lldb/Core/Section.h
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBSection.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/unittests/Core/ModuleTest.cpp
M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Remove ConstString from SectionList::FindSectionByName (#207296)
By having ConstString in this interface, we are forcing callers to
create a ConstString in order to perform a lookup. In many cases,
`FindSectionByName` is a best-effort interface, meaning we're creating
ConstStrings speculatively. In other cases, we were creating a
ConstString at the call-site instead of computing it once and re-using
it.
I audited all the callsites and changed all the callsites that created a
ConstString for the purpose of calling `FindSectionByName`. Other
callsites will take more time to change.
Commit: 09f2062da3b34b7db167268b05c9a9a5bd3c7e17
https://github.com/llvm/llvm-project/commit/09f2062da3b34b7db167268b05c9a9a5bd3c7e17
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenTypes.cpp
Log Message:
-----------
clang: Use getFloatingPointType instead of reinventing it (#207213)
Commit: e64a71f09b016edb834eb45e5c172d1337555803
https://github.com/llvm/llvm-project/commit/e64a71f09b016edb834eb45e5c172d1337555803
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
Log Message:
-----------
[VPlan] Refine hasEarlyExit check. (#207791)
Currently hasEarlyExit misses cases where we have things like dead exit
blocks or simplified the middle block.
Update to check by counting the predecessors.
This fixes a case where we missed properly updating LoopInfo due to
incorrect results.
Fixes https://github.com/llvm/llvm-project/issues/206007.
Commit: b69ec1023d6604106cb64f9a6a6b04e9c3e5d533
https://github.com/llvm/llvm-project/commit/b69ec1023d6604106cb64f9a6a6b04e9c3e5d533
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
Log Message:
-----------
Revert "[VPlan] Refine hasEarlyExit check." (#207838)
Reverts llvm/llvm-project#207791
This appears to break multiple build-bots
Commit: f147395634dd21f9f2dfbdcc8c1a2f96c3228a24
https://github.com/llvm/llvm-project/commit/f147395634dd21f9f2dfbdcc8c1a2f96c3228a24
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ObjectYAML/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#207839)
1b2efd2e079a
9b2d44a51252
Commit: 23a01e949a55d4034dbbcad08c875a1d458464b1
https://github.com/llvm/llvm-project/commit/23a01e949a55d4034dbbcad08c875a1d458464b1
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/stack-guard-width.ll
Log Message:
-----------
[AArch64] Support 4-byte stack protector with large code model. (#205956)
This is a simple extension to existing code. We might need this in the
future.
Commit: 61d766817b9ebe9804c84d71aa7a620962436dff
https://github.com/llvm/llvm-project/commit/61d766817b9ebe9804c84d71aa7a620962436dff
Author: Bill Wendling <morbo at google.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGen/attr-counted-by-nested-structs.c
Log Message:
-----------
[Clang][counted_by] Use the expr's RecordDecl that transitively contains the counter field (#205903)
The counted field could be in nested structs. This can happen when the
Expr is pointing to a field that has a struct type. The original code
didn't do a good job at finding the best RecordDecl to build the GEP off
of. It made too many assumptions about how structs' layouts.
This rewrite finds the RecordDecl that transitively contains the
__counted_by__'s counter field.
Fixes: #205652
Commit: c9c7fdde03d04ab10960db156f832a276411e3b5
https://github.com/llvm/llvm-project/commit/c9c7fdde03d04ab10960db156f832a276411e3b5
Author: yebinchon <86588366+yebinchon at users.noreply.github.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/test/HLFIR/separate-allocatable-assign.fir
Log Message:
-----------
[flang] keep runtime allocator for pinned allocations (#207822)
If an allocatable is pinned, use the flang runtime instead of lowering
to normal memcpy/free.
---------
Co-authored-by: Yebin Chon <ychon at nvidia.com>
Commit: 8014a1d208f0f9e58cfeaf022517cf3d69257bff
https://github.com/llvm/llvm-project/commit/8014a1d208f0f9e58cfeaf022517cf3d69257bff
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
Log Message:
-----------
[Support] Fix undefined shift in decodeULEB128/decodeSLEB128 for overlong encodings (#205907)
When a (signed or unsigned) LEB128 value is encoded with extra trailing
bytes that only carry zero- or sign-extension, the decode loop could
keep
running with the shift amount at 64 or beyond and then evaluate
`Slice << Shift`, which is undefined behavior for a 64-bit type.
The DWARF expression parser feeds attacker-controlled LEB128 operands
(such as `DW_OP_bregN` / `DW_OP_constu`) through
`DataExtractor::getULEB128` / `getSLEB128`, so the
`lldb-dwarf-expression-fuzzer` reaches this under UBSan. The unsigned
case:
```
LEB128.h:152:20: runtime error: shift exponent 70 is too large for
64-bit type 'uint64_t' (aka 'unsigned long long')
#0 llvm::decodeULEB128(...) LEB128.h:152
#1 getLEB128<unsigned long long>(...) DataExtractor.cpp:227
#2 llvm::DataExtractor::getULEB128(...) DataExtractor.cpp:241
#3 llvm::DWARFExpression::Operation::extract(...) DWARFExpression.cpp:218
#7 lldb_private::DWARFExpression::Evaluate(...) DWARFExpression.cpp:1333
#9 LLVMFuzzerTestOneInput lldb-dwarf-expression-fuzzer.cpp:83
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior LEB128.h:152:20
```
and the signed case, reached the same way:
```
LEB128.h:190:20: runtime error: shift exponent 70 is too large for
64-bit type 'uint64_t' (aka 'unsigned long long')
#0 llvm::decodeSLEB128(...) LEB128.h:190
#1 getLEB128<long long>(...) DataExtractor.cpp:227
#2 llvm::DataExtractor::getSLEB128(...) DataExtractor.cpp:245
#3 llvm::DWARFExpression::Operation::extract(...) DWARFExpression.cpp:216
#7 lldb_private::DWARFExpression::Evaluate(...) DWARFExpression.cpp:1333
```
The existing range checks already guarantee that once `Shift` reaches 64
the remaining bytes are pure extension and contribute nothing to the
result, so skip the accumulating shift in that case. Decoded values are
unchanged for all well-formed inputs.
Adds overlong-encoding regression cases to `LEB128Test`. Without the fix
the signed case is the UBSan diagnostic above in a sanitizer build, and
in a normal build the unsigned case also decodes to the wrong value (the
overlong `1` decodes as `11`).
Commit: 3df648c5678f6add2a813cd5be3dffb4f074115e
https://github.com/llvm/llvm-project/commit/3df648c5678f6add2a813cd5be3dffb4f074115e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/select-abs-positive-mul.ll
Log Message:
-----------
[InstCombine] Add tests for select-abs through multiply (NFC) (#207833)
Add tests from approved https://github.com/llvm/llvm-project/pull/207539
Commit: 1b6f1528bbb95d47bb2e3fc394b3a4943b1e9708
https://github.com/llvm/llvm-project/commit/1b6f1528bbb95d47bb2e3fc394b3a4943b1e9708
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
A llvm/test/tools/llvm-dwarfdump/X86/array-type-lower-bound-dwarf6.s
M llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
Log Message:
-----------
[llvm][DebugInfo] Add DW_LNAME_ support to DWARFDie::getLanguage (#207151)
Currently `DWARFDie::getLanguage` only looks at `DW_AT_language`.
However, with DWARFv6 we may not have such attribute, and instead have a
`DW_AT_language_name` (and optional `DW_AT_language_version`).
This patch adjusts the implementation to also consider the DWARFv6
language name/version codes. In this patch I just convert it back to
`DW_LANG_` (similar to what we do for the `AsmPrinter`'s
`DwarfUnit::getSourceLanguage`). Added a FIXME to investigate whether we
want to return a variant-like type that can be either an DW_LANG vs.
DW_LNAME code.
The way I initially observed this was looking at a DWARFv6 dwarfdump for
a `const char[]` type. It displayed as follows:
```
DW_AT_type (0x... "const char[[?, ? + 3)]")
```
which is our representation for when we [can't derive the default lower
bound for the
language](https://github.com/llvm/llvm-project/blob/ce787718c3c82255825ebe5f95740c24df55f7d0/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h#L122-L135).
With this patch, we'd display it as expected:
```
DW_AT_type (0x... "const char[3]")
```
Added unit-tests for the new API and a dwarfdump test.
AI usage:
- Claude wrote the dwarfdump and unit-tests. Manually reviewed and
cleaned them up.
Commit: 95dd95030520aad82348341a9f65f3bb98794d01
https://github.com/llvm/llvm-project/commit/95dd95030520aad82348341a9f65f3bb98794d01
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-07-06 (Mon, 06 Jul 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/release-documentation.yml
M .github/workflows/test-suite.yml
M bolt/unittests/Profile/PerfScripts.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/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
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/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/test/clang-doc/html/long-name.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.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/ClangLinkerWrapper.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/StmtVisitor.h
M clang/include/clang/Analysis/Analyses/Dominators.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Basic/AArch64CodeGenUtils.h
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.h
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/DiagnosticSemaKinds.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/CMakeLists.txt
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/MultipleIncludeOpt.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
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/include/clang/Sema/CMakeLists.txt
M clang/include/clang/Serialization/CMakeLists.txt
M clang/include/clang/Testing/TestLanguage.def
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
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/ExprConstShared.h
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/Diagnostic.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/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.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/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/README.txt
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.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/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512vp2intersectintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Headers/xmmintrin.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
A clang/lib/Lex/TextEncoding.cpp
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
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.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/test/CIR/CodeGen/attr-noundef.cpp
M clang/test/CIR/CodeGen/attr-target-x86.c
M clang/test/CIR/CodeGen/builtins-x86.c
A clang/test/CIR/CodeGen/fp16-native-args.c
A clang/test/CIR/CodeGen/fp16.c
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
M clang/test/CIR/Lowering/module-asm.cir
A clang/test/CXX/drs/cwg3088.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/ClangScanDeps/diagnostics.c
M clang/test/ClangScanDeps/header-search-pruning-transitive.c
M clang/test/ClangScanDeps/modules-context-hash-from-named-module.cpp
M clang/test/ClangScanDeps/modules-context-hash-ignore-macros.c
M clang/test/ClangScanDeps/modules-context-hash-outputs.c
M clang/test/ClangScanDeps/modules-context-hash-warnings.c
M clang/test/ClangScanDeps/modules-context-hash.c
M clang/test/ClangScanDeps/modules-dep-args.c
M clang/test/ClangScanDeps/modules-extern-submodule.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
M clang/test/ClangScanDeps/modules-full-named-modules.cppm
M clang/test/ClangScanDeps/modules-full-output-tu-order.c
M clang/test/ClangScanDeps/modules-full.cpp
M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
M clang/test/ClangScanDeps/modules-header-sharing.m
M clang/test/ClangScanDeps/modules-implementation-module-map.c
M clang/test/ClangScanDeps/modules-implementation-private.m
M clang/test/ClangScanDeps/modules-implementation-vfs.m
M clang/test/ClangScanDeps/modules-implicit-dot-private.m
M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
M clang/test/ClangScanDeps/modules-inferred.m
M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
M clang/test/ClangScanDeps/modules-pch-common-stale.c
M clang/test/ClangScanDeps/modules-pch-common-submodule.c
M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
M clang/test/ClangScanDeps/modules-pch.c
M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
M clang/test/ClangScanDeps/multiple-commands.c
M clang/test/ClangScanDeps/tu-buffer.c
M clang/test/CodeGen/2006-01-23-FileScopeAsm.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/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
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/asm.c
M clang/test/CodeGen/asm_incbin.c
A clang/test/CodeGen/attr-counted-by-nested-structs.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/builtin_float.c
M clang/test/CodeGen/builtin_float_strictfp.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/cfi-salt.c
M clang/test/CodeGen/kcfi.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/wasm-fp16.c
M clang/test/CodeGenCUDA/filter-decl.cu
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCoroutines/coro-elide.cpp
M clang/test/CodeGenCoroutines/coro-halo.cpp
M clang/test/CodeGenCoroutines/pr65018.cpp
M clang/test/CodeGenHLSL/resources/resources-in-structs-method-call.hlsl
M clang/test/CodeGenObjC/category-class.m
M clang/test/CodeGenObjC/objc-runtime-name.m
M clang/test/Driver/cl-options.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/unknown-std.cpp
M clang/test/Frontend/ast-codegen.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
A clang/test/Headers/zos-guard.c
A clang/test/Lexer/char-escapes-delimited-invalid-utf8.c
M clang/test/Lexer/char-escapes-delimited.c
M clang/test/Lexer/string-literal-encoding.c
M clang/test/Misc/warning-wall.c
M clang/test/Modules/codegen.test
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-s390x.c
M clang/test/Preprocessor/init.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
A clang/test/Sema/aux-target-builtin-constexpr.cpp
M clang/test/Sema/matrix-type-operators.c
A clang/test/Sema/offsetof-unsigned-index.c
A clang/test/SemaCXX/GH203701.cpp
M clang/test/SemaCXX/condition.cpp
M clang/test/SemaCXX/injected-class-name-crash.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaCXX/warn-func-not-needed.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M clang/test/SemaCXX/warn-tautological-compare.cpp
M clang/test/SemaCXX/warn-variable-not-needed.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/member-specialization.cpp
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/CMakeLists.txt
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/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
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/hwasan/hwasan_checks.h
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_riscv64.S
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 compiler-rt/lib/sanitizer_common/tests/sanitizer_mutex_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_test_utils.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/chunk_test.cpp
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/flags_test.cpp
M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
M compiler-rt/lib/scudo/standalone/tests/memtag_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
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
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/docs/Semantics.md
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/CUDA/cuda-function-rewrite.mlir
A flang/test/HLFIR/inline-elemental-multi-users.fir
M flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/test/Semantics/CUDA/cuf08.cuf
A flang/test/Semantics/CUDA/cuf31.cuf
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/dev/printf_behavior.rst
M libc/docs/headers/complex.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/dirent_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/DIR.h
A libc/hdr/types/struct_dirent.h
A libc/hdr/types/struct_ipv6_mreq.h
M libc/include/CMakeLists.txt
M libc/include/complex.yaml
M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_ipv6_mreq.h
M libc/include/netinet/in.yaml
M libc/include/sys/socket.yaml
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/OSUtil/linux/stat/kernel_statx_types.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fcntl.h
M libc/src/__support/big_int.h
M libc/src/__support/float_to_string.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/dirent/CMakeLists.txt
A libc/src/dirent/fdopendir.cpp
A libc/src/dirent/fdopendir.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/printf_config.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sockatmark.cpp
A libc/src/sys/socket/sockatmark.h
M libc/startup/baremetal/arm/start.cpp
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/PrintfMatcher.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/dirent/CMakeLists.txt
A libc/test/src/dirent/fdopendir_test.cpp
M libc/test/src/netinet/CMakeLists.txt
M libc/test/src/netinet/in_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sockatmark_test.cpp
M libc/utils/MPCWrapper/MPCUtils.cpp
M libcxx/docs/DesignDocs/FeatureTestMacros.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx26Issues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/abi.h
M libcxx/include/__cxx03/string
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/__random/mersenne_twister_engine.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_transform_view.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/thread.h
M libcxx/include/__vector/layout.h
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/string
M libcxx/include/thread
M libcxx/src/atomic.cpp
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
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/ranges/range.adaptors/range.elements/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.zip.transform/nodiscard.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
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.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/library/description/conventions/customization.point.object/cpo.compile.pass.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.adaptors/range_adaptor_types.h
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
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/support/test_iterators.h
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libcxx/utils/run-spec-benchmark
M libcxxabi/src/CMakeLists.txt
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/test/thread_local_destruction_order.pass.cpp
M lld/ELF/Arch/SPARCV9.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/Writer.cpp
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/EmulateInstruction.h
M lldb/include/lldb/Core/Section.h
M lldb/include/lldb/Core/Value.h
M lldb/include/lldb/Expression/Materializer.h
M lldb/include/lldb/Host/common/NativeRegisterContext.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/RegisterContext.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/include/lldb/Utility/ConstString.h
A lldb/include/lldb/Utility/RegisterInfo.h
M lldb/include/lldb/Utility/RegisterValue.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-private-types.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBSection.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/Section.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/Utility/ConstString.cpp
M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py
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/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
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
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
M lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py
A lldb/test/API/macosx/expedited-stack-memory/Makefile
A lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
A lldb/test/API/macosx/expedited-stack-memory/main.c
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_DAPConnection.py
A lldb/test/API/tools/lldb-dap/utils/TestDAPUtils_EventHistory.py
A lldb/test/API/tools/lldb-dap/utils/sample_dap_log.json
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-mcp/CMakeLists.txt
M lldb/unittests/Core/ModuleTest.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
M lldb/unittests/Utility/ArchSpecTest.cpp
M llvm/benchmarks/ImmutableSetIteratorBM.cpp
M llvm/docs/AMDGPUAsyncOperations.rst
A llvm/docs/AMDGPUDMAOperations.md
M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
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
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/NVPTXUsage.rst
M llvm/docs/PDB/CodeViewSymbols.rst
A llvm/docs/ProjectGovernance.md
R llvm/docs/ProjectGovernance.rst
M llvm/docs/RISCVUsage.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
M llvm/docs/VectorizationPlan.rst
A llvm/docs/Vectorizers.md
R llvm/docs/Vectorizers.rst
M llvm/docs/conf.py
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/ImmutableSet.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/BinaryFormat/DynamicTags.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/CostTable.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/RDFGraph.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/SelectionDAGNodes.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/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmStreamer.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/SandboxIR/PassManager.h
M llvm/include/llvm/Support/CFGDiff.h
M llvm/include/llvm/Support/ConvertUTF.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/GenericDomTree.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/KnownFPClass.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Support/TextEncoding.h
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/AssumptionCache.cpp
M llvm/lib/Analysis/BlockFrequencyInfoImpl.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/LazyValueInfo.cpp
M llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
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
R llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFRegisters.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/RegisterCoalescer.h
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/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FileCheck/FileCheckImpl.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCInstrInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ModuleSymbolTable.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/ConvertUTF.cpp
M llvm/lib/Support/FormatVariadic.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/TextEncoding.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
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/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.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/GCNPreRAOptimizations.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.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/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARM/ARMCallingConv.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.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.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/Hexagon/HexagonPostRAHandleQFP.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
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/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
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/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
M llvm/lib/Target/PowerPC/PPCCallingConv.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.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/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
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/SPIRVLegalizerInfo.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/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
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/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86CallingConv.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/X86InstrSSE.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.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
M llvm/test/Assembler/invalid-immarg5.ll
A llvm/test/Assembler/module-asm-invalid.ll
A llvm/test/Bitcode/Inputs/aarch64-memory-attribute-upgrade.bc
A llvm/test/Bitcode/Inputs/x86-memory-attribute-upgrade.bc
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/Bitcode/target-memory-attribute.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
R llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.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/legalize-phi.mir
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
A llvm/test/CodeGen/AArch64/build-vector-reconstructshuffle.ll
A llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
A llvm/test/CodeGen/AArch64/i128-imm-compare-ccmp.ll
M llvm/test/CodeGen/AArch64/isinf.ll
M llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AArch64/regcoal-physreg.mir
M llvm/test/CodeGen/AArch64/stack-guard-width.ll
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
A llvm/test/CodeGen/AArch64/sve2p1-while-pn-folds.ll
M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.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/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.offset-split.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/greedy-global-heuristic.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
M llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.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
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load-exported.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization-alignment.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/ra-inserted-scalar-instructions.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
M llvm/test/CodeGen/AMDGPU/regalloc-fail-unsatisfiable-overlapping-tuple-hints.mir
R llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.ll
A llvm/test/CodeGen/AMDGPU/regalloc-hoist-spill-live-range-upd.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
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/s-barrier.ll
M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.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/split-liverange-overlapping-copies.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
M llvm/test/CodeGen/AMDGPU/splitkit-do-not-undo-subclass-split-with-remat.mir
M llvm/test/CodeGen/AMDGPU/splitkit.mir
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/DirectX/legalize-switch-unreachable.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-multi-conv.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-conv-double2.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-fakereg.ll
M llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg2.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-subreg3.ll
A llvm/test/CodeGen/Hexagon/autohvx/xqf-postra-warnings.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
A llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir
M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap-invalid.ll
A llvm/test/CodeGen/NVPTX/intrinsic-immarg-print-mismatched-signature.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/mcp-elim-eviction-chain.mir
M llvm/test/CodeGen/PowerPC/misched.ll
M llvm/test/CodeGen/PowerPC/pgo-ref-directive.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
A llvm/test/CodeGen/RISCV/module-asm-features.ll
M llvm/test/CodeGen/RISCV/pr176001.ll
A llvm/test/CodeGen/RISCV/rvp-bitreverse-zbkb.ll
A llvm/test/CodeGen/RISCV/rvp-reverse.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-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.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-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvdot4a8i.ll
M llvm/test/CodeGen/RISCV/rvv/pr52475.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.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
M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fixed-point-math-i64.ll
A llvm/test/CodeGen/SPIRV/store-to-read-only-addrspace.ll
M llvm/test/CodeGen/SPIRV/transcoding/load-atomic.ll
M llvm/test/CodeGen/SPIRV/transcoding/store-atomic.ll
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/CodeGen/X86/AMX/amx-greedy-ra-spill-shape.ll
M llvm/test/CodeGen/X86/apx/foldmemory.mir
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.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
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/divrem-by-select.ll
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/haddsub-undef.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/legalize-vec-assertzext.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/psadbw.ll
M llvm/test/CodeGen/X86/sad_variations.ll
M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/trunc-subvector.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv_fix.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
A llvm/test/CodeGen/X86/x86-inst-tuning.mir
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-movements.mir
M llvm/test/DebugInfo/MIR/X86/dvl-livedebugvars-stackptr.mir
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
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/MC/AArch64/arm-poe2.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
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/test/MC/SystemZ/insn-good-zos-pcrel.s
A llvm/test/TableGen/ExegesisRawPfmCounters.td
M llvm/test/TableGen/MacroFusion.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/ThinLTO/X86/import-symver.ll
M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/volatile.ll
A llvm/test/Transforms/Inline/X86/always-inline-features.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/add.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
A llvm/test/Transforms/InstCombine/frexp-implied-exponent-range-dominating-conditions.ll
A llvm/test/Transforms/InstCombine/insert-element-shuffle-vector-debugloc.ll
M llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
A llvm/test/Transforms/InstCombine/select-abs-positive-mul.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-ldexp.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/InstSimplify/vector-interleave-deinterleave.ll
A llvm/test/Transforms/JumpTableToSwitch/callee-type-mismatch.ll
A llvm/test/Transforms/LICM/AArch64/sme-fp8-hoist.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
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/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.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
A llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/early_exit_store_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/LowerTypeTests/export-symver.ll
A llvm/test/Transforms/MergeICmps/X86/dbgloc-branches.ll
M llvm/test/Transforms/MergeICmps/X86/no-gep-other-work.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.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
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-node-with-in-order-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-before-main.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.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/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.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
A llvm/test/Verifier/NVPTX/tensormap-replace.ll
M llvm/test/Verifier/intrinsic-immarg.ll
A llvm/test/tools/llubi/intr_experimental_vector.ll
A llvm/test/tools/llvm-dwarfdump/X86/array-type-lower-bound-dwarf6.s
A llvm/test/tools/llvm-pdbutil/opt-docnum.test
M llvm/tools/llubi/lib/Interpreter.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/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
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/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.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/DebugInfo/DWARF/DWARFDieTest.cpp
M llvm/unittests/IR/DominatorTreeTest.cpp
M llvm/unittests/Object/GOFFObjectFileTest.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
M llvm/unittests/Support/LEB128Test.cpp
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/CallingConvEmitter.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/SubtargetEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86DisassemblerTables.h
M llvm/utils/UpdateTestChecks/mir.py
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/gn/secondary/llvm/lib/ObjectYAML/BUILD.gn
M llvm/utils/lit/lit/InprocBuiltins.py
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/util.py
M mlir/cmake/modules/AddMLIR.cmake
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Bytecode/BytecodeImplementation.h
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
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/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.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/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/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/Interfaces/TilingInterface.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/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/CAPI/rewrite.c
A mlir/test/Conversion/ArithToAMDGPU/scaling-truncf-tensor.mlir
M mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.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/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/unify-aliased-resource.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-attach-target.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
M mlir/test/Target/LLVMIR/Import/nvvmir.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/module-asm.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/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 offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
M orc-rt/include/orc-rt/SimplePackedSerialization.h
M orc-rt/unittests/SimplePackedSerializationTest.cpp
M polly/lib/External/isl/isl_union_map.c
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/docs/llvm_sphinx/__init__.py
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/354438f7cd70...95dd95030520
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