[all-commits] [llvm/llvm-project] 305dd8: [lldb][Windows] Mark test as expected failure (#20...

Muhammad Bassiouni via All-commits all-commits at lists.llvm.org
Mon Jul 13 12:12:23 PDT 2026


  Branch: refs/heads/users/bassiounix/clang/c2y/if-decl
  Home:   https://github.com/llvm/llvm-project
  Commit: 305dd8773f938a65b020b82ae803f86de2c5ac22
      https://github.com/llvm/llvm-project/commit/305dd8773f938a65b020b82ae803f86de2c5ac22
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/test/API/commands/platform/connect/TestPlatformConnect.py

  Log Message:
  -----------
  [lldb][Windows] Mark test as expected failure (#207153)

In f31853255c300e07b93783425e40948cc0dfdb0f, this test was marked as
expected failure only when running with `lldb-server.exe`. It shoulds
not have been, it is still failing. Revert the decorator to
`expectedFailureWindows`.


  Commit: a617ee3307ce1f183e9593ac08c5ddfaf914d1c9
      https://github.com/llvm/llvm-project/commit/a617ee3307ce1f183e9593ac08c5ddfaf914d1c9
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Add ElementSize information to pseudo instructions. (#206133)

https://github.com/llvm/llvm-project/pull/204820 is making more use of
an SVE instruction's element size. To make best use of this the pseudo
instructions need to carry the same information because the pass is run
before expansion. This PR adds the necessary data and updates
AArch64SVESchedPseudoTest to verify the data matches the real
instruction it represents.


  Commit: 938751d785901445e263568f529d54f1e7171066
      https://github.com/llvm/llvm-project/commit/938751d785901445e263568f529d54f1e7171066
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates_addresses.cpp

  Log Message:
  -----------
  [Dexter] Allow matching lists of values for aggregate members (#204160)

This patch slightly extends the matching of aggregate members to allow
for lists of expected values for individual functioning the same as
lists of expected values for scalar values. This is accomplished by
recursively calling `get_expect_match` instead of `DebuggerExpectMatch`,
which contains logic for matching against all possible expected values
and selecting the best match (and committing any associated context
changes, e.g. modified address labels).


  Commit: 48a004672bbff735569f037f85211c7c472aa5a0
      https://github.com/llvm/llvm-project/commit/48a004672bbff735569f037f85211c7c472aa5a0
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M offload/unittests/OffloadAPI/common/Environment.cpp

  Log Message:
  -----------
  [offload] check olInit and olShutDown error in unittests initialisation (#206764)

if olInit fails, it leaves liboffload in an inconsistent state (proper
cleanup will be addressed in a follow-up patch). This can lead to
seemingly unrelated test failures (e.g. the host device is missing).
This patch makes such tests fail immediately with a clear error message.


  Commit: e8e379ef1ebc67cd2a307db0de8f5ad45cb81101
      https://github.com/llvm/llvm-project/commit/e8e379ef1ebc67cd2a307db0de8f5ad45cb81101
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h

  Log Message:
  -----------
  [LLD][COFF] Factor out addObjectFile (NFC) (#206811)

Avoid parsing the input COFF file twice: first, implicitly, in
findBitcodeInObject and later when creating the ObjFile instance. Create
the COFFObjectFile earlier and use it for both the findBitcodeInObject
call and ObjFile creation. It's also preparation for handling hybrid
ARM64X object files.


  Commit: 43082d6efa9c819a7b4ddf4ecfa963748caa82de
      https://github.com/llvm/llvm-project/commit/43082d6efa9c819a7b4ddf4ecfa963748caa82de
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/StaticAnalyzer/Core/Analyses.def
    M clang/test/Analysis/missing-z3-nocrash.c
    M clang/test/Analysis/z3/D83660.c
    M clang/test/Analysis/z3/pretty-dump.c
    M clang/test/Analysis/z3/z3-unarysymexpr.c

  Log Message:
  -----------
  [analyzer] Rename z3 constraint manager backend to unsupported-z3 (#205370)

The Z3 constraint manager backend (selected via
-analyzer-constraints=z3) is unmaintained and known to crash on
real-world input. Rename the user-facing flag to unsupported-z3 and
reword its description so users see up front that the backend is
unsupported and crash-prone -- patches welcome, crash reports are not.

Assisted-By: claude


  Commit: ce2a9c35e9263c5f88b4d741e3d1b54afd89d7bd
      https://github.com/llvm/llvm-project/commit/ce2a9c35e9263c5f88b4d741e3d1b54afd89d7bd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-shuf.ll
    M llvm/test/CodeGen/X86/haddsub.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll

  Log Message:
  -----------
  [X86] Sync scalar hadd/hsub tests between the middle-end and backend (#207163)

Update some more PhaseOrdering/CodeGen test pairs to ensure we're testing what the backend will actually see

Help towards #143000


  Commit: e08041c787295bb5c5c004453d771473142207af
      https://github.com/llvm/llvm-project/commit/e08041c787295bb5c5c004453d771473142207af
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M .github/workflows/release-documentation.yml

  Log Message:
  -----------
  Upload man pages with attestation (#204852)

This first uploads the man pages as a workflow artifact. Then in another
job which requires more permissions than we want to give to the build
job, the man pages are uploaded as a release asset with attestation.


  Commit: 329674f4f4dd08905f456eb7eceeb49770152a38
      https://github.com/llvm/llvm-project/commit/329674f4f4dd08905f456eb7eceeb49770152a38
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-pairwise-add-long.ll

  Log Message:
  -----------
  [AArch64][InstCombine] Combine add with [su]adalp intrinsics (#204796)

It can happen that the [su]adalp uses a zero accumulator and its result
is used as an operand into an ADD instruction. We can fold those.

add(adalp(%pred, zeroinitializer, %in), %acc)
-->
adalp(%pred, %acc, %in)


  Commit: a62d8e068fe04e9edc870f184d7ed635811eb1f1
      https://github.com/llvm/llvm-project/commit/a62d8e068fe04e9edc870f184d7ed635811eb1f1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Reject functions with invalid parameters (#207157)

They will just cause problems later when calling them.


  Commit: 73cfa6bf6855b3bd7e8a87569969888cf95d0962
      https://github.com/llvm/llvm-project/commit/73cfa6bf6855b3bd7e8a87569969888cf95d0962
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    R llvm/test/Transforms/SCCP/bitcast-vector-refinement.l.ll
    A llvm/test/Transforms/SCCP/vector-refinement.ll

  Log Message:
  -----------
  [SCCP] Avoid markConstant() in more places (#206494)

This extends the fix from 991455e69e93c0ce88e927eddd28a9ab34d1f8b2 to
two more places. In both of these, we can run into the same situation
where we first mark as constant with a vector that has poison values,
and then again without poison elements, resulting in an assertion
failure.

(An alternative would be to change markConstant() to allow calls with
different constant if the new constant is a vector that only refines
some previously poison elements?)


  Commit: 08016b2dbd1d93a3c5f00ec6cb0ffc46a55d6bf8
      https://github.com/llvm/llvm-project/commit/08016b2dbd1d93a3c5f00ec6cb0ffc46a55d6bf8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/phaddsub.ll

  Log Message:
  -----------
  [X86] phaddsub.ll - add SSE2/SSE3 test coverage (#207179)

Ensure integer HADD/SUB instructions don't get generated without SSSE3 and that the codegen isn't entirely terrible


  Commit: 3996867e69047fc5ec8aa95bfe06eb153696bdd2
      https://github.com/llvm/llvm-project/commit/3996867e69047fc5ec8aa95bfe06eb153696bdd2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-2.ll

  Log Message:
  -----------
  [X86] haddsub-2.ll - remove duplicate scalar tests (#207183)

These vectorisation tests exist in PhaseOrdering/X86/hadd.ll and
PhaseOrdering/X86/hsub.ll and the result shuffle tests exist in
CodeGen/X86/haddsub.ll and CodeGen/X86/phaddsub.ll

Help towards #143000


  Commit: 21f21d1cbb182907c2bc01fa3d4896b27c71f71a
      https://github.com/llvm/llvm-project/commit/21f21d1cbb182907c2bc01fa3d4896b27c71f71a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Use VECREDUCE_OR instead of VP_REDUCE_OR in combineVectorSizedSetCCEquality. NFCish (#207122)

VECREDUCE_OR doesn't require a VL or mask. We generally don't create VP
operations for fixed vectors.

This should produce the same result in most case, but I can't guarantee
it's completely NFC


  Commit: 846f3250ff859130d1d4db8a60461e61c51b5cef
      https://github.com/llvm/llvm-project/commit/846f3250ff859130d1d4db8a60461e61c51b5cef
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/corev/XCVmem-invalid.s

  Log Message:
  -----------
  [RISCV] Use simm12 instead of simm12_lo for CORE-V post-increment load/store. (#207067)

This operand is an immediate representing how much to adjust the pointer
by after the load/store. Having a symbol address here doesn't make
sense.


  Commit: 507108edb62722b0f8bebf11133722d6689c0b65
      https://github.com/llvm/llvm-project/commit/507108edb62722b0f8bebf11133722d6689c0b65
  Author: disservin <disservin.social at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/Parse/ParseStmt.cpp

  Log Message:
  -----------
  [clang] Fix enum/non-enum conditional warning in ParseStmt (#207085)

Use Scope::NoScope instead of 0, fixes
```
llvm-project/clang/lib/Parse/ParseStmt.cpp:1744:57: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 1744 |   unsigned ScopeFlags = Scope::ControlScope | (C99orCXX ? Scope::DeclScope : 0);
```


  Commit: dab5d92f36fff2149f55e8dd7108522f4104cb62
      https://github.com/llvm/llvm-project/commit/dab5d92f36fff2149f55e8dd7108522f4104cb62
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-2.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll

  Log Message:
  -----------
  [X86] haddsub-2.ll - sync scalar "not" hsub tests between the middle-end and backend (#207192)

Replace the codegen scalar tests with the IR that middle-end actually generates

Help towards #143000


  Commit: 142d555b62e8d364aeb066c4f459e534d12df095
      https://github.com/llvm/llvm-project/commit/142d555b62e8d364aeb066c4f459e534d12df095
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
    M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/floats.cpp

  Log Message:
  -----------
  [Dexter] Add ability to check float values within a range (#204161)

Adds a new node type, !float, which can be used to match debugger ouptut
as
float values rather than as strings, optionally allowing a range to be
specified for inexact matches. This new node allows a list of values to
be
given, effectively a shorthand for a list of individual !float nodes.


  Commit: 8f18d86a33e4a2fa56d081d30ff35504dddf0119
      https://github.com/llvm/llvm-project/commit/8f18d86a33e4a2fa56d081d30ff35504dddf0119
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp

  Log Message:
  -----------
  [OpenACC] Fix reduction var equality check for member variables (#207196)

OpenACC requires we check that a variable have the same operator in all
nested constructs with a reduction. The implementation for this checks
everything I could think of, but I apparently missed member expressions.
This patch adds checks for that as well as 'this' so we should correctly
get the checks.

Fixes: #207180


  Commit: 6c5fa602151f8def92b024a162960db8408a71a6
      https://github.com/llvm/llvm-project/commit/6c5fa602151f8def92b024a162960db8408a71a6
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [SimplifyCFG] Avoid calling `paramHasNonNullAttr` on a ptr vector argument (#207195)

After
https://github.com/llvm/llvm-project/commit/f8467698d8cdbac6e02cdc1aab643d1ac733ec19,
`ConstantPointerNull` also represents a null ptr vector. However,
`paramHasNonNullAttr` only accepts scalar pointer arguments.

Closes https://github.com/llvm/llvm-project/issues/207188.


  Commit: fc1565f89eaff7b4594186793cbb04862660ecff
      https://github.com/llvm/llvm-project/commit/fc1565f89eaff7b4594186793cbb04862660ecff
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/test/SemaCXX/type-traits-incomplete.cpp

  Log Message:
  -----------
  [clang] Check `T` and `U` operands of __reference_constructs_from_temporary are complete types (#206703)

This PR fix a bug introduce by
https://github.com/llvm/llvm-project/pull/206527.

[type.traits] Precondition : "T and U shall be complete types, cv void,
or arrays of unknown bound first.

The check for which
[#206527](https://github.com/llvm/llvm-project/pull/206527.) disables if
the first argument isn't a reference type.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 4df00678d86feafefcd953db317c80241b691d53
      https://github.com/llvm/llvm-project/commit/4df00678d86feafefcd953db317c80241b691d53
  Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx512bmmintrin.h
    A clang/lib/Headers/avx512bmmvlintrin.h
    M clang/lib/Headers/immintrin.h
    A clang/test/CodeGen/X86/avx512bmm-builtins.c
    A clang/test/CodeGen/X86/avx512bmmvl-builtins.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-bitreverse.ll
    A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics-mem.ll
    A llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics.ll
    A llvm/test/CodeGen/X86/avx512bmm-vbmac-intrinsics.ll
    A llvm/test/MC/Disassembler/X86/avx512bmm-32.txt
    A llvm/test/MC/Disassembler/X86/avx512bmm-64.txt
    A llvm/test/MC/X86/avx512bmm-32-att.s
    A llvm/test/MC/X86/avx512bmm-32-intel.s
    A llvm/test/MC/X86/avx512bmm-64-att.s
    A llvm/test/MC/X86/avx512bmm-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [X86] Add AVX512BMM support for AMD Zen 6 (znver6) (#182556)

This patch adds support for AVX512BMM (Bit Matrix Multiply) instruction
set extension for AMD Zen 6 processors.

AVX512BMM includes three instructions:
 - VBITREVB: Bit reverse within each byte
 - VBMACOR: Bit matrix multiply with OR accumulation
 - VBMACXOR: Bit matrix multiply with XOR accumulation 
The following implementations for AVX512BMM are added:
 - Define __AVX512BMM__ macro for znver6
 - avx512bmmintrin.h, avx512bmmvlintrin.h header files
 - Implement _mm_bitrev_epi8, _mm256_bitrev_epi8, _mm512_bitrev_epi8
 - Implement _mm256/512_bmacor16x16x16 and bmacxor intrinsics


  Commit: 78cbc45ce96334c83067fb698fb4f63a7f7899d5
      https://github.com/llvm/llvm-project/commit/78cbc45ce96334c83067fb698fb4f63a7f7899d5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-undef.ll

  Log Message:
  -----------
  [X86] haddsub-undef.ll - rename undef functions to match equivalents in phaseordering tests (#207207)

Still some churn / regressions to address, but this is the same IR as
we're attempting in PhaseOrdering/X86/hadd.ll

Still need to update them to the vectorized IR from the middle-end


  Commit: dd4703ea0d262f1942879f0ecae669e52a95a270
      https://github.com/llvm/llvm-project/commit/dd4703ea0d262f1942879f0ecae669e52a95a270
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/commands/process/attach/TestProcessAttach.py

  Log Message:
  -----------
  [lldb][test] Always kill test processes (#207181)


  Commit: 25680b7d00dffc3ca3dd23d931d7784cf71d74f3
      https://github.com/llvm/llvm-project/commit/25680b7d00dffc3ca3dd23d931d7784cf71d74f3
  Author: Jacob Crawley <jacob.crawley at arm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-predicate-epilogue.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-predicate.ll

  Log Message:
  -----------
  [LV] Handle partial reductions with predication (#194859)

Enables partial reductions to be used when a reduction is gated by a
condition inside a loop.

Previously when a loop contained a condition, this would introduce a
BLEND to the chain, which prevented a partial reduction from being used
in a pattern where it would normally be created.

This patch records the blend as part of the partial reduction chain and
recognizes blends that select between the updated reduction value and
the previous accumulator.

For tail-folded loops, the transform also combines the loop active-lane
mask with the blend condition, so the generated partial reduction is
predicated by both the tail-folding mask and the original loop
condition. This allows partial reductions to also be used for predicated
reductions with tail folding enabled.


  Commit: e8c7c8768c27a02448bf1e37cd29cca467f56f1a
      https://github.com/llvm/llvm-project/commit/e8c7c8768c27a02448bf1e37cd29cca467f56f1a
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M .github/workflows/test-suite.yml
    M .github/workflows/test-suite/llvm.cmake

  Log Message:
  -----------
  [GitHub] Don't build unnecessary tools for test-suite.yml workflow (#207133)


  Commit: 947dc92d1a88423902f1d644d3456055988df2d7
      https://github.com/llvm/llvm-project/commit/947dc92d1a88423902f1d644d3456055988df2d7
  Author: Sayan Sivakumaran <sivakusayan at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/AArch64/args.cpp
    M clang/test/CodeGen/AArch64/byval-temp.c
    M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/LoongArch/bitint.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
    M clang/test/CodeGen/LoongArch/lasx/builtin.c
    M clang/test/CodeGen/PowerPC/ppc64-vector.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/bitint.c
    M clang/test/CodeGen/RISCV/riscv-abi.cpp
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    M clang/test/CodeGen/RISCV/riscv32-abi.c
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    M clang/test/CodeGen/Sparc/sparcv9-abi.c
    M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/SystemZ/zos-abi.c
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/X86/x86_32-arguments-win32.c
    M clang/test/CodeGen/X86/x86_64-arguments-win32.c
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/arm-aapcs-vfp.c
    M clang/test/CodeGen/arm-abi-vector.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/arm64-abi-vector.c
    M clang/test/CodeGen/arm64-arguments.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/arm64ec-varargs.c
    M clang/test/CodeGen/armv7k-abi.c
    M clang/test/CodeGen/atomic-arm64.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/ms_abi.c
    M clang/test/CodeGen/pass-by-value-noalias.c
    M clang/test/CodeGen/ptrauth-in-c-struct.c
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    M clang/test/CodeGen/vectorcall.c
    M clang/test/CodeGen/win-fp128.c
    M clang/test/CodeGen/win64-i128.c
    M clang/test/CodeGen/windows-seh-arg-capture-crash.cpp
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/aix-alignment.cpp
    M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
    M clang/test/CodeGenCXX/arm-cc.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
    M clang/test/CodeGenCXX/blocks.cpp
    M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
    M clang/test/CodeGenCXX/copy-initialization.cpp
    M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
    M clang/test/CodeGenCXX/derived-to-base-conv.cpp
    M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
    M clang/test/CodeGenCXX/fastcall.cpp
    M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
    M clang/test/CodeGenCXX/inalloca-lambda.cpp
    M clang/test/CodeGenCXX/inalloca-overaligned.cpp
    M clang/test/CodeGenCXX/inalloca-vector.cpp
    M clang/test/CodeGenCXX/inheriting-constructor.cpp
    M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
    M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
    M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
    M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
    M clang/test/CodeGenCXX/ms-property.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
    M clang/test/CodeGenCXX/powerpc-byval.cpp
    M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    M clang/test/CodeGenCXX/regparm.cpp
    M clang/test/CodeGenCXX/temporaries.cpp
    M clang/test/CodeGenCXX/trivial_abi.cpp
    M clang/test/CodeGenCXX/uncopyable-args.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
    M clang/test/CodeGenCXX/x86_32-arguments.cpp
    M clang/test/CodeGenCoroutines/coro-params.cpp
    M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
    M clang/test/CodeGenHLSL/builtins/ConstantBuffer.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/CodeGenHLSL/resources/ConstantBufferT-struct-passing.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing_with_resources.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
    M clang/test/CodeGenObjC/pass-by-value-noalias.m
    M clang/test/CodeGenObjC/weak-in-c-struct.m
    M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
    M clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
    M clang/test/CodeGenObjCXX/property-objects.mm
    M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
    M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
    M clang/test/DebugInfo/CXX/debug-info.cpp
    M clang/test/DebugInfo/ObjC/nontrivial-c-struct-exception.m
    M clang/test/Headers/stdarg.cpp
    M clang/test/OpenMP/for_firstprivate_codegen.cpp
    M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
    M clang/test/OpenMP/sections_firstprivate_codegen.cpp
    M clang/test/OpenMP/single_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Emit alignment information for indirect arguments (#201999)

Previously, arguments with `ABIArgInfo::Indirect` would not be given
alignment information if it wasn't `byval`. This could prevent certain
optimizations, such as those guarded by
`isDereferenceableAndAlignedPointer` checks. The missing
dereferenceability information is pointed out in
https://github.com/llvm/llvm-project/issues/129337, for example.

This PR will fix the first half of this problem, which is emitting
alignment information. Dereferenceability information will be added in a
subsequent PR.


  Commit: 2c8d8643c32c9b043f37587807585d54be96e53b
      https://github.com/llvm/llvm-project/commit/2c8d8643c32c9b043f37587807585d54be96e53b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the reassociated operands, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207226


  Commit: 21167283a0d3687db672541b58dbf44c9ad6056a
      https://github.com/llvm/llvm-project/commit/21167283a0d3687db672541b58dbf44c9ad6056a
  Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Enable end-to-end integration test compilation (#207158)


  Commit: abdc6a2181cdca2f23978ef577f493157e1e45fe
      https://github.com/llvm/llvm-project/commit/abdc6a2181cdca2f23978ef577f493157e1e45fe
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
    A llvm/test/Instrumentation/Instrumentor/bad_spelling.ll
    A llvm/test/Instrumentation/Instrumentor/bad_spelling_config.json

  Log Message:
  -----------
  [Instrumentor] Add spellcheck for instrumentor properties (#205416)

This patch adds spellcheck hints for unrecognized properties in the
instrumentor's JSON configuration.


  Commit: 025c4c1d6bd017749e71ad3dc0b0d7b253606b4f
      https://github.com/llvm/llvm-project/commit/025c4c1d6bd017749e71ad3dc0b0d7b253606b4f
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir

  Log Message:
  -----------
  [mlir][tosa] Fold unit-expanded reshapes in reduce-transposes (#203529)

Extend tosa-reduce-transposes so transpose hosting can fold through
unit-expanded vector reshapes such as 1x...x1xC. In particular, this
improves transpose folding when hosting through broadcast binary
elementwise operations.


  Commit: eb89275268a84c4316814e39d8755963aa8eda9a
      https://github.com/llvm/llvm-project/commit/eb89275268a84c4316814e39d8755963aa8eda9a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/phaddsub-undef.ll

  Log Message:
  -----------
  [X86] phaddsub-undef.ll - rename undef functions to match equivalents in phaseordering tests (#207216)

Still some churn / regressions to address, but this is the same IR as
we're attempting in PhaseOrdering/X86/hadd.ll

Still need to update them to the vectorized IR from the middle-end


  Commit: b43a0db74e833803c9cfbf9cb74b956f3445dba0
      https://github.com/llvm/llvm-project/commit/b43a0db74e833803c9cfbf9cb74b956f3445dba0
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    A cross-project-tests/debuginfo-tests/dexter/Heuristic.md
    M cross-project-tests/debuginfo-tests/dexter/README.md
    A cross-project-tests/debuginfo-tests/dexter/Script.md

  Log Message:
  -----------
  [Dexter] Document the structured script model (#204365)

This patch adds documentation for the script model to the Dexter README,
shunting heuristic-mode information into a separate doc, creating a new
doc for script-mode, and linking to both (with a brief summary of the
differences) from the base README.


  Commit: 64b1d17103e590da4bcc2c008c2f01c4253ec245
      https://github.com/llvm/llvm-project/commit/64b1d17103e590da4bcc2c008c2f01c4253ec245
  Author: Azat Khuzhin <a3at.mail at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp

  Log Message:
  -----------
  [sanitizer] Raise kMaxAllowedMallocSize to 1TB on AArch64 (#206649)

lsan capped AArch64 allocations at 4GB and msan at 8GB. These limits
were tied to the smaller address space of the 32-bit-style allocator.

This became possible after 8e0c1aaf6ba3 ("[msan] Use
SizeClassAllocator64 for AArch64"), which (together with the 48-bit VMA
requirement) switched AArch64 to SizeClassAllocator64, so the limit can
now match the other 64-bit targets (1ULL << 40).

Follow-up for #89728


  Commit: cb4e7fff7d0e7fc2bf116302567f21405f63a748
      https://github.com/llvm/llvm-project/commit/cb4e7fff7d0e7fc2bf116302567f21405f63a748
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/addtf3.cpp
    A compiler-rt/lib/builtins/fp_libc_config.h

  Log Message:
  -----------
  [compiler-rt][builtins] introduce libc math routines (#197950)

Introduce using libc math routines in compiler-rt builtins. this pr adds
`COMPILER_RT_USE_LIBC_MATH` flag and uses math routines in basic
arithmetic operations for Quad-Precision values

RFC:
https://discourse.llvm.org/t/rfc-explore-using-llvm-libc-math-routines-for-compiler-rt-floating-point-builtins/89670

Part of #197824


  Commit: 504fc83820b4fa5cf2edd86a5f4661d4dd310933
      https://github.com/llvm/llvm-project/commit/504fc83820b4fa5cf2edd86a5f4661d4dd310933
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    A flang/test/Lower/OpenMP/declare-reduction-logical-init.f90
    A flang/test/Lower/OpenMP/declare-reduction-shadows-intrinsic-other-type.f90
    A flang/test/Lower/OpenMP/declare-reduction-shadows-intrinsic.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix user-defined reduction shadowing an intrinsic name (#205893)

A user-defined reduction whose identifier is one of the intrinsic
reduction names (max, min, iand, ior, ieor) was mishandled during
lowering, causing a crash. This was due to two different problems:

1. Intrinsic shadowing: a reduction(max:var) clause resolves its
identifier to the intrinsic procedure rather than to the user's
declaration, so lowering applied the built-in reduction and ignored the
declared one. For integer variables this silently used the wrong
combiner/initializer; for a LOGICAL variable it crashed, because the
built-in MAX/MIN initializer calls getIntOrFloatBitWidth() on a
fir.logical type.

Per OpenMP 6.0 7.6.14, a user-defined reduction has the same visibility
and accessibility as a variable declared at the same location, so a
visible declaration must take precedence over a same-named intrinsic.
This is handled the same way as for user-defined operator reductions.

TODO: imported, renamed, or multiple-declaration/type reductions are
currently not implemented.

2. LOGICAL initializer type: a user-defined reduction on a LOGICAL
variable with a logical-literal initializer (e.g. omp_priv = .false.)
lowered the literal to an i1 and yielded it from the init region, but
the reduction type is !fir.logical<4>. The omp.declare_reduction
verifier then rejected the op ("expects initializer region to yield a
value of the reduction type"). Convert the initializer result to the
reduction type when they are convertible trivial types, so the init
region yields the reduction type.

Fixes #188880


  Commit: 2b08bf2858245e724bc5be18df9b32780702d5ff
      https://github.com/llvm/llvm-project/commit/2b08bf2858245e724bc5be18df9b32780702d5ff
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Add matching test coverage to CodeGen haddsub.ll / phaddsub.ll (#207224)

Add missing undef element combos that were in the CodeGen tests

Fix copy+pasta issue with the "reversed elements" tests which hadn't
packed the lhs/rhs operands correctly within each 128-bit subvector


  Commit: 2c4816cc7eb99ca969ac55e30ca9e135fcf7011c
      https://github.com/llvm/llvm-project/commit/2c4816cc7eb99ca969ac55e30ca9e135fcf7011c
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M bolt/lib/Passes/ReorderAlgorithm.cpp

  Log Message:
  -----------
  [BOLT][Passes] reserve layout vectors in ExtTSP block reordering. (#206402)


  Commit: a1baf39dc1d8a34a10c877ee4217c57e53edeed9
      https://github.com/llvm/llvm-project/commit/a1baf39dc1d8a34a10c877ee4217c57e53edeed9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll

  Log Message:
  -----------
  [SLP][NFC]Remove undefs from tests, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207233


  Commit: 86436867a56a12d705bbb21d08c10078a80bfa03
      https://github.com/llvm/llvm-project/commit/86436867a56a12d705bbb21d08c10078a80bfa03
  Author: Qihan Cai <caiqihan021 at hotmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
    A llvm/test/CodeGen/X86/compress-evex-vpmov-blendv.mir
    M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir

  Log Message:
  -----------
  [X86] Fold VPMOV*2M + masked VMOV* into VBLENDV* (#204723)

Extend tryCompressVPMOVPattern to handle masked VPMOV*2M + masked VMOV* pattern, compress them into VBLENDV* if possible.

LLM disclaimer: LLM was used for this patch.
Fixes #204550


  Commit: c3153ddb67179551c78e5315c2df4b70c0b16920
      https://github.com/llvm/llvm-project/commit/c3153ddb67179551c78e5315c2df4b70c0b16920
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llubi.rst
    M llvm/test/tools/llubi/fp_nan_preferred.ll
    M llvm/test/tools/llubi/fp_nan_quieting.ll
    M llvm/test/tools/llubi/fp_nan_target_specific_sparc.ll
    M llvm/test/tools/llubi/fp_nan_target_specific_wasm32.ll
    M llvm/test/tools/llubi/fp_nan_target_specific_x86_64_linux.ll
    M llvm/test/tools/llubi/fp_nan_unchanged.ll
    A llvm/test/tools/llubi/undefmem_nondet.ll
    A llvm/test/tools/llubi/undefmem_zero.ll
    M llvm/tools/llubi/llubi.cpp

  Log Message:
  -----------
  [llubi][Docs] Update docs and CLI interface of llubi (#207210)

Update the docs to reflect the current status. This also addresses the
post-commit review in
https://github.com/llvm/llvm-project/pull/185196#discussion_r2995639990.


  Commit: cb54896ff49475348ecf23bf45b3572629cafe3b
      https://github.com/llvm/llvm-project/commit/cb54896ff49475348ecf23bf45b3572629cafe3b
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py

  Log Message:
  -----------
  [Dexter] Add additional variable metrics, sanitize lldb-dap function names (#204366)

This patch makes some required changes prior to switching over to using
the script model by default, to keep the tests in `dexter-tests` working
and meaningful.

In addition to the existing metrics, we split the "missing_vars" metric
into 3 - adding "irretrievable" and "optimized_out", so that we can
specifically test those properties in the output.

We also add some function name sanitizing to lldb-dap, to account for
the fact that some function names get presented with a suffix " [opt]",
which causes the script to fail.


  Commit: 75af8236d2f122b5b528fdc403dcf3f963faddc1
      https://github.com/llvm/llvm-project/commit/75af8236d2f122b5b528fdc403dcf3f963faddc1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
    M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll

  Log Message:
  -----------
  [VPlan] Expand SCEV casts in VPSCEVExpander. (#206371)

Add support for expanding scTruncate, scZeroExtend and scSignExtend SCEV
expressions to Trunc/ZExt/SExt VPInstructions in
VPSCEVExpander::tryToExpand.

PR: https://github.com/llvm/llvm-project/pull/206371


  Commit: f1aeaa7bd55218b62b9aa319c6dcad0430037182
      https://github.com/llvm/llvm-project/commit/f1aeaa7bd55218b62b9aa319c6dcad0430037182
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Lex/Preprocessor.h
    A clang/include/clang/Lex/TextEncoding.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Lex/CMakeLists.txt
    M clang/lib/Lex/LiteralSupport.cpp
    A clang/lib/Lex/TextEncoding.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/systemz-charset-diag.cpp
    A clang/test/CodeGen/systemz-charset.c
    A clang/test/CodeGen/systemz-charset.cpp
    M clang/test/Lexer/string-literal-encoding.c
    M clang/test/Preprocessor/init-s390x.c

  Log Message:
  -----------
  Enable fexec-charset option  (#138895)

This patch is the first in a series of patches to enable the fexec-charset option. This patch enables the fexec-charset cc1 option to control the literal encoding of string literals


  Commit: 8f1bac0975c74f4379d9cc402fbebc8d5c7c0dba
      https://github.com/llvm/llvm-project/commit/8f1bac0975c74f4379d9cc402fbebc8d5c7c0dba
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/test/API/functionalities/return-value/TestReturnValue.py
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
    M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
    M lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py

  Log Message:
  -----------
  [lldb][test] Skip tests for features unsupported on WebAssembly (#207102)

- TestReturnValue, TestTrivialABI: a WebAssembly return value lives on
the operand stack with no way to locate it at a step-out, so the
returned value can't be recovered.
- TestScriptedFrameProvider, TestFrameProviderThreadFilter: the inferior
is multithreaded C++, which wasip1 can't build (no threads, and
inferiors are compiled without exception support).
- TestThreadLocal: reading thread-locals works, but the test checks the
platform-specific error reported when TLS isn't initialized yet, which
WebAssembly doesn't have (already xfail/skip on other platforms).


  Commit: 1c9ebda139440e1f81d02197432cbebe478697e3
      https://github.com/llvm/llvm-project/commit/1c9ebda139440e1f81d02197432cbebe478697e3
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    R libcxx/test/benchmarks/algorithms/nonmodifying/lower_upper_bound.bench.cpp
    A libcxx/test/benchmarks/algorithms/sorting/lower_upper_bound.bench.cpp

  Log Message:
  -----------
  [libc++][NFC] Move the lower_bound/upper_bound benchmark to the sorting directory (#207215)

These algorithms are not under [nonmodifying], they are under [sorting]
in the Standard.


  Commit: 62356985be4f112cf92c1d186d557fe299826106
      https://github.com/llvm/llvm-project/commit/62356985be4f112cf92c1d186d557fe299826106
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  [AArch64][clang][llvm] Add ACLE macros to support Armv9.7 (#192948)

This patch add the macros for Armv9.7 according to the ACLE [1]

[1] https://github.com/ARM-software/acle/blob/main/main/acle.md


  Commit: 2e6621e6e379fd42804a85de3d829d143056a02d
      https://github.com/llvm/llvm-project/commit/2e6621e6e379fd42804a85de3d829d143056a02d
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c

  Log Message:
  -----------
  [CIR] Support __builtin_elementwise_ceil (#204974)

Add CIR handling for __builtin_elementwise_ceil


  Commit: 8af376d724891963f68c7c530721ea719136089e
      https://github.com/llvm/llvm-project/commit/8af376d724891963f68c7c530721ea719136089e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/expand-scev.ll

  Log Message:
  -----------
  [VPlan] Also expand pointer-typed SCEVAddExpr in VPSCEVExpander. (#206366)

Generalize the SCEVAddExpr handling in VPSCEVExpander::tryToExpand to
also expand pointer-typed adds. The pointer base and the offset are
expanded separately, matching IR SCEVExpander.

PR: https://github.com/llvm/llvm-project/pull/206366


  Commit: 5587443d5fb6f6de329e22ccb991af4580ec922a
      https://github.com/llvm/llvm-project/commit/5587443d5fb6f6de329e22ccb991af4580ec922a
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp

  Log Message:
  -----------
  [lldb] Synthesize data symbols for WebAssembly from DWARF (#207235)

The Wasm "name" section names functions but not data, so data symbols
such as C++ vtables have no entry in the symbol table. The Itanium C++
runtime resolves a dynamic type by looking up the symbol at an object's
vtable pointer and reading its "vtable for X" name. With no such symbol,
dynamic type resolution fails and falls back to the static type.

The vtable's address and mangled name are available in the DWARF as a
DW_TAG_variable with a DW_OP_addr location and a DW_AT_linkage_name.
Extend SymbolFileWasm::AddSymbols to synthesize a data symbol for every
global variable of that shape, so its address resolves back to the
mangled name such as "vtable for X". The size is computed by Symtab to
from the gap to the next symbol.

Assisted-by: Claude


  Commit: db5740f1a633a6ae587de57ab5ef371a0224147f
      https://github.com/llvm/llvm-project/commit/db5740f1a633a6ae587de57ab5ef371a0224147f
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/asan.c
    M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/dbg-arg.c
    M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/bitcast.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/implicit-ptr.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inline-escaping-function.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/loop.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/merged-store.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ptr-to.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
    M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/stack-var.c
    M cross-project-tests/debuginfo-tests/dexter-tests/vla.c

  Log Message:
  -----------
  [Dexter] Update lldb-based dexter-tests to use script-mode (#204367)

This patch replaces uses of heuristic-mode Dexter in the dexter-tests
suite with uses of the script-mode, for tests that use DAP (via
lldb-dap). The updates are largely straightforward but occasionally
non-trivial, and in some cases some slight modifications have been made
to keep the "spirit" of the test intact.


  Commit: 8b8a2d7613d9bd9b6a4e49f5408f37b83f28d76e
      https://github.com/llvm/llvm-project/commit/8b8a2d7613d9bd9b6a4e49f5408f37b83f28d76e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/work-queue.h

  Log Message:
  -----------
  [flang][cuda] Guard descriptor I/O ticket when building thin I/O (#206865)

The work queue system is also used in the assignment and could lead to
unresolved function when building non relocatable code for the gpu using
the CUDA thin I/O. Just add a guard to keep descriptor I/O out of the
CUDA thin I/O build.


  Commit: 3166b22b0e71fd95a828fa84a8c82d9f4b5e7553
      https://github.com/llvm/llvm-project/commit/3166b22b0e71fd95a828fa84a8c82d9f4b5e7553
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Sink instructions across assumes (#205314)

Not sinking across assumes causes InstCombine to not reach a fixpoint
when assumes can be dropped due to the load (usually nonnull assumes).
Sinking the instructions causes the assume to not be dropped anymore,
but I don't think that's a big problem.


  Commit: 6060a6b96bf9bd3d13463478a9f6112c2c71369c
      https://github.com/llvm/llvm-project/commit/6060a6b96bf9bd3d13463478a9f6112c2c71369c
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/include/clang/Lex/TextEncoding.h
    M clang/lib/Lex/TextEncoding.cpp

  Log Message:
  -----------
  Put TextEncoding class in clang namespace to prevent naming conflicts (#207247)

Put TextEncoding class in the clang namespace to prevent naming conflicts


  Commit: a0145cf5efb56928dc178cb1a7f8c04e9da33d5f
      https://github.com/llvm/llvm-project/commit/a0145cf5efb56928dc178cb1a7f8c04e9da33d5f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add SPIRVToLLVM conversion for GL.Fract (#206951)

Co-authored-by: Igor Wodiany <dev at wodiany.com>


  Commit: 2c4286e2e1fc37630ae7d3fef48f2a50cbcaa584
      https://github.com/llvm/llvm-project/commit/2c4286e2e1fc37630ae7d3fef48f2a50cbcaa584
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/attr-noundef.cpp
    M clang/test/CIR/CodeGen/attr-target-x86.c
    M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp

  Log Message:
  -----------
  [CIR] Update OGCG checks for 4 tests- (#207252)

These are broken by other patches, see: #182556 and #201999


  Commit: 9bd12f6d8873cca268d8129d9395fcefdfa5ab2e
      https://github.com/llvm/llvm-project/commit/9bd12f6d8873cca268d8129d9395fcefdfa5ab2e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/test/CodeGenHLSL/resources/resources-in-structs-method-call.hlsl

  Log Message:
  -----------
  [HLSL][NFC] Update test check to be more specific (#207232)

If the repo path contains "main", the test was matching it against the
ModuleID in the output because it contains a path to the test file, and
the follow-up checks were failing.

Based on feedback in
https://github.com/llvm/llvm-project/pull/206596#discussion_r3510725223.


  Commit: 999715ac3e8c0d9edc8405b025284a663c9cfe4e
      https://github.com/llvm/llvm-project/commit/999715ac3e8c0d9edc8405b025284a663c9cfe4e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/tools/driver/CMakeLists.txt
    M lldb/tools/lldb-dap/tool/CMakeLists.txt
    M lldb/tools/lldb-mcp/CMakeLists.txt

  Log Message:
  -----------
  [lldb][CMake] Extend liblldb interposition fix to lldb-dap and lldb-mcp (#207251)

liblldb statically absorbs the lldbHost and lldbUtility archives (and
every plugin). A tool that links the shared liblldb while also linking
those same archives statically ends up with two copies of that object
code. On ELF, if the tool re-exports the archive symbols in its own
.dynsym, the dynamic linker can bind liblldb's internal references to
the tool's copy instead of liblldb's own, breaking shared-state
assumptions such as the HostInfo singletons.

106644f6c835 fixed this for the lldb driver with --exclude-libs,ALL, but
lldb-dap and lldb-mcp have the same setup and were left exposed. Factor
the logic into a shared lldb_prevent_liblldb_symbol_interposition helper
and call it from all three tools.


  Commit: 1823581ecb2ff84e1adb159d30216bd2cff48cfd
      https://github.com/llvm/llvm-project/commit/1823581ecb2ff84e1adb159d30216bd2cff48cfd
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libc/src/__support/big_int.h
    M libc/test/src/__support/integer_literals_test.cpp

  Log Message:
  -----------
  [libc] Make BigInt trivially constructible (#206277)

This makes BigInt trivially constructible and additionally fixes the
failures caused by the upcoming change in constexpr functions.


  Commit: 7139c74b59a45ae837fd15c81439622130acf206
      https://github.com/llvm/llvm-project/commit/7139c74b59a45ae837fd15c81439622130acf206
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/store-expand-non-pow2.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the masked non-power-of-2 stores, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207275


  Commit: bc34ef2616918cb103691dcd7b2d47fafa49f639
      https://github.com/llvm/llvm-project/commit/bc34ef2616918cb103691dcd7b2d47fafa49f639
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake

  Log Message:
  -----------
  [lldb] Fix rpath settings for LLDB.framework in buildtree when using LLVM dylib (#207270)

The LLDB.framework location in your build tree relative to the LLVM
dylib differs from an actual installation (which may be located
elsewhere). As-is, we cannot even use the LLDB.framework in the
buildtree because resources in the framework fail to load the LLVM
dylib.


  Commit: 1ced7e587e3f1deb987c33af48d3d0da8f63a21d
      https://github.com/llvm/llvm-project/commit/1ced7e587e3f1deb987c33af48d3d0da8f63a21d
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
    M llvm/test/CodeGen/DirectX/legalize-switch-unreachable.ll

  Log Message:
  -----------
  [DirectX] Remove now unreachable blocks in dxil legalize (#207259)

I think when I first wrote
https://github.com/llvm/llvm-project/pull/193592, I had been under the
assumption that the dead block would be removed for us so the test and
pass did not check that the branch was removed in the pass.

This was a wrong assumption and we need to manually remove the blocks.
This change does so by invoking the helper to do so.

For context: this issue reappeared in the offload test suite after
https://github.com/llvm/llvm-project/pull/205433 landed because the loop
could no longer unroll and the dangling branch appeared.

Resolves: https://github.com/llvm/llvm-project/issues/207095


  Commit: e1d11a60584ffaa0ab85cf23287808bb6e1b54a3
      https://github.com/llvm/llvm-project/commit/e1d11a60584ffaa0ab85cf23287808bb6e1b54a3
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaTemplate/ctad.cpp

  Log Message:
  -----------
  [clang] fix crash-on-invalid with deduction guides (#207263)

Fix crash when a template template parameter specialization is used as a
deduced type.

This is a regression since Clang 22, and this will be backported, so no
release notes.

Fixes #203261


  Commit: abe1aee8815b4f5adadc00ac0d4498efdd91b746
      https://github.com/llvm/llvm-project/commit/abe1aee8815b4f5adadc00ac0d4498efdd91b746
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll

  Log Message:
  -----------
  [LV] Add test showing incorrect nsw flag on shl. (NFC) (#207242)

Add test for https://github.com/llvm/llvm-project/issues/205252


  Commit: 130d6c3cddbc9756953b566a2da695d3016acea1
      https://github.com/llvm/llvm-project/commit/130d6c3cddbc9756953b566a2da695d3016acea1
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    A clang/test/CXX/drs/cwg3088.cpp
    M clang/test/CXX/drs/cwg30xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG3088 about macros defining special identifiers (#189309)

This PR adds a test for
[CWG3088](https://cplusplus.github.io/CWG/issues/3088.html) "Clarify
macro treatment of identifiers with special meaning".

[[cpp.replace.general] paragraph
9](https://eel.is/c++draft/cpp.replace.general#9) reads as follows:
> A translation unit shall not `#define` or `#undef` macro names
lexically identical to keywords, to the identifiers listed in Table
[4](https://eel.is/c++draft/lex.name#tab:lex.name.special), or to the
[_attribute-token_](https://eel.is/c++draft/dcl.attr.grammar#nt:attribute-token)s
described in [[dcl.attr]](https://eel.is/c++draft/dcl.attr), except that
the macro names `likely` and `unlikely` may be defined as function-like
macros and may be
undefined[.](https://eel.is/c++draft/cpp.replace.general#9.sentence-1)
>
> [Note [1](https://eel.is/c++draft/cpp.replace.general#note-1): An
alternative token ([[lex.digraph]](https://eel.is/c++draft/lex.digraph))
is not an identifier, even when its spelling consists entirely of
letters and
underscores[.](https://eel.is/c++draft/cpp.replace.general#9.sentence-2)
Therefore it is not possible to define a macro whose name is the same as
that of an alternative
token[.](https://eel.is/c++draft/cpp.replace.general#9.sentence-3)
— end note]

Since C++98 and up until
[P2843R3](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2843r3.pdf)
"Preprocessing is never undefined", which was voted into C++26 **not**
as a DR, this rule has been living as [macro.names]/2 in library
introduction, but that paper made it a part of the core language.

I believe that formally:
- we should not diagnose anything before C++26 if the standard library
is not used, and
- we should diagnose everything in C++26 and newer modes.

But in practice we've been diagnosing everything except for attributes
in all language modes with some exceptions that are likely bugs.


  Commit: 9a896c3f538c3653ddcb82ebd5a19418609f87d1
      https://github.com/llvm/llvm-project/commit/9a896c3f538c3653ddcb82ebd5a19418609f87d1
  Author: jimingham <jingham at apple.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/Breakpoint/BreakpointResolver.h
    M lldb/include/lldb/Breakpoint/ScriptedBreakpointOverrideResolver.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBTarget.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Target/Target.cpp
    M lldb/test/API/functionalities/breakpoint/scripted_bkpt/overrides_resolver/TestOverridesResolver.py
    M lldb/test/API/functionalities/breakpoint/scripted_bkpt/overrides_resolver/bkpt_resolver.py

  Log Message:
  -----------
  Add a pre-filter to the breakpoint resolver overrides (#198845)

That way if an override only wants to override, say, file and line
breakpoints, it can say that when it registers itself, and we won't do
the work of creating the resolver and checking with it if the breakpoint
wasn't of the requested type.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 11576cacaa514a227abfbdd902c53b657915155c
      https://github.com/llvm/llvm-project/commit/11576cacaa514a227abfbdd902c53b657915155c
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/saturating-add-sub.ll

  Log Message:
  -----------
  [ConstFold] Eliminate some undef-folding (#207184)

The patch is merely a cleanup, with no real-world impact: undef-folding
is no longer useful these days.


  Commit: 7be188763ab75868ad5c9ac0a2c16ce7d373b053
      https://github.com/llvm/llvm-project/commit/7be188763ab75868ad5c9ac0a2c16ce7d373b053
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll

  Log Message:
  -----------
  [VPlan] Don't preserve NSW in mul -> shl conversion for bw-1 op. (#207280)

When the shift amount is bitwidth - 1, shl nsw would be poison, while
mul nsw is defined. Don't preserve the flag.

https://alive2.llvm.org/ce/z/NgHU_m

Fixes https://github.com/llvm/llvm-project/issues/205252.


  Commit: e8c4e99316889849a728828b06f3d77b8c5c279f
      https://github.com/llvm/llvm-project/commit/e8c4e99316889849a728828b06f3d77b8c5c279f
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Strip secondary SIVSteps constructor (NFC) (#207193)

Migrate the only use-site in unit-test to use the canonical constructor.


  Commit: b7623f523c31c96e0449666f69d5b666e70b7627
      https://github.com/llvm/llvm-project/commit/b7623f523c31c96e0449666f69d5b666e70b7627
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/neon-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-scalarivsext-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model-i386.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/constantfolder.ll
    M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-load.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
    M llvm/test/Transforms/LoopVectorize/pr125278.ll
    M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
    M llvm/test/Transforms/LoopVectorize/pr31190.ll
    M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
    M llvm/test/Transforms/LoopVectorize/pr66616.ll
    M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
    M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll

  Log Message:
  -----------
  [VPlan] Strip early-bail in noalias-check (#203936)

canHoistOrSinkWithNoAliasCheck currently bails eagerly when the
candidate memory location doesn't have a scope. This is unnecessary,
because the alias check automatically handles this: stripping this check
allows us to run the loop, which would never get to the alias check if
none of the recipes write to memory. The end result is that a read-only
FirstBB to LastBB ranges are determined not to alias with anything, even
if the scope metadata is absent, leading to licm-load-store
improvements.


  Commit: c2b50a15c1c34c9619dcdb669d8c2b10ef73bcb9
      https://github.com/llvm/llvm-project/commit/c2b50a15c1c34c9619dcdb669d8c2b10ef73bcb9
  Author: Mikhail Gudim <mgudim at qti.qualcomm.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/RISCV/determine-callee-saves-gpr.mir

  Log Message:
  -----------
  [CodeGen] Add tests for `determineCalleeSaves`. (#204855)


  Commit: 7b11c7ce86aafbf4782ceb31543e27dc69617a7a
      https://github.com/llvm/llvm-project/commit/7b11c7ce86aafbf4782ceb31543e27dc69617a7a
  Author: Marlus Cadanus da Costa <marluscadanus at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/Sema/offsetof-unsigned-index.c

  Log Message:
  -----------
  [Clang] Fix offsetof sign-extending unsigned array indices >= 128 (#204139)

When evaluating __builtin_offsetof with an unsigned integer array index
(e.g. uint8_t, uint16_t) whose value has the high bit set, Clang was
calling getSExtValue() on the APSInt index, which sign-extends the value
and produces a large bogus offset.

Fix this to use the correct kind of extension to extend smaller values, and to check for overflow in conversions of larger values.

Fixes #199319

AI Tool Use: GitHub Copilot (Claude Sonnet 4.6) was used to assist in
identifying the root cause of the bug in ExprConstant.cpp and drafting
the fix. The fix was reviewed, tested, and validated manually.


  Commit: 5302608fec8ed7d8ce300d4a0d599a26b24dc972
      https://github.com/llvm/llvm-project/commit/5302608fec8ed7d8ce300d4a0d599a26b24dc972
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp

  Log Message:
  -----------
  [Offload] Guard __llvm_write_custom_profile null check on non-Windows (#207170)

On Windows __llvm_write_custom_profile is defined as a strong stub (MSVC
lacks proper weak symbol support) by 09a51b2818e2, so its address is a
compile-time constant that is never null. The `if
(!__llvm_write_custom_profile)` check therefore triggers
-Wpointer-bool-conversion, which is fatal under -Werror.

Assisted-by: Claude


  Commit: c3b744b585d55f14dcd998ca6d1fad6d62461f65
      https://github.com/llvm/llvm-project/commit/c3b744b585d55f14dcd998ca6d1fad6d62461f65
  Author: Lucas Ribeiro Lima <lucasribeirolima974 at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/test/CIR/CodeGen/builtins-x86.c

  Log Message:
  -----------
  [clang][CIR]: X86 movnti/movntsd/movntss CIR implementation. (#206388)

### Implements X86 CIR codegen builtins:

- __builtin_ia32_movnti
- __builtin_ia32_movnti64
- __builtin_ia32_movntsd
- __builtin_ia32_movntss

Folow the original codegen architecture lowering to movntss call.

Towards #167765.


  Commit: 20a60c52db181bcfd787e7fd4486d4453b01dba9
      https://github.com/llvm/llvm-project/commit/20a60c52db181bcfd787e7fd4486d4453b01dba9
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    A llvm/docs/AdvancedBuilds.md
    R llvm/docs/AdvancedBuilds.rst
    A llvm/docs/BuildingADistribution.md
    R llvm/docs/BuildingADistribution.rst
    A llvm/docs/CFIVerify.md
    R llvm/docs/CFIVerify.rst
    A llvm/docs/CycleTerminology.md
    R llvm/docs/CycleTerminology.rst
    A llvm/docs/DTLTO.md
    R llvm/docs/DTLTO.rst
    A llvm/docs/Docker.md
    R llvm/docs/Docker.rst
    A llvm/docs/Frontend/PerformanceTips.md
    R llvm/docs/Frontend/PerformanceTips.rst
    A llvm/docs/GoldPlugin.md
    R llvm/docs/GoldPlugin.rst
    A llvm/docs/HowToBuildOnARM.md
    R llvm/docs/HowToBuildOnARM.rst
    A llvm/docs/HowToBuildWithPGO.md
    R llvm/docs/HowToBuildWithPGO.rst
    A llvm/docs/HowToCrossCompileLLVM.md
    R llvm/docs/HowToCrossCompileLLVM.rst
    A llvm/docs/LinkTimeOptimization.md
    R llvm/docs/LinkTimeOptimization.rst
    A llvm/docs/MemProf.md
    R llvm/docs/MemProf.rst
    A llvm/docs/MergeFunctions.md
    R llvm/docs/MergeFunctions.rst
    A llvm/docs/MyFirstTypoFix.md
    R llvm/docs/MyFirstTypoFix.rst
    A llvm/docs/ProjectGovernance.md
    R llvm/docs/ProjectGovernance.rst
    A llvm/docs/StackSafetyAnalysis.md
    R llvm/docs/StackSafetyAnalysis.rst
    A llvm/docs/SupportLibrary.md
    R llvm/docs/SupportLibrary.rst
    A llvm/docs/Vectorizers.md
    R llvm/docs/Vectorizers.rst
    A llvm/docs/tutorial/index.md
    R llvm/docs/tutorial/index.rst
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
    M llvm/utils/docker/README

  Log Message:
  -----------
  [docs] Rename 20 selected rst docs to Markdown (#205921)

Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840

This may break the doc build, but it will be fixed in a follow-up.


  Commit: a4b184609b25fc29ea54514b662e9d2fea1923b3
      https://github.com/llvm/llvm-project/commit/a4b184609b25fc29ea54514b662e9d2fea1923b3
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/docs/AdvancedBuilds.md
    M llvm/docs/BuildingADistribution.md
    M llvm/docs/CFIVerify.md
    M llvm/docs/CycleTerminology.md
    M llvm/docs/DTLTO.md
    M llvm/docs/Docker.md
    M llvm/docs/Frontend/PerformanceTips.md
    M llvm/docs/GitHub.md
    M llvm/docs/GoldPlugin.md
    M llvm/docs/HowToBuildOnARM.md
    M llvm/docs/HowToBuildWithPGO.md
    M llvm/docs/HowToCrossCompileLLVM.md
    M llvm/docs/LinkTimeOptimization.md
    M llvm/docs/MemProf.md
    M llvm/docs/MergeFunctions.md
    M llvm/docs/MyFirstTypoFix.md
    M llvm/docs/ProjectGovernance.md
    M llvm/docs/StackSafetyAnalysis.md
    M llvm/docs/SupportLibrary.md
    M llvm/docs/Vectorizers.md
    M llvm/docs/tutorial/index.md

  Log Message:
  -----------
  [docs] Rewrite 20 selected rst LLVM docs to Markdown (#205923)

Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840


  Commit: b3d0b1f0415deda8d5f427ff009a72b558532b99
      https://github.com/llvm/llvm-project/commit/b3d0b1f0415deda8d5f427ff009a72b558532b99
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/allocator-registry.h

  Log Message:
  -----------
  [flang-rt] Use posix_memalign instead of std::aligned_alloc (#207248)

MallocWrapper called std::aligned_alloc for over-aligned requests, but
that C11 function is only available on macOS 10.15 and newer. flang-rt
builds with a Darwin deployment target of 10.7 (set in
AddFlangRT.cmake), so the build failed under
-Werror=unguarded-availability-new.

Use posix_memalign instead, as it is available on all supported POSIX
targets.


  Commit: d7cd957bee261ce6e477f16c8768fe8889f599c5
      https://github.com/llvm/llvm-project/commit/d7cd957bee261ce6e477f16c8768fe8889f599c5
  Author: Berkay Sahin <berkaysahindev at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp

  Log Message:
  -----------
  [clangd] Invalidate preamble when new module imports are added (#199460)

When using `SkipPreambleBuild`, adding a new `import` statement to a
file did
not invalidate the existing preamble because `isPreambleCompatible` only
checked whether existing prerequisite modules were up-to-date, not
whether
the set of required modules itself had changed.

Fixes: #199389
Partially addresses: #126350


  Commit: 604db5fc463d2e252c2575ff519f479c88cfe093
      https://github.com/llvm/llvm-project/commit/604db5fc463d2e252c2575ff519f479c88cfe093
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp

  Log Message:
  -----------
  [PGO][HIP][NFC] Fix hipModuleGetGlobal -Wunused-function warning (#207293)

The functions trigger the warning on Windows (without elf.h) and is
fatal under -Werror.
Fix by adding [[maybe_unused]]. Alternatively it could be moved inside
the existing __has_include(<elf.h>) block,; however that would trigger
-Wunused-but-set-global on pHipModuleGetGlobal.
Current fix is minimal and can be removed once hipModuleGetGlobal is
supported without elf.h.


  Commit: be1d8d4bb908b90810025479ec1a8afae34a630a
      https://github.com/llvm/llvm-project/commit/be1d8d4bb908b90810025479ec1a8afae34a630a
  Author: Adam Scott <adamscott200322 at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll

  Log Message:
  -----------
  [AArch64] Lower cttz(bitcast <Nxi1> to iN) with shrn-based compressed movemask (#199081)

The existing lowering in vectorToScalarBitmask() creates a 1 bit per
lane movemask using a powers of 2 reduction (and+addv with a constant
pool entry).

This patch adds a DAG combine on ISD::CTTZ that recognizes cttz(bitcast
<N x i1> to iN) and produces a compressed movemask with shrn (for i8
lanes) or xtn (for wider lanes) then runs scalar cttz on a 64- or
128-bit value. Dividing by bits per lane gives the lane index.

Supports lane counts {2, 4, 8, 16, 32} (one or two NEON registers)

For the example in the issue (`<16 x i8> -> i16`):

Before:
```asm
adrp x8, .LCPI0_0
cmlt v0.16b, v0.16b, #0
ldr  q1, [x8, :lo12:.LCPI0_0]
and  v0.16b, v0.16b, v1.16b
ext  v1.16b, v0.16b, v0.16b, #8
zip1 v0.16b, v0.16b, v1.16b
addv h0, v0.8h
fmov w8, s0
orr  w8, w8, #0x10000
rbit w8, w8
clz  w0, w8
ret
```
After:

```asm
cmlt v0.16b, v0.16b, #0
shrn v0.8b,  v0.8h,  #4
fmov x8, d0
rbit x8, x8
clz  x8, x8
lsr  x0, x8, #2
ret
```

Also created a new test file with 24 functions covering both endianness

- 7 basic widths (`<16 x i8>` down through `<2 x i32>`)
- 4 wider cases that span two NEON registers (`<32 x i8>` etc)
- 2 narrow cases that get sext'd up to fit one register
- 2  cases where the bitcast has two users 
- 4 alternative comparison operators (`eq`, `ne`, etc)
- 1 `cttz` with `is_zero_undef=true`
- 4 negative tests that bails for unsupported shapes 


Fixes #186295


  Commit: 2cf5b7bf4d7dfc6091217d50e8114fd2e6856355
      https://github.com/llvm/llvm-project/commit/2cf5b7bf4d7dfc6091217d50e8114fd2e6856355
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [LegalizeType] Fix VECTOR_DEINTERLEAVE widening with incorrect insert_subvector (#207245)

Partially address #207136 

There are really two parts in the associated issue: (1) incorrect type
widening logics that `insert_subvector` with indices that are not a
multiple of the sub-vector's minimum number of elements, and (2)
incorrect RISC-V lowering logics when it comes to fixed vector.

This PR addresses the first part: It turns out in order to have a
widened, packed concat vector, we don't need to use any insert_subvector
that involves widened operands -- just `concat_vectors` on the
_original_ (narrow) operands (before adjusting to the size of the
desired widened concat vector)


  Commit: 4fad93b912c954720de1b2b63a0f00679dc96550
      https://github.com/llvm/llvm-project/commit/4fad93b912c954720de1b2b63a0f00679dc96550
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libcxx/include/__vector/layout.h

  Log Message:
  -----------
  [libc++] Use _LIBCPP_NO_UNIQUE_ADDRESS for the new vector layout (#207149)

We use `_LIBCPP_NO_UNIQUE_ADDRESS`, since a plain
`[[no_unique_address]]` doesn't work on Windows.


  Commit: 760bb06cb3cd98832f1e4e7a4eaebd98b66d2bdd
      https://github.com/llvm/llvm-project/commit/760bb06cb3cd98832f1e4e7a4eaebd98b66d2bdd
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [ThinLTO] Change GlobalValueSummaryMapTy from std::map to DenseMap+deque (#157839)

Replace GlobalValueSummaryMapTy with a custom container using DenseMap
for O(1) lookup and std::deque for storage with pointer stability. Sort
by GUID at serialization points to preserve deterministic output order.

RFC:
https://discourse.llvm.org/t/rfc-change-globalvaluesummarymapty-from-std-map-to-llvm-densemap-for-thin-linking-performance/88191


  Commit: 1bddfa5c75b551f5c387cb19462ea5eac9bf5da1
      https://github.com/llvm/llvm-project/commit/1bddfa5c75b551f5c387cb19462ea5eac9bf5da1
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll

  Log Message:
  -----------
  [RISCV] Fix multiline RUN line in fixed-vectors-lmul-max.ll. NFC (#207309)

llvm-lit failed to parse the RUN line because we were missing a \ and a
second
RUN on the line below. The codegen has changed in the meantime but
because it
never parsed, llvm-lit always treated this test as passing.


  Commit: b4e651bb2cb22e5886518957a3048f83b67f9f83
      https://github.com/llvm/llvm-project/commit/b4e651bb2cb22e5886518957a3048f83b67f9f83
  Author: Saleem Abdulrasool <compnerd at compnerd.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/lit/lit/InprocBuiltins.py
    M llvm/utils/lit/lit/ShellEnvironment.py
    M llvm/utils/lit/lit/util.py

  Log Message:
  -----------
  lit: improve long path support on Windows (#207250)

This pull request improves Windows path handling in the
`llvm/utils/lit/lit` utilities by introducing and applying an `extended`
function to correctly format file paths for Windows APIs, especially for
long paths and UNC paths. The changes ensure that file operations such
as removal and redirection work reliably on Windows systems.

**Windows path handling improvements:**

* Added an `extended` function in both `InprocBuiltins.py` and
`ShellEnvironment.py` to convert paths to the extended-length format
required by Windows, handling both regular and UNC paths.
[[1]](diffhunk://#diff-7b75d403cff61cebbd12ef3915054dee6a887deaa2300fbc73a33f64ce2d1255R179-R186)
[[2]](diffhunk://#diff-31c539a1c64eb53261e543eeda1966733230d2b7613f5d500deed3f2f1ce2baeR121-R128)
* Applied the `extended` function to file removal operations in
`InprocBuiltins.py`, ensuring paths are properly formatted before
deletion, which helps avoid issues with long or special Windows paths.
* Used the `extended` function for redirected file paths in
`ShellEnvironment.py`, ensuring that redirections to files handle
Windows path limitations correctly.


  Commit: c671e80a2f3055d61f3f7a2a0aabee4d8d184bbd
      https://github.com/llvm/llvm-project/commit/c671e80a2f3055d61f3f7a2a0aabee4d8d184bbd
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Parallelize demoteSymbolsAndComputeIsPreemptible (#207310)

Each symbol's demotion and isPreemptible bit is independent.
Linking clang release is 1.02x as fast on an x86-64 machine.


  Commit: 8aaa28e8d735b6c9e9c2b46f82918eef07a0e6ee
      https://github.com/llvm/llvm-project/commit/8aaa28e8d735b6c9e9c2b46f82918eef07a0e6ee
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll

  Log Message:
  -----------
  [RISCV] Cost legal interleaved memory ops correctly for code size (#207162)

This doesn't yet handle interleaved memory ops with a factor > 8 or with
a gap mask, that still needs to be handled below.


  Commit: e69038f9c2b1c47dd7beebb5531129514fab36e7
      https://github.com/llvm/llvm-project/commit/e69038f9c2b1c47dd7beebb5531129514fab36e7
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchSharedLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
    M clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
    M clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
    M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchSharedLibrary.cpp
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-nonempty.json
    M clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
    M clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/duplicate-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-empty-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-inner-error.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-namespace-mismatch.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/members-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/namespace-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-empty-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-multiple-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-nonempty-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-single-member.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-three-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-three-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/top-level.test
    M clang/tools/clang-ssaf-format/SSAFFormat.cpp
    M clang/unittests/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.h
    M clang/unittests/ScalableStaticAnalysis/TestFixture.h

  Log Message:
  -----------
  [clang][ssaf] Add `MultiArchSharedLibrary` data structure (#206854)

This change introduces `MultiArchSharedLibrary` data structure that wraps per-architecture `LUSummaryEncoding` members. This is the SSAF analogue of a fat shared library. The overall design mirrors the existing `MultiArchStaticLibrary` design: each member identifies the same logical library built for a different target triple. Support for constructing and consuming this object will be added in a future PR.

rdar://181164537


  Commit: 602897f729116f343b9dbf7bedc06c7e281ddca0
      https://github.com/llvm/llvm-project/commit/602897f729116f343b9dbf7bedc06c7e281ddca0
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvdot4a8i.ll
    M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll

  Log Message:
  -----------
  [DAGCombiner] Reassociate chains of vector reductions (#206471)

`DAGCombiner::reassociateReduction` already folds a single
`add(vecreduce(x), vecreduce(y)) -> vecreduce(add(x, y))`, and the
balanced-tree form `add(add(vecreduce(a), b), add(vecreduce(c), d))`.
It does not, however, handle a linear chain of reductions like the one
SLP emits for x264's SAD:

```
add(reduce(X0), add(reduce(X1), add(reduce(X2), acc)))
```

Only the innermost pair can ever be merged; the cascade breaks and every
reduction survives to lowering, giving one `vredsum` (or one `uadalp` step,
etc.) per term.

This PR adds a third form to `reassociateReduction`:

```
op(vecreduce(X), op(vecreduce(Y), Z)) -> op(vecreduce(op(X, Y)), Z)
```

Applied to fixpoint by the combiner worklist, this collapses an
arbitrary-length chain into `add(vecreduce(BigSum), acc)`, which the
existing target combines then fold into a single reduction with the
external accumulator folded in as the reduction start value. On RISC-V
with `Zvdot4a8i` this recovers the desired single-`vredsum`, N-dot codegen
for x264 SAD; it also shortens the critical path for other targets (e.g.
AArch64 `uadalp`/`faddp` reduction chains) by exposing a balanced tree.

It is gated on the existing `shouldReassociateReduction` target hook and,
for `FADD`/`FMUL`, only enabled when all involved nodes carry the `reassoc`
fast-math flag, matching the existing two forms.

Fixes #168047.

Assisted-by: TraeCli (AI assistant)


  Commit: 16a6b516d7b72be6d1cd480febb2c1ebf2aa78c2
      https://github.com/llvm/llvm-project/commit/16a6b516d7b72be6d1cd480febb2c1ebf2aa78c2
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp

  Log Message:
  -----------
  [NFC][Clang][OpenMP] Simplify checks for num_teams and thread_limit expressions (#207305)

Prepare changes for #206412


  Commit: 1030639662bf27022ec91045d4b457a2e69167e1
      https://github.com/llvm/llvm-project/commit/1030639662bf27022ec91045d4b457a2e69167e1
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M lld/ELF/LinkerScript.cpp

  Log Message:
  -----------
  [ELF] Precompute orphan output section names in parallel. NFC (#207321)

addOrphanSections computes getOutputSectionName serially for every live
orphan section. Without --emit-relocs/-r, the name is a pure function of
the section: precompute the names with a parallelFor.


  Commit: e49c8a0363267c7b7235aabb3d36ac50e4281c26
      https://github.com/llvm/llvm-project/commit/e49c8a0363267c7b7235aabb3d36ac50e4281c26
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libcxx/include/__cxx03/string
    M libcxx/include/string
    M libcxx/test/libcxx-03/strings/basic.string/string.capacity/allocation_size.pass.cpp
    M libcxx/test/libcxx-03/strings/basic.string/string.capacity/max_size.pass.cpp
    A libcxx/test/libcxx/strings/basic.string/new_alignment.sh.cpp
    M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
    M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp

  Log Message:
  -----------
  [libc++] Base string's alignment on __STDCPP_DEFAULT_NEW_ALIGNMENT__ (#171785)

This allows users to influence how much we overalign `string`s
allocations and tune it to the new/delete implementation via
`-fnew-alignment`. If we don't have `__STDCPP_DEFAULT_NEW_ALGINMENT__`
or we're not using `std::allocator`, we default to an alignment of
`sizeof(void*)`.


  Commit: d3b6ad1c11c24362c7f94b41e5a26652047582c8
      https://github.com/llvm/llvm-project/commit/d3b6ad1c11c24362c7f94b41e5a26652047582c8
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-07-02 (Thu, 02 Jul 2026)

  Changed paths:
    M mlir/include/mlir-c/Rewrite.h
    M mlir/lib/CAPI/Transforms/Rewrite.cpp
    M mlir/test/CAPI/rewrite.c

  Log Message:
  -----------
  [mlir-c] Reapply Add ConversionTarget dynamic legality C API (#207104) (#207253)

Fixes LeakSanitizer failure from #206161 (reverted in #207104);
`mlirFreezeRewritePattern` moves contents out of the `RewritePatternSet`
but does not free the container (passed by value in the C API), so the
allocation from `mlirRewritePatternSetCreate` was never freed (add
`mlirRewritePatternSetDestroy(patterns)` after freezing).


  Commit: ac05f72d8fa879dce17b73859ad936d59e8731e5
      https://github.com/llvm/llvm-project/commit/ac05f72d8fa879dce17b73859ad936d59e8731e5
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/FastISel.h
    M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/LiveStacks.h
    M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
    M llvm/include/llvm/CodeGen/RegAllocCommon.h
    M llvm/include/llvm/CodeGen/RegisterBank.h
    M llvm/include/llvm/CodeGen/RegisterBankInfo.h
    M llvm/include/llvm/CodeGen/RegisterScavenging.h
    M llvm/include/llvm/CodeGen/ScheduleDAG.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.h
    M llvm/lib/CodeGen/CriticalAntiDepBreaker.h
    M llvm/lib/CodeGen/RegisterCoalescer.h
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/lib/Target/Hexagon/BitTracker.h
    M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.h
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrInfo.h
    M llvm/lib/Target/Mips/MipsRegisterInfo.h
    M llvm/lib/Target/Mips/MipsSEISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
    M llvm/test/TableGen/RegisterClassCopyCost.td
    M llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
    M llvm/test/TableGen/RegisterInfoEmitter-tsflags.td
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [CodeGen] Merge TargetRegClass into MCRegClass (#207168)

Both data types store primitive information only and TargetRegisterClass
doesn't reference target-specific data structures. TargetRegisterClass,
however, freqeuently refers to MCRegisterClass through a pointer, which
prevents moving the large TargetRegisterClass instances to .rodata.

Therefore, merge the fields of TargetRegisterClass into MCRegisterClass
and adjust the remaining fields to use the existing storage mechanism
for pointer-free storage. To avoid invasive code changes, keep
TargetRegisterClass as alias for MCRegisterClass.

This reduces the size of .data.rel.ro by ~122 kiB in an all-target
build while growing .rodata by just 92 kiB. Further size improvements
are possible in future by reordering struct fields and deduplicating
masks/register lists/register class lists.

Pull Request: https://github.com/llvm/llvm-project/pull/207168


  Commit: aa7773bef31df88130002748881118cb9982f0c7
      https://github.com/llvm/llvm-project/commit/aa7773bef31df88130002748881118cb9982f0c7
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp

  Log Message:
  -----------
  [clang-tidy] Add regression tests for readability-redundant-typename. NFC. (#207318)

Part of https://github.com/llvm/llvm-project/issues/206995


  Commit: 5969d640a349d593b5935fbe80be89f7a375f528
      https://github.com/llvm/llvm-project/commit/5969d640a349d593b5935fbe80be89f7a375f528
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/IR/Value.cpp
    M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/AMDGPU/rewrite-mfma-form-spill-cost-reset.ll
    M llvm/test/CodeGen/X86/load-partial.ll
    M llvm/test/CodeGen/X86/oddsubvector.ll
    M llvm/test/Transforms/GVN/PRE/volatile.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/MergeICmps/X86/no-gep-other-work.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
    M polly/test/ScopInfo/invariant_load_dereferenceable.ll

  Log Message:
  -----------
  [IR] Enable dereferenceable-at-point semantics (#204795)

The precise semantics of `dereferenceable` are currently undocumented,
but de facto they are:

* Argument position `dereferenceable` implies that the memory remains
dereferenceable while the function executes.
* Return position `dereferenceable` implies that the memory remains
dereferenceable forever.

This is not coherent with how these attributes are used, in at least two
ways:

* C++ reference arguments are annotated as `dereferenceable` by Clang.
However, C++ does not actually make any guarantees that the underlying
memory does not get freed during the execution of the function. (Unlike
Rust, which does guarantee this via protectors in SB/TB.)
* We infer `dereferenceable` on allocator return values (from
`allocsize`). Allocator return values quite obviously do not stay
dereferenceable forever, as they can be freed.

This PR changes the semantics of `dereferenceable` to apply at-point,
i.e. only directly on function entry (for arguments), or at the position
of the call (for return values). The fact that the memory cannot be
freed between the point where the `dereferenceable` fact has been
established and the point where we're trying to speculate needs to be
explicitly proven now.

The main ways this happens is:

* Via `nofree` function attributes (inferred).
* Via `noalias nofree` argument attributes. The latter is inferred, but
the former generally requires frontend annotation. In Rust the
combination of `noalias nofree dereferenceable` is used, so it should
not be materially affected by these changes.
* Context-sensitive analysis to check for frees (i.e. non-nofree calls
or synchronizing atomics) between the point of definition and the point
of speculation.

It's expected that this will regress optimization of C++ code in some
cases, because we can no longer use dereferenceability facts that are
not, in fact, guaranteed to hold.

This finishes implementing an old RFC:
https://discourse.llvm.org/t/rfc-decomposing-deref-n-into-deref-n-nofree/57873


  Commit: 805e89acff0d2f0685adac6eb7b75d1346827c77
      https://github.com/llvm/llvm-project/commit/805e89acff0d2f0685adac6eb7b75d1346827c77
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcInstrInfo.td

  Log Message:
  -----------
  [Sparc] Mark LOAD_BIG/LOAD_LITTLE as MayLoad (#206924)

These were marked as MayStore, but should be MayLoad.


  Commit: 51e0c893151d1ded3b6e5b9c6bb378799a281ef2
      https://github.com/llvm/llvm-project/commit/51e0c893151d1ded3b6e5b9c6bb378799a281ef2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp

  Log Message:
  -----------
  [Sparc] Create MMO for STORE_BIG/LITTLE with MOStore (#206929)

This only stores, so we can use a store MMO instead of a load+store one.


  Commit: 4d8ec1968023e9ab0dcc0d112c65d4e1b36b07d2
      https://github.com/llvm/llvm-project/commit/4d8ec1968023e9ab0dcc0d112c65d4e1b36b07d2
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RDFRegisters.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
    M llvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
    M llvm/test/TableGen/RegisterInfoEmitter-regcost.td
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [CodeGen][NFC] Remove RegisterClasses pointer array (#207204)

All MCRegisterClasses are stored consecutively in memory. Therefore, we
can remove the RegisterClassses pointer array and save 17kiB in
.data.rel.ro.


  Commit: f2334004d0ce9ae6d280f0a9d5e8c05d9b3103c1
      https://github.com/llvm/llvm-project/commit/f2334004d0ce9ae6d280f0a9d5e8c05d9b3103c1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/buildvec-extract.ll
    M llvm/test/CodeGen/X86/clmul-vector-256.ll
    M llvm/test/CodeGen/X86/clmul-vector-512.ll
    M llvm/test/CodeGen/X86/clmul-vector.ll
    M llvm/test/CodeGen/X86/combine-or-shuffle.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll

  Log Message:
  -----------
  [X86] matchUnaryShuffle - only prefer VZEXT_MOVL to VPMOVZX if it will fold away (#207031)

Clean up the logic matching VZEXT_MOVL in preference over VPMOVZX - we
should only use this if the source vector is GPR->FPU or a single
element load (or target load), which fold away to an implicit zero
extension.

Pre-SSE41 targets will attempt to match VZEXT_MOVL again more generally
later on.


  Commit: 2f3d02610748ed8d5ae07ae5cfd837666dd27419
      https://github.com/llvm/llvm-project/commit/2f3d02610748ed8d5ae07ae5cfd837666dd27419
  Author: adalal-2441 <adalal at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
    M llvm/test/Transforms/LoopVectorize/flags.ll

  Log Message:
  -----------
  [VPlan] Intersect all fast-math flags in VPIRFlags::intersectFlags (#204664)

intersectFlags only ANDed the nnan and ninf flags and left the others
reassoc, arcp, contract, afn and nsz) unchanged. When CSE or
interleave-group narrowing combines two operations into one, the kept
operation's remaining flags then leak onto the merged value.

Intersect all fast-math flags instead, so the result keeps only the
flags present on both operations. A pure intersection is required
because the combined operations do not always compute the same value
(e.g. when narrowing interleave groups), so a flag may be kept only if
every combined operation had it.

Found via @jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/blob/master/x86/bugs/090-vplan-cse-intersect-flags-fmf-wrong-direction

cc @jlebar


  Commit: 5447679305323f6108269929fe33a58c1d2c59b9
      https://github.com/llvm/llvm-project/commit/5447679305323f6108269929fe33a58c1d2c59b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M .github/workflows/release-documentation.yml

  Log Message:
  -----------
  Fix typo in release-documentation workflow (#207329)

This causes lots of "Invalid workflow file" errors.

Introduced in https://github.com/llvm/llvm-project/pull/204852.


  Commit: 813f06de0df4f0af5601cb1b109eb19b2373cad3
      https://github.com/llvm/llvm-project/commit/813f06de0df4f0af5601cb1b109eb19b2373cad3
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2c.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
    M llvm/test/CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir

  Log Message:
  -----------
  [AMDGPU] IGroupLP: Avoid DAG manipulation in greedyFind (#194827)

The greedy pipeline solver needs to determine the edges that are
implied by assigning an SUnit to a SchedGroup and the cost of this
assignment. The cost is the number of edges that cannot be added without
introducing cycles.  The current implementation (addEdges) adds the
edges to the DAG and uses the DAG reachability function for cycle
checking.  This happens for each candidate SchedGroup and needs to be
undone before other candidates are considered. The DAG manipulations
become a significant performance bottleneck on bigger pipelines.

This commit implements an alternative function for computing the edges
and cost of an assignment. This function performs the reachability
analysis that is necessary for the cyclicity checks without modifying
the DAG.

The new function returns the same cost as addEdges. The concrete edge
set may show insignificant differences, because, for instance,
the link function called from addEdges chooses not to add transitive
edges (DAG manipulations are more expensive than the check to avoid
this), but the new function includes such edges since this means that
it can avoid to update reachability information in one direction.

The schedule changes are caused due to the existing implementation not
resetting the DAG's topological order after removing the edges that
are added while examining the SchedGroup candidates. Hence it may have
used incorrect reachability information.


  Commit: e8b509f10bf34082b6fb35eb35e34f77ea583bef
      https://github.com/llvm/llvm-project/commit/e8b509f10bf34082b6fb35eb35e34f77ea583bef
  Author: Fan Mo <w007878 at hotmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/GH203701.cpp

  Log Message:
  -----------
  [clang] use decl itself in static assert failed boolean condition printer (#203736)

fixes #203701
  
`getName()` assumes the decl used in the static asserts has a simple
identifier name, but in some cases like `operator int` don't — they
fails the assertion `Name.isIdentifier() && "Name is not a simple
identifier"` when the `static_assert` failure diagnostic tries to print
the boolean expression.

Switching to getDeclName() handles these special names properly.

Reproducer:
```c++
  struct S {
    constexpr S(auto) {}
    constexpr operator int() const { return 0; }
  };

  constexpr auto a = [](this S) { return 1; };
  static_assert((&decltype(a)::operator())(1) == 42);
```

---
One thing I'm not sure about: the print helper that walks the boolean
expression lives in `SemaTemplate.cpp` (inside
`printTemplateArgumentList` / the DiagRecursiveConstraintEval visitor
area). Is there a historical reason for it being there rather than
somewhere more general like `SemaOverload.cpp` or a shared diagnostic
utility? Happy to move it if that makes more sense.

---
AI used for generating & fixing unit test


  Commit: 6de2b5f8f45d88d25956a2536460d441cd07eeef
      https://github.com/llvm/llvm-project/commit/6de2b5f8f45d88d25956a2536460d441cd07eeef
  Author: pkarveti <pkarveti at qti.qualcomm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    A llvm/test/CodeGen/Hexagon/vselect.ll

  Log Message:
  -----------
  [Hexagon] Lower vselect instruction (#206675)

Selection fails with "Cannot select: vselect" when the condition and
both data operands of an HVX vselect are predicate vectors (e.g. v32i1,
v64i1, v128i1). This patch adds patterns for vselect on HVX predicate
vectors of all three element widths (VecQ8, VecQ16, VecQ32), expanding
them to V6_pred_or/V6_pred_and/V6_pred_and_n on Q registers.

Patch-By: @iajbar 
Fixes #206353


  Commit: 2870ebbcb50db6bf451f902d8d611bf8709168c7
      https://github.com/llvm/llvm-project/commit/2870ebbcb50db6bf451f902d8d611bf8709168c7
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp

  Log Message:
  -----------
  [CrossProjectTests] Fixup expect in ctor.cpp to accept multiple steps (#207337)

In the test `ctor.cpp`, Dexter tests that when we step into the
constructor used in the test, the value of `this` isn't irretrievable.
To protect against a rotten pass it also checked that we stepped once,
but this caused failures on some platforms where we would step twice on
the constructor - this patch resolves the issue by accepting any
non-zero value for the number of steps.


  Commit: 448e7fec76bdedb50c2e8e17f68440b505da369c
      https://github.com/llvm/llvm-project/commit/448e7fec76bdedb50c2e8e17f68440b505da369c
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Track unary plus on a pointer (#207243)

Unary plus on a pointer is the identity (+p == p), so the result carries
the operand's loans -- but UO_Plus fell through VisitUnaryOperator's
default and left the result origin empty, dropping the borrow (e.g. p =
+&local was a silently-missed use-after-scope). Handle it by flowing the
operand's rvalue origins.

Assisted-by: Claude Opus 4.8

Co-authored-by: Gabor Horvath <gaborh at apple.com>


  Commit: b0c9d8ad10786d4861039b6806ceadda313229dd
      https://github.com/llvm/llvm-project/commit/b0c9d8ad10786d4861039b6806ceadda313229dd
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp

  Log Message:
  -----------
  [AArch64][InstCombine] Tidy [su]adalp combine (NFC) (#207219)

I missed some comments in the #204796 PR.


  Commit: 0341dd51303fc13cafdd21a33e2985cbf603c66b
      https://github.com/llvm/llvm-project/commit/0341dd51303fc13cafdd21a33e2985cbf603c66b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/asm.c
    M clang/test/CodeGen/asm_incbin.c
    M clang/test/CodeGen/cfi-salt.c
    M clang/test/CodeGen/kcfi.c
    M clang/test/CodeGenCUDA/filter-decl.cu
    M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
    M clang/test/CodeGenObjC/category-class.m
    M clang/test/CodeGenObjC/objc-runtime-name.m
    M clang/test/Frontend/ast-codegen.c
    M clang/test/Modules/codegen.test
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/IR/Module.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Transforms/IPO/ExtractGV.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Utils/SplitModule.cpp
    A llvm/test/Assembler/module-asm-invalid.ll
    M llvm/test/Bitcode/compatibility-3.6.ll
    M llvm/test/Bitcode/compatibility-3.7.ll
    M llvm/test/Bitcode/compatibility-3.8.ll
    M llvm/test/Bitcode/compatibility-3.9.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Bitcode/highLevelStructure.3.2.ll
    A llvm/test/Bitcode/module-asm.ll
    A llvm/test/CodeGen/RISCV/module-asm-features.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/prefix-rename.ll
    A llvm/test/LTO/RISCV/module-asm.ll
    M llvm/test/LTO/X86/inline-asm-lto-discard.ll
    A llvm/test/Linker/Inputs/module-asm.ll
    M llvm/test/Linker/link-arm-and-thumb-module-inline-asm.ll
    A llvm/test/Linker/module-asm.ll
    M llvm/test/ThinLTO/X86/import-symver.ll
    M llvm/test/Transforms/LowerTypeTests/export-symver.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.ll
    M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/module-asm.mlir

  Log Message:
  -----------
  [IR] Explicitly specify target feature for module asm (#204548)

Support specifying additional properties on module-level inline
assembly. In particular, the target features and target CPU can now be
specified as follows:

    module asm(target_features: "+foo", target_cpu: "bar")
        "asm line 1"
        "asm line 2"

There may be multiple module inline assembly blocks with different
properties.

This is intended to fix the long standing issue where in LTO scenarios
we don't know what target features to use for parsing the module-level
inline assembly. Now they can be faithfully preserved, even when merging
inline assembly from different modules with different features.

If target_features and target_cpu are empty, we fall back to the old
behavior (which, in the backend, would be to use the default subtarget
of the TargetMachine).

Fixes https://github.com/llvm/llvm-project/issues/61991.
Fixes https://github.com/llvm/llvm-project/issues/67698.


  Commit: 473b0a3b727a89140762b558d74520915bd164ff
      https://github.com/llvm/llvm-project/commit/473b0a3b727a89140762b558d74520915bd164ff
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/unittests/Basic/CMakeLists.txt
    M clang/unittests/Basic/DiagnosticTest.cpp

  Log Message:
  -----------
  Fix MSVC build after #206326 (again) (#207335)

Adding /utf-8 is bigger endeavor than I hoped, just disable the
problematic test case for now


  Commit: 73e1c53474a46a9686d7111c8566be2d90263aa4
      https://github.com/llvm/llvm-project/commit/73e1c53474a46a9686d7111c8566be2d90263aa4
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libc/startup/baremetal/arm/start.cpp

  Log Message:
  -----------
  [libc][ARM] Defend banked SP setup against register allocator (#206757)

The startup code for bare-metal AArch32 A/R shifts the CPU through all
the different modes which have their own copies of SP, updating all the
stack pointers to the same value. But it does it using C intrinsics,
leaving the register allocation to the compiler – so it's possible that
the register allocator happens to use one of the _other_ banked
registers, such as LR.

For example, when I built this code today, it happened that LR was used
to hold one of the constants written into CPSR_c to change mode. That
constant was written into the SVC mode LR before any mode changes, but
the MSR instruction that tried to use it was run in a different mode, so
it copied from _that_ mode's LR, which contained uninitialised nonsense
in place of the desired constant, triggering a boot-time crash.

I think it's safer to use a single asm statement for the whole job,
guaranteeing which registers it uses.


  Commit: 17e7497629ccb47a1f23aa5e0ba228d6d0e2a0a0
      https://github.com/llvm/llvm-project/commit/17e7497629ccb47a1f23aa5e0ba228d6d0e2a0a0
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/asan.c
    M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/dbg-arg.c
    M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/global-constant.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/hello.c
    M cross-project-tests/debuginfo-tests/dexter-tests/inline-line-gap.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/bitcast.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/implicit-ptr.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inline-escaping-function.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining-dse.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/inlining.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/loop.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/merged-store.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/ptr-to.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/struct-dse.c
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
    M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/nrvo.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/realigned-frame.cpp
    M cross-project-tests/debuginfo-tests/dexter-tests/stack-var.c
    M cross-project-tests/debuginfo-tests/dexter-tests/vla.c
    M cross-project-tests/debuginfo-tests/dexter/Heuristic.md
    M cross-project-tests/debuginfo-tests/dexter/Script.md
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/conditions.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_function.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/simple_where_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_after_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_at_frame.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_finish.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_step_out.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/watch_scope.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_file_paths.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_fn_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_for_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/where_hit_count_early_exit.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/basic_evaluate.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_at_frame.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_steps_penalties.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_steps_perfect.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_sublist_aggregates_addresses.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_types.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/evaluate_nothing.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/floats.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/nested_wheres.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/bad-where-attr.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/error-locations.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/expect-all-with-value.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-address.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-script-nodes.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/parse-address.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/reject-bad-at_frame_idx.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/step-node-expected-values.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/valid-parse.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_aggregates_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_at_frame_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expect_list_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expects_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_list_aggregates_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_multiple_scripts_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_scopes_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_scopes_list_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_types_expected.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_aggregates.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_at_frame.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expect_list.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expects.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_list_aggregates.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_multiple_scripts.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_scopes.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_scopes_list.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_step_lines.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_types.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/whole_file.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/where_hit_count.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp

  Log Message:
  -----------
  [Dexter] Switch to using script-mode by default (#204369)

This patch changes the default mode of Dexter from heuristic-mode to
script-mode. The --use-script argument is replaced with --use-heuristic,
some comments/docs/error messages are updated accordingly, and tests
have their flags switched accordingly.


  Commit: 67d7dfcfbc91862a85084e7848ebd62b929e8f78
      https://github.com/llvm/llvm-project/commit/67d7dfcfbc91862a85084e7848ebd62b929e8f78
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-outline_atomics.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-v8a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-outline_atomics.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-v8a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-outline_atomics.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-cmpxchg-v8a.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64_i128_endianness.ll

  Log Message:
  -----------
  [AArch64] Fix reversed values in big-endian 128-bit atomics (#205760)

When AArch64TargetLowering expands a load-linked or a store-conditional
during the atomic-expand pass, it made the fixed assumption that the
64-bit value stored first in memory was the low-order half of the
128-bit value, instead of checking the SubtargetInfo's endianness. The
same was true of the code that expands CMP_SWAP_128 pseudoinstructions.
So in each case, if you compiled 128-bit atomic code big-endian, you'd
get back a 128-bit integer with the top and bottom half swapped.

This was found by compiler-rt's existing tests when we ran them for a
big-endian AArch64 target in Arm Toolchain.

Most of the test changes here are `update_llc_test_checks` churn: there
were already many tests of AArch64 atomics in big-endian mode, and
apparently they all simply had the reversed registers in their expected
output.

The one new test, `aarch64_i128_endianness.ll`, directly demonstrates
the failure if run against llc without the patch, because it does both
atomic and normal loads and stores in each test function, and you can
see in the big-endian generated code that the same pair of registers is
used in opposite orders by the ldxp/stxp and ldp/stp instructions. After
this fix, the order of the registers matches.


  Commit: 243211a9222dde80433e57b710cff7de5b9fc38a
      https://github.com/llvm/llvm-project/commit/243211a9222dde80433e57b710cff7de5b9fc38a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [ReleaseNotes] Remove leftover conflict marker (#207348)


  Commit: efcfff751f856c66c936d2057ed9a8463e070833
      https://github.com/llvm/llvm-project/commit/efcfff751f856c66c936d2057ed9a8463e070833
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    A libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.append.pass.cpp
    A libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.assign.pass.cpp

  Log Message:
  -----------
  [libc++] Add assert test for string assign/append (#207164)

Fixes
https://github.com/llvm/llvm-project/pull/206320#discussion_r3507502638.


  Commit: 15b38829f76f2116e8ce3dca0b52528e94537e41
      https://github.com/llvm/llvm-project/commit/15b38829f76f2116e8ce3dca0b52528e94537e41
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll

  Log Message:
  -----------
  [AArch64][FastISel] Update arm64-fast-isel-conversion.ll check lines (NFC) (#207159)

Before fixing relevant bugs and extending the existing tests,
auto-generate CHECKs.

Note that some of the existing CHECKs actually check for buggy isel.
Those will be fixed separately, after adding more tests in a separate
PR. This PR just runs `update_llc_test_checks.py`.


  Commit: 4d46b7afdab1747618fdd0f1480ae59d8352eeea
      https://github.com/llvm/llvm-project/commit/4d46b7afdab1747618fdd0f1480ae59d8352eeea
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Report error if HasGroup is set without types (#207334)

Setting `HasGroup = 1` in tablegen without the types being non-empty
causes problems later, so diagnose it.


  Commit: 499eba67ee2301b8692c3b1903840896d2c12d73
      https://github.com/llvm/llvm-project/commit/499eba67ee2301b8692c3b1903840896d2c12d73
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve2p1-while-pn-folds.ll

  Log Message:
  -----------
  [SDAG][AArch64] Fold extract from pext to use status flags (#206443)

This folds extracting the first bit from the first segment of a
predicate-as-counter to use the "first active" status. E.g.:

```
%pn:aarch64svcount, %flags:FlagsVT = WHILELO_PRED_COUNTER(a, b, VLx4)
%first_pred:nxv4i1 = pext(%pn, 0)
%more:i1 = extractelement(%first_pred, 0)
```
->
```
%pn:aarch64svcount, %flags:FlagsVT = WHILELO_PRED_COUNTER(a, b, VLx4)
%more = CSET(%flags, FIRST_ACTIVE)
```

Assisted-by: Codex (adding test variations)


  Commit: 11438bc8e31252be03e8a47773da3964ab2df215
      https://github.com/llvm/llvm-project/commit/11438bc8e31252be03e8a47773da3964ab2df215
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-masked-gather-64b-unscaled.ll
    M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
    M llvm/test/CodeGen/AArch64/sve-masked-gather.ll

  Log Message:
  -----------
  [AArch64] Combine undef UZP and NVCAST away. (#204623)

These are used to lower insert_subvec nodes quite early in SDAG. After
DAG combines run, it's possible that the inputs to these AArch64 nodes
become UNDEF.


  Commit: ba8e423be48d3505b89f27348faaad3e810168fa
      https://github.com/llvm/llvm-project/commit/ba8e423be48d3505b89f27348faaad3e810168fa
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/commands/platform/connect/TestPlatformConnect.py
    M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
    M lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py

  Log Message:
  -----------
  [lldb][test] Add a function to spawn lldb-server platforms (#205083)

I will be doing this in a future test and we already have a few copies of this code in various tests.


  Commit: 234960e7ad301a99acf650d71899a00c80eda1d2
      https://github.com/llvm/llvm-project/commit/234960e7ad301a99acf650d71899a00c80eda1d2
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
    M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
    M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp

  Log Message:
  -----------
  [LifetimeSafety] Point annotation suggestion location to fix-it insertion point (#207345)


  Commit: aded5309868f4d757490a804d331d4d12bf410b2
      https://github.com/llvm/llvm-project/commit/aded5309868f4d757490a804d331d4d12bf410b2
  Author: Bill Wendling <morbo at google.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    A clang/test/CodeGen/attr-counted-by-with-sanitizers.c
    A clang/test/CodeGen/attr-counted-by-without-sanitizers.c
    R clang/test/CodeGen/attr-counted-by.c

  Log Message:
  -----------
  [Clang][tests][NFC] Split __counted_by attribute testcases into two (#207144)

Splitting the testcase file makes it easier to review the generated
code. The only changes are cosmetic:

  - Renaming functions and structs to be more descriptive, and
  - Removing a duplicate test.


  Commit: 253d6f216a62ab2e1005ca6a7a56385aa399ef4d
      https://github.com/llvm/llvm-project/commit/253d6f216a62ab2e1005ca6a7a56385aa399ef4d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py

  Log Message:
  -----------
  [CI][flang][OpenMP] Build OpenMP runtime mod files for flang tests (#206517)

Some flang openmp lit tests require mod files (a bit like C header
files, except they are compiler generated) from the openmp runtime. As
the openmp runtime is not currently built in this configuration, these
71 flang tests get skipped and a warning is emitted.

Here I enable openmp as a dependency for flang but add
-DLIBOMP_FORTRAN_MODULES_ONLY=ON so that only the required mod files are
built and not the whole of the openmp runtime.

This only effects linux bots: Windows and MacOS explicitly exclude
openmp so it will still not be enabled there.

Assited-by: Codex


  Commit: 38241083163a3743413dafd86b45739a2143622e
      https://github.com/llvm/llvm-project/commit/38241083163a3743413dafd86b45739a2143622e
  Author: Ege Beysel <beysel at roofline.ai>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
    M mlir/include/mlir/Interfaces/TilingInterface.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/SwapExtractSliceWithProducerPatterns.cpp
    M mlir/lib/Interfaces/TilingInterface.cpp
    A mlir/test/Dialect/Linalg/scalable-pack-consumer-fusion.mlir
    A mlir/test/Dialect/Linalg/scalable-pack-producer-fusion.mlir
    A mlir/test/Dialect/Linalg/scalable-pack-tiling.mlir
    A mlir/test/Dialect/Linalg/scalable-unpack-consumer-fusion.mlir
    A mlir/test/Dialect/Linalg/scalable-unpack-producer-fusion.mlir
    A mlir/test/Dialect/Linalg/scalable-unpack-tiling.mlir
    M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][linalg/scf/transform] scalable tiling and fusion for pack/unpack ops (#204007)

# Inner tile alignment hints for scalable `linalg.pack`/`linalg.unpack`
tiling and fusion

## Overview

Tiling and fusing `linalg.pack`/`linalg.unpack` produces a clean result
only when the tiling implementation can tell how a loop tile size
relates to the op's inner tile size. When both are statically known this
is decided by comparing the constants. But with **scalable** (and, more
generally, dynamic) sizes, e.g. a loop tile of `8 * vscale` against an
inner tile of `8 * vscale`, that relationship is symbolic and cannot
cleanly be recovered from the IR, so the implementation conservatively
falls back to a dynamic, over-allocated tile. See #150185 for more
details.

This PR adds an optional **inner tile alignment hint**: a per-dimension
caller assertion about that relationship, threaded from the transform-op
surface through the SCF driver into the pack/unpack `TilingInterface`
implementations. The caller is already aware of both the loop tile
sizes, and the inner tile sizes, and therefore can set these hints
easily. With the hint, scalable pack/unpack tiling and fusion produce
the same tight IR they produce for the statically-aligned case.

## The inner tile alignment hint

`InnerTileAlignment` is a per-iteration-domain-dimension enum:

- `Unknown` (`0`) — no information; the implementation keeps its prior
behavior.
- `Multiple` (`1`) — the loop tile size is an integer multiple of the
inner tile.
- `Equal` (`2`) — the loop tile size equals the inner tile size.

It is a *caller assertion*, not a checked fact. It is consulted only
when the relationship cannot be decided from the IR; when the tile and
inner-tile sizes are both statically known, that static comparison wins
and a contradicting hint is ignored rather than allowed to corrupt the
result. Otherwise the hint is not verified, so an incorrect assertion
silently produces invalid tiling, its correctness is owned by the
caller. Only pack/unpack consult it; every other op ignores it.

## TilingInterface API

Four methods gain a second overload taking an extra
`ArrayRef<InnerTileAlignment>` hint:

- `getTiledImplementation`
- `generateResultTileValue`
- `getTiledImplementationFromOperandTiles`
- `getIterationDomainTileFromOperandTiles`

The hint-bearing overload defaults to forwarding to the hint-less one,
so the change is additive: existing implementers and callers that never
mention the hint are unaffected, and the rest of the interface is
untouched.

### Where it helps

The loop tiles the packed dimension by `8 * vscale`, so the size handed
to the pack/unpack is a **full-or-remainder** `affine.min` against that
step:

```mlir
//   #map = affine_map<(d0)[s0] -> (-d0 + 4096, s0)>   // min(4096 - iv, 8*vscale)
%ts = affine.min #map(%iv)[%c8_vscale]
// ... %ts feeds the extracted slice fed to the pack/unpack, whose inner tile
//     on this dimension is also 8*vscale.
```

To fold the tiled op's outer (tile-count) dimension to a static `1`, the
current implementation asks
`ValueBoundsConstraintSet::computeConstantBound` for a *constant* upper
bound on `%ts` and compares it against the inner tile size, essentially
`UB(%ts) % innerTile == 0`. With a scalable `8 * vscale` inner tile,
neither the upper bound of `%ts` nor the inner tile is a constant, so
the comparison is undecidable and the tile conservatively falls back to
a dynamic outer dim (`tensor<?x...>`), over-allocating the tile.

`inner_tile_alignments = [Equal]` asserts `%ts == 8 * vscale`, so the
outer dim folds to a static `1` (`tensor<1x...>`); `[Multiple]` instead
takes the `ceilDiv` branch. The hint thus supplies exactly the
relationship the upper-bound comparison cannot recover for symbolic
sizes.

### How the hint is arranged

- One entry per **iteration-domain dimension**, in **pre-interchange**
order (`interchange` only reorders the generated loops, not the hint).
- Entries are **not** remapped through indexing maps or
`outer_dims_perm`: for a transposing pack they stay in source
(pre-permutation) order.
- For the consumer-fusion (`*FromOperandTiles`) methods, the indexing
follows the op's iteration domain: for a pack it coincides with the
unpacked source dims; for an unpack the entry for the i-th inner tile
sits at its destination dimension `inner_dims_pos[i]`.

The caller must pre-arrange the array to match this order. See the tests
for more examples.

### Out-of-tree implementers

Because the two overloads share a source name:

- An op that lists one of the four methods in
`DeclareOpInterfaceMethods` now has **both** arities declared on it, so
it must also define the hint-bearing overload (typically a one-line
forward to the hint-less one).
- An `ExternalModel` that defines the hint-less overload **hides** the
inherited defaulted hint-bearing overload (C++ name hiding); add `using
Base::<method>;` to keep it visible.

Implementers that do not care about the hint need no functional change
beyond the above visibility boilerplate.

## SCF tiling driver API

The producer- and consumer-fusion driver entry points
(`tileAndFuseProducerOfSlice`, `tileAndFuseConsumerOfSlices`,
`tileAndFuseConsumer`) and `SCFTilingOptions` accept an optional
**control function** rather than a single fixed array.

A single tile-and-fuse invocation can tile/fuse several ops with
**different iteration domains**, so no single array can be correct for
all of them. The driver therefore invokes the control function once per
op being tiled/fused and
expects the returned array to be in *that op's own* domain, it does not
remap it.

### Why a control function and not one array

A single tile-and-fuse can pull in more than one pack/unpack, and each
consults the hint in *its own* iteration domain:

```mlir
%unpacked = linalg.unpack %p0 inner_dims_pos = [0] inner_tiles = [%c8_vscale] ... // domain A
%mul      = linalg.generic ins(%unpacked, ...) ...                                // tiled root
%packed   = linalg.pack   %mul inner_dims_pos = [1] inner_tiles = [%c4_vscale] ... // domain B
// One tile-and-fuse: tile %mul, fuse %unpacked (producer) and %packed (consumer).
```

Both `%unpacked` and `%packed` consume the hint, but their domains
differ, a different dimension is tiled and the inner-tile arrangement is
different, so the array indexed in `%unpacked`'s domain is simply wrong
for `%packed`. No single fixed array can be correct for both. The driver
therefore invokes the control function once per op being tiled/fused and
the caller returns each op's array in its own domain.

### Why the function gets slices (not tile sizes) for fusion

For pure tiling the driver knows the explicit tile sizes and passes
them. In fusion there are no caller-specified tile sizes for the fused
op, its tile is induced by the `tensor.extract_slice` (producer) or
`insert_slice` (consumer) being fused. The control function is therefore
handed those slices, from which the caller can derive the alignment in
the fused op's domain.

## Transform ops

`transform.structured.tile_using_for`, `transform.structured.fuse`, and
`transform.structured.fuse_into_containing_op` gain an optional
`inner_tile_alignments` array attribute (empty by default, preserving
prior behavior). It is wired to the driver as a **constant** control
function (the same array for every op). This is sufficient because each
of these ops drives tiling/fusion at single-op granularity; the per-op
control function remains available at the library/driver level for
callers that fuse multiple ops with differing domains. The test-only
`transform.test.fuse_consumer` is wired the same way.

## Testing

- **`linalg.unpack`**: standalone tiling, producer fusion
(`structured.fuse`, `fuse_into_containing_op`), and consumer fusion
(`test.fuse_consumer`), with both `Multiple` and `Equal` hints.
- **`linalg.pack`**: standalone tiling, producer fusion, and consumer
fusion (`test.fuse_consumer`), with both `Multiple` and `Equal` hints.
- Negative cases: missing hint falls back to the conservative tiling; a
hint that contradicts statically-known sizes is ignored; transposing
`outer_dims_perm`/consumers confirm source-order (un-permuted) indexing.
- Transform-op attribute verification (`inner_tile_alignments`
validity).


Assisted-by: Claude Code

---------

Signed-off-by: Ege Beysel <beyselege at gmail.com>


  Commit: a4df89bcc69ad1c3ef9e57c4cd692cc15cec82d6
      https://github.com/llvm/llvm-project/commit/a4df89bcc69ad1c3ef9e57c4cd692cc15cec82d6
  Author: Maxim Potapchik <maximp1012 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Target/TargetPfmCounters.td
    A llvm/test/TableGen/ExegesisRawPfmCounters.td
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/utils/TableGen/ExegesisEmitter.cpp

  Log Message:
  -----------
  [llvm-exegesis] Add raw PMU encoding in TargetPfmCounters tablegen (#201228)

Adds optional EventSelect and UMask fields to PfmCounter in
TargetPfmCounters.td. EventSelect defaults to -1 (no raw encoding).
When set, ExegesisEmitter outputs raw hex values instead of a libpfm
symbolic name, allowing per-CPU .td entries to bypass
pfm_get_os_event_encoding for counters that are undocumented or
unsupported in libpfm.

Extends PfmCountersInfo with CycleCounterEventSelect, CycleCounterUMask,
UopsCounterEventSelect, and UopsCounterUMask fields. PerfHelper wiring
in a subsequent patch.

Towards #187930


  Commit: c6579063cd660094ed7fd121191c5fb9cd1c4b55
      https://github.com/llvm/llvm-project/commit/c6579063cd660094ed7fd121191c5fb9cd1c4b55
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp

  Log Message:
  -----------
  [DebugInfo] Avoid std::function in DWARF verifier internals (#202866)

This changes `OutputCategoryAggregator`'s synchronous callback
parameters from `std::function` to `function_ref`, avoiding type-erased
callback construction at 75 `DWARFVerifier` diagnostic sites.

On an arm64 Release build, standalone llvm-dwarfdump decreases by
133,680 bytes raw and 17,040 bytes stripped, `DWARFVerifier.cpp.o`
decreases by 174,464 bytes, and linked fixups decrease by 546.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: 47e3ac23cb90d206ada66383517ffe0e996c60c9
      https://github.com/llvm/llvm-project/commit/47e3ac23cb90d206ada66383517ffe0e996c60c9
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb][test] Truncate unexpectedly long test outputs (#206967)

A bug in LLDB could make our tests to produce giant ValueObjects with
millions of children. The same goes for most commands that print out
test data. While our test system can handle this amount of output, the
resulting log output will most likely break the storage capacity of our
build bots.

This patch adds truncation to the various expect* methods that avoids
spamming the output in the (unlikely) case this happens.

See also #206444


  Commit: 59362e4224aa66092a40dbbaac87f38e4dbc6e61
      https://github.com/llvm/llvm-project/commit/59362e4224aa66092a40dbbaac87f38e4dbc6e61
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp

  Log Message:
  -----------
  [lldb][test] Modernize and expand data-formatter-stl/generic/vbool (#206955)

This fixes several issues with this test:
* We use modern test utils for setting up the process.
* We get rid of the state-reset code which is no longer necessary these
days.
* Expand the test to also cover an empty and sub-word-size vector of
bool.

assisted-by: claude


  Commit: bb315b7e2953f02e1c8996b110752610e2187ce0
      https://github.com/llvm/llvm-project/commit/bb315b7e2953f02e1c8996b110752610e2187ce0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-undef.ll
    M llvm/test/CodeGen/X86/phaddsub-undef.ll

  Log Message:
  -----------
  [X86] Update (p)haddsub undef element tests to match the output IR from the middle-end (#207244)

Use the vectorised output from the PhaseOrdering/X86 hadd.ll tests -
I've added test coverage for multiple SSE/AVX levels for cases where the
middle-end output is different for any level.

This exposes a number of regressions that have been there for some time
but we'd missed as we'd assumed the backend would still be receiving
non-vectorised IR, but there's been plenty of changes to SLP,
InstCombine and VectorCombine since then - end2end tests would have been
very useful here :(

Looking at fixes next before finally removing the (dead) scalar hadd
matching code for #143000


  Commit: 97f71863590c260870789489200a7652c957827f
      https://github.com/llvm/llvm-project/commit/97f71863590c260870789489200a7652c957827f
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/DenseSet.h

  Log Message:
  -----------
  [ADT][NFC] Remove unused ValueInfoT from DenseSetImpl (#207277)

The `ValueInfoT` template type was unused and is removed in this patch.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 35bbd6224676b6c0464f92c9f63a7d61f9e53b2a
      https://github.com/llvm/llvm-project/commit/35bbd6224676b6c0464f92c9f63a7d61f9e53b2a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/test/MC/AArch64/arm-poe2.s

  Log Message:
  -----------
  [AArch64][llvm] Update POE2 thread-private system register names (#200428)

The `TPMINn_ELn` and `TPMAXn_ELn` system registers have been removed
from the 2026-06 documentation [1]. Their encodings are now used by the
`TPCRn_ELn` system registers [2].

Update the system register definitions and MC tests accordingly.
  
[1] https://developer.arm.com/documentation/111109/2026-06
[2]
https://developer.arm.com/documentation/111107/2026-06/AArch64-Registers/TPCR0-EL0--Thread-Private-State-Register-0--EL0-


  Commit: ce68a9916a908b3ed0b7e26468140ee63696558e
      https://github.com/llvm/llvm-project/commit/ce68a9916a908b3ed0b7e26468140ee63696558e
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s

  Log Message:
  -----------
  [AMDGPU][AsmParser] Fix representing src2 op_sel for MAC instructions (#206033)


  Commit: 4f06fa92b6cf16cec5bd0bfe7ef3efec17b91e24
      https://github.com/llvm/llvm-project/commit/4f06fa92b6cf16cec5bd0bfe7ef3efec17b91e24
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Enable CPO compile tests (#207123)

`adjacent_transform_view` and `stride_view` were implemented but the
test cases were omitted.

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 61f64e3fececf30cd15727e5d3fc303191513e2e
      https://github.com/llvm/llvm-project/commit/61f64e3fececf30cd15727e5d3fc303191513e2e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][InsertWaitCnt] Remove Leftover Comment (#207378)

The right test cases were added in #206439 so that comment no longer
applies.


  Commit: 3b908aaf1de387c34738ebe5166adab98d2254ce
      https://github.com/llvm/llvm-project/commit/3b908aaf1de387c34738ebe5166adab98d2254ce
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-undef.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll

  Log Message:
  -----------
  [X86] haddsub-undef.ll - sync more testnames with their phaseordering equivalents (#207370)

Ensure we have equivalent hadd/sub middle-end test coverage with similar names for lookup


  Commit: df6e3809d218f42f17a3c90f31498b01b0122346
      https://github.com/llvm/llvm-project/commit/df6e3809d218f42f17a3c90f31498b01b0122346
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp

  Log Message:
  -----------
  [AArch64] Minor simplification in aarch64-ldst-opt with an early return (#207182)

Remove the local `MBBIWithRenameReg` by moving an early return at an
even earlier point.

When `MBBIWithRenameReg` is set we always return early. By moving the
early return to `MBBIWithRenameReg` update we get rid of a local
variable which spans  200+ lines. This also fixes a misleading debug
print between `MBBIWithRenameReg` update and early return:

```
LLVM_DEBUG(dbgs() << "Unable to combine these instructions due to "
                << "interference in between, keep looking.\n");
```

This line shouldn't be printed when we set `MBBIWithRenameReg`, which is
fixed with this change.


  Commit: 965b73ab185f3798b1afe0895476ae899189fcb0
      https://github.com/llvm/llvm-project/commit/965b73ab185f3798b1afe0895476ae899189fcb0
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/M68k/M68kRegisterInfo.cpp

  Log Message:
  -----------
  [M68k] Fix build after removal of RegisterClasses pointer array (#207364)

Commit 4d8ec1968023 ("[CodeGen][NFC] Remove RegisterClasses pointer
array (#207204)") removed regclass_begin()/regclass_end() from
TargetRegisterInfo, so those names now resolve to the MCRegisterInfo
versions whose iterator dereferences to a MCRegisterClass rather than a
const TargetRegisterClass *, breaking getMaximalPhysRegClass():

  error: cannot convert 'const llvm::MCRegisterClass' to
  'const llvm::TargetRegisterClass*' in initialization

M68k was not updated in that commit. Switch to the range-based
regclasses() idiom used elsewhere in the same change.

Regressor: 4d8ec1968023 ("[CodeGen][NFC] Remove RegisterClasses pointer
array") (#207204)


  Commit: 22e5273cc3334906fc18fce2aebb74986259e31d
      https://github.com/llvm/llvm-project/commit/22e5273cc3334906fc18fce2aebb74986259e31d
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-declare-target-func-visibility.mlir
    M mlir/test/Target/LLVMIR/omptarget-device-shared-mem.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Change device declare target functions to hidden visibility (#207234)

During OpenMP lowering, globally visible device functions are emitted.
These functions might not be kernels themselves, but are designed to
only be called in a kernel context. However, if they are unused, and not
inlined, and reference LDS, the AMDGPU ISel emits lots of misleading
warnings related to "local memory global used by non-kernel function".
Fix by changing visibility from external+default to external+hidden,
which allows DCE to just remove the functions.

Claude assisted with this patch.


  Commit: afe7d8c4d0dce76e0775cdea9e1ed3ee58b63146
      https://github.com/llvm/llvm-project/commit/afe7d8c4d0dce76e0775cdea9e1ed3ee58b63146
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp

  Log Message:
  -----------
  [CSKY] Fix build (#207389)

After 0b413b7d0f5a64e2bb1dea136688b3f4e4ea5e22.


  Commit: ac47f992ffac0842891a7fb6f412bff49b12f364
      https://github.com/llvm/llvm-project/commit/ac47f992ffac0842891a7fb6f412bff49b12f364
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.h
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/include/llvm/ADT/DenseMapInfo.h
    M llvm/include/llvm/ADT/DenseSet.h
    M llvm/include/llvm/Support/JSON.h

  Log Message:
  -----------
  [ADT][NFC] Remove unused includes in DenseMap/DenseSet headers (#207282)

Remove unused includes in DenseMap/DenseSet headers.
`llvm/Support/AlignOf.h` was transitively included in
`llvm/Support/JSON.h`


  Commit: 4cdb0335647089e12cb7b8d675871bb7086ed189
      https://github.com/llvm/llvm-project/commit/4cdb0335647089e12cb7b8d675871bb7086ed189
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv-outside-user.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-tail-folding.ll

  Log Message:
  -----------
  [VPlan] Optimize pre-increment IV latch users with tail folding (#206499)

This was noticed after #204089 caused IndVarsSimplify to convert some
live out IV users to use the pre-incremented IV, not the
post-incremented.

Tail folded live-outs don't have the `(extract-last-lane
(extract-last-part foo))` form, but instead have the form `(extract-lane
(last-active-lane header-mask), foo)`.
For post-incremented IVs in tail folding, these are converted to
VPInstruction::ExitingIVValue which are handled separately. But
ExitingIVValue can't be used for the pre-incremented IV. So this teaches
optimizeLatchExitInductionUser to detect the last-active-lane of the
header mask form.


  Commit: a4e51ff84f7eae35f2b1e5e6b53ba0cd3d2e3089
      https://github.com/llvm/llvm-project/commit/a4e51ff84f7eae35f2b1e5e6b53ba0cd3d2e3089
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp

  Log Message:
  -----------
  [VPlan] Introduce m_Branch matcher (NFC) (#207383)


  Commit: c1a016708ee305c72db55b613b8c036ca6dfb84e
      https://github.com/llvm/llvm-project/commit/c1a016708ee305c72db55b613b8c036ca6dfb84e
  Author: Barbara Mitic <bmitic at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll

  Log Message:
  -----------
  [AMDGPU] Accept sext addresses when folding image ops to a16 (#203189)

canSafelyConvertTo16Bit() only accepts a zext when narrowing image
address coordinates to 16 bits. Add an opt-in AllowI16SExt flag so a
sext from i16 is accepted too, and enable it for sampler-less image
instructions.
Coordinates of sampler-less loads/stores are unsigned, so sext and zext
only disagree for a negative i16 (>= 0x8000), which is already out of
bounds since the maximum image dimension is <= 0x8000. Accepting the
sext therefore lets such coordinates fold to the a16 form, reducing VGPR
pressure.

Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>


  Commit: 7a3ed4d252ff06161f73d68f3f31bc9aac50aa22
      https://github.com/llvm/llvm-project/commit/7a3ed4d252ff06161f73d68f3f31bc9aac50aa22
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c

  Log Message:
  -----------
  [Clang][SVE ACLE] Remove +bf16 requirement from neon-sve bridge builtins. (#205332)

These builtins only care about the size of the element type and do not
require bfloat specific instructions.


  Commit: 1d577d28b2d259e99795d4f523d527335b04075d
      https://github.com/llvm/llvm-project/commit/1d577d28b2d259e99795d4f523d527335b04075d
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/docs/ClangStaticAnalyzer.md
    M clang/docs/ScalableStaticAnalysis/index.md

  Log Message:
  -----------
  [analyzer][docs] Fix invalid MyST toctree 'numbered' option after Markdown migration (#207217)

The RST-to-Markdown migration (#206181) converted the RST flag
`:numbered:` into `:numbered: true`.

MyST parses the toctree `numbered` option as `int_or_nothing`, so the
string `true` fails with:

```
'toctree': Invalid option value for 'numbered': true:
invalid literal for int() with base 10: 'true'
```

This breaks the `-W` (warnings-as-errors) `docs-clang-html` build.
Make `numbered` a valueless flag, which MyST accepts (equivalent to the
original RST behavior of numbering all levels).

Assisted-By: claude


  Commit: c87a57fcce04d38e23ec5c16ef9b80a4cfbb1c3c
      https://github.com/llvm/llvm-project/commit/c87a57fcce04d38e23ec5c16ef9b80a4cfbb1c3c
  Author: Cyrus Ding <91178148+dingcyrus at users.noreply.github.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/lib/Basic/IdentifierTable.cpp

  Log Message:
  -----------
  [Clang] Remove unused TokenKey::KEYNOZOS (#207132)

[Clang] Remove unused TokenKey::KEYNOZOS

  KEYNOZOS was defined as a TokenKey flag to mark keywords not supported
  on z/OS, but no keyword in TokenKinds.def actually uses it. This patch
  removes the unused enum value and its associated handling code.

  Build: `ninja clang` succeeded (2923/2923 targets).
  Tests: `ninja check-clang` passed — 51180 passed, 0 failed.

AI assistance was used for code review analysis and CI failure
debugging.

  Fixes #206877

Co-authored-by: Chenguang Ding <dingchenguang at kylinos.cn>


  Commit: 624781038c030f8311664e847efda83a2754d5bc
      https://github.com/llvm/llvm-project/commit/624781038c030f8311664e847efda83a2754d5bc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/haddsub-undef.ll

  Log Message:
  -----------
  [X86] haddsub-undef.ll - update remaining tests to match IR generated by middle-end (#207391)

Last prep for #143000


  Commit: ccfab9ee84ae4f7da776d5022e86c62b0960ee4a
      https://github.com/llvm/llvm-project/commit/ccfab9ee84ae4f7da776d5022e86c62b0960ee4a
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/build-vector-reconstructshuffle.ll

  Log Message:
  -----------
  [AArch64] Fix ReconstructShuffle for known vscale>1 (#205099)

The code at AArch64TargetLowering::ReconstructShuffle expects
NEON-compatible types. But for e.g. vscale_range = {2}, we can get legal
fixed-length vectors that are wider than 128 bits.


  Commit: ee82fc0ca6d276c5fe8b19b7f8c24b8a64550193
      https://github.com/llvm/llvm-project/commit/ee82fc0ca6d276c5fe8b19b7f8c24b8a64550193
  Author: Qixi <tjx2361869673 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/matrix-type-operators.c

  Log Message:
  -----------
  [Clang] Fix crash on subscripting a complete matrix subscript expression (#207317)

Subscripting a complete MatrixSubscriptExpr (which has scalar type)
caused an assertion failure in ActOnArraySubscriptExpr because the code
unconditionally asserted isIncomplete() on any MatrixSubscriptExpr base.

Fix by guarding the matrix subscript path with an isIncomplete() check,
allowing complete matrix subscript expressions to fall through to the
standard subscript handling, which emits an appropriate diagnostic.

Fixes #203163


  Commit: 62f8a7b95711baf3b53bf37c4b6e124547902fee
      https://github.com/llvm/llvm-project/commit/62f8a7b95711baf3b53bf37c4b6e124547902fee
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [VectorCombine] isExtractExtractCheap - add dbg message showing OldCost vs NewCost (#207386)

Add missing dbs message for VC fold costs decision


  Commit: d1c2d8650ab18c84459cbb6d787243bda595ff70
      https://github.com/llvm/llvm-project/commit/d1c2d8650ab18c84459cbb6d787243bda595ff70
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/include/clang/Lex/TextEncoding.h
    M clang/lib/Lex/TextEncoding.cpp
    M llvm/include/llvm/Support/TextEncoding.h
    M llvm/lib/Support/TextEncoding.cpp

  Log Message:
  -----------
  Forward declare TextEncodingConverter in TextEncoding.h, move config.h into TextEncoding.cpp (#207382)

This patch forward declares TextEncodingConverter in
clang/include/clang/Lex/TextEncoding.h, and moves config.h into
llvm/lib/Support/TextEncoding.cpp instead of the header.


  Commit: 2a951083b1fd3e2d221613f3f94f68b05111fefb
      https://github.com/llvm/llvm-project/commit/2a951083b1fd3e2d221613f3f94f68b05111fefb
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
    M mlir/test/Dialect/SPIRV/Transforms/unify-aliased-resource.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Guard getSizeInBytes() optionals in UnifyAliasedResourcePass rewriters (#207325)


  Commit: fa0822a9dd7bc50ad61a0b19455ca1d26aafe3d5
      https://github.com/llvm/llvm-project/commit/fa0822a9dd7bc50ad61a0b19455ca1d26aafe3d5
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Fix null deref in SpecConstantOperationOp::verifyRegions (#207328)


  Commit: e788a46f7311e49d8275116c7a634a04a43a9cef
      https://github.com/llvm/llvm-project/commit/e788a46f7311e49d8275116c7a634a04a43a9cef
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add SPIRVToLLVM lowering for GL Radians and Degrees ops (#205967)


  Commit: 6bc513523c7069ee7449a0025b6d1d7f06a44d63
      https://github.com/llvm/llvm-project/commit/6bc513523c7069ee7449a0025b6d1d7f06a44d63
  Author: firmiana402 <firmiana402 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/X86/implicit-value-truncated-integer.ll

  Log Message:
  -----------
  [DebugInfo] Truncate implicit value constants to source type width (#206671)

This is a follow-up to #204353.

mikaelholmen and bevin-hansson reported that the previous change could
assert downstream when emitting `DW_OP_implicit_value` for a source
integer type wider than the target generic DWARF stack type, if the
debug-value carrier integer contains bits outside the declared source
type width.

The fix is to construct the source-width `APInt` with explicit
truncation enabled before emitting the implicit value bytes. This
preserves the intended wrap/truncate behavior and avoids asserting on
otherwise recoverable debug-value input.

A regression test is added for an `unsigned _BitInt(48)` debug value on
i386, covering both an out-of-range positive carrier value and an
all-ones negative carrier value.


  Commit: 433eef6dea23c18d52c51218bb9d7f9bfbf47ecf
      https://github.com/llvm/llvm-project/commit/433eef6dea23c18d52c51218bb9d7f9bfbf47ecf
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/asm.c
    M clang/test/CodeGen/asm_incbin.c
    M clang/test/CodeGen/cfi-salt.c
    M clang/test/CodeGen/kcfi.c
    M clang/test/CodeGenCUDA/filter-decl.cu
    M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
    M clang/test/CodeGenObjC/category-class.m
    M clang/test/CodeGenObjC/objc-runtime-name.m
    M clang/test/Frontend/ast-codegen.c
    M clang/test/Modules/codegen.test
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/IR/Module.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Transforms/IPO/ExtractGV.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Utils/SplitModule.cpp
    R llvm/test/Assembler/module-asm-invalid.ll
    M llvm/test/Bitcode/compatibility-3.6.ll
    M llvm/test/Bitcode/compatibility-3.7.ll
    M llvm/test/Bitcode/compatibility-3.8.ll
    M llvm/test/Bitcode/compatibility-3.9.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Bitcode/highLevelStructure.3.2.ll
    R llvm/test/Bitcode/module-asm.ll
    R llvm/test/CodeGen/RISCV/module-asm-features.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/prefix-rename.ll
    R llvm/test/LTO/RISCV/module-asm.ll
    M llvm/test/LTO/X86/inline-asm-lto-discard.ll
    R llvm/test/Linker/Inputs/module-asm.ll
    M llvm/test/Linker/link-arm-and-thumb-module-inline-asm.ll
    R llvm/test/Linker/module-asm.ll
    M llvm/test/ThinLTO/X86/import-symver.ll
    M llvm/test/Transforms/LowerTypeTests/export-symver.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/x86/module-asm.ll
    M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/module-asm.mlir

  Log Message:
  -----------
  Revert "[IR] Explicitly specify target feature for module asm" (#207399)

Reverts llvm/llvm-project#204548

This is causing the runtimes build to fail with e.g.:

```
<inline asm>:11:5: error: 32 bit reloc applied to a field with a different size
   11 | jmp __interceptor_strlen at plt
      |     ^
```

See comments on the PR.


  Commit: 4ba692f421e0679676057b8bf880ff9728c90dd0
      https://github.com/llvm/llvm-project/commit/4ba692f421e0679676057b8bf880ff9728c90dd0
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/include/clang/Lex/TextEncoding.h
    M clang/lib/Lex/TextEncoding.cpp

  Log Message:
  -----------
  Change ToLiteralEncodingConverter to a unique_ptr (#207258)

This patch changes ToLiteralEncodingConverter from a raw pointer to a unique_ptr


  Commit: 1ffae54e7ed2143cd14057406882ff8a073ef3fe
      https://github.com/llvm/llvm-project/commit/1ffae54e7ed2143cd14057406882ff8a073ef3fe
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll

  Log Message:
  -----------
  [CostModel][X86] Reduce cost of pre-SSE41 select shuffle (#207400)

The all-logic instructions have better throughput/latency than shuffles

Confirmed with uops.info, llvm-mca and agner


  Commit: 780298c4424514f0205df5e82c2a135717e6a723
      https://github.com/llvm/llvm-project/commit/780298c4424514f0205df5e82c2a135717e6a723
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/invalid-immarg5.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
    M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap-invalid.ll
    M llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-invalid.ll
    M llvm/test/CodeGen/NVPTX/tcgen05-mma-invalid.ll
    M llvm/test/CodeGen/NVPTX/tcgen05-mma-scale-d-invalid.ll
    M llvm/test/Verifier/AMDGPU/test-cvt-fp4f6f8-immarg-ranges.ll
    M llvm/test/Verifier/NVPTX/fence-proxy.tensormap.ll
    M llvm/test/Verifier/NVPTX/setmaxnreg.ll
    M llvm/test/Verifier/intrinsic-immarg.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [NFC][LLVM] Define range attribute for `llvm.prefetch` args (#207300)

Define valid range for `llvm.prefetch` immarg values and eliminate C++
verification code.

Additionally, change the range verification failure message to include
the argument number and simplify formatting using `formatv`.


  Commit: d2b5a1fabf98178713282658605f615ab14a5d68
      https://github.com/llvm/llvm-project/commit/d2b5a1fabf98178713282658605f615ab14a5d68
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix annotating paren after in (#206810)

The y.in(foo) was considered a cast, and thus the following - annotated
as unary operator.

Fixes #206339


  Commit: e6cef24f6c5cbae725eeba3c0fffcb15380f9d27
      https://github.com/llvm/llvm-project/commit/e6cef24f6c5cbae725eeba3c0fffcb15380f9d27
  Author: Gustas Janušonis <janusonis.gustas at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Format/NumericLiteralInfo.cpp
    M clang/unittests/Format/NumericLiteralInfoTest.cpp

  Log Message:
  -----------
  [clang-format] Fix crash on numeric literals with an incomplete exponent (#206594)

NumericLiteralInfo could read into tokens out of bounds due to the token
processing assuming well-formed numeric literals and incrementing
pointers to read past them. The fix properly bounds the searches to the
token size via std::min and accounts for the new trimmed string size.

Fixes #206593

Used Claude Code for help with identifying the source of the bug and
checking correctness with fuzzing, wrote the solution myself


  Commit: 77cc8841df4f1ced13ff16e7338b0f5625ad3850
      https://github.com/llvm/llvm-project/commit/77cc8841df4f1ced13ff16e7338b0f5625ad3850
  Author: Viktoria Maximova <viktoria.maksimova at intel.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_bfloat16_load_store_xchg.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_16bit_atomics/atomic_int16_load_store_xchg_cmpxchg.ll
    M llvm/test/CodeGen/SPIRV/transcoding/load-atomic.ll
    M llvm/test/CodeGen/SPIRV/transcoding/store-atomic.ll

  Log Message:
  -----------
  [SPIRV] Preserve FP types in atomic load/store instead of casting to integer (#194583)

The default
`TargetLowering::shouldCastAtomicLoadInIR`/`shouldCastAtomicStoreInIR`
cast all FP atomics to integer, producing unnecessary bitcasts in SPIR-V
output. Override both to return None, matching the existing
`shouldCastAtomicRMWIInIR` behavior and letting
`OpAtomicLoad`/`OpAtomicStore` operate on FP types directly.

Also updated 16-bit atomics tests from #184312 to use native load/store
atomic instructions now that the SPIRV backend supports them (landed in
#185696).

AI-assisted: Claude Sonnet 4.6 (commercial SaaS)


  Commit: e56187575b740a182288244a2304d4ae1592b3ff
      https://github.com/llvm/llvm-project/commit/e56187575b740a182288244a2304d4ae1592b3ff
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/unittests/ADT/ArrayRefTest.cpp

  Log Message:
  -----------
  [ArrayRef] Make iterator_range constructor const-agnostic (#205183)

Make the enable_if guard const-agnostic to help some use-cases.


  Commit: 0fd9b71a397c77bc6671df3b0fbeb41fa8c73fed
      https://github.com/llvm/llvm-project/commit/0fd9b71a397c77bc6671df3b0fbeb41fa8c73fed
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp

  Log Message:
  -----------
  [NFC][LLVM][Verifier] Use auto when assigning result of `dyn_cast` (#207343)


  Commit: 627b1645051f7b6b59aef446a43e59f6696e250f
      https://github.com/llvm/llvm-project/commit/627b1645051f7b6b59aef446a43e59f6696e250f
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll

  Log Message:
  -----------
  [AMDGPU] Remove obsolet __keep_alive declare in test (#207418)

__keep_alive doesn't exist anymore since
https://reviews.llvm.org/D151324


  Commit: 554e32395cd552dd36d3511d177f01735937d4f9
      https://github.com/llvm/llvm-project/commit/554e32395cd552dd36d3511d177f01735937d4f9
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h

  Log Message:
  -----------
  [compiler-rt][sanitizer_common] Remove internal linkage from RegisterFlag (NFC) (#206308)

RegisterFlag is a static function template in a header, so every TU that
includes it without calling it trips `-Wunused-template`. Dropping
static gives it normal external linkage and clears the warning.

NFC. Part of #202945.


  Commit: d24f20ab649a28dd48b09c0bebc1f255e7ebf909
      https://github.com/llvm/llvm-project/commit/d24f20ab649a28dd48b09c0bebc1f255e7ebf909
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
    M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.h

  Log Message:
  -----------
  [X86] Pool sparse disassembler opcode rows (#202666)

The XOP, 3DNow, and VEX/EVEX map 4-7 decoder tables contain 1,760
context rows but only 266 distinct values. Keep the four common opcode
maps as direct tables and intern rows only for these eight sparse maps.

This reduces fully stripped arm64 llvm-mc from 8,333,344 to 6,797,728
bytes, saving 1,535,616 bytes (18.43%). X86Disassembler.cpp.o decreases
by 1,525,328 bytes (52.36%); constant data falls by 1,526,328 bytes
while text grows by 848 bytes. The stripped all-tools multicall binary
decreases from 145,103,200 to 143,567,584 bytes, saving 1,535,616 bytes
(1.058%).

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: 11d2e989db34fb2a94ff6574f43d1fb3f9a84fa5
      https://github.com/llvm/llvm-project/commit/11d2e989db34fb2a94ff6574f43d1fb3f9a84fa5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/known-pow2.ll

  Log Message:
  -----------
  [X86] known-pow2.ll - regenerate checks to reduce diff in a future patch (#207425)


  Commit: 80f2ae4b5681f9324795691bcad0e81c06fba69b
      https://github.com/llvm/llvm-project/commit/80f2ae4b5681f9324795691bcad0e81c06fba69b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll

  Log Message:
  -----------
  [X86] zero_extend_vector_inreg.ll - regenerate checks to reduce diff in a future patch (#207424)


  Commit: 4f64218c2aee2d0a74838d4b5adf3bbb1fbffea5
      https://github.com/llvm/llvm-project/commit/4f64218c2aee2d0a74838d4b5adf3bbb1fbffea5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp

  Log Message:
  -----------
  [VPlan] Add m_VScale() pattern matcher. (NFC) (#207394)

Add a dedicated m_VScale() matcher for VPInstruction::VScale, in line
with other VPInstruction matchers.


  Commit: 14d98081a574c3c5f342e2d2e958a514369fa2f2
      https://github.com/llvm/llvm-project/commit/14d98081a574c3c5f342e2d2e958a514369fa2f2
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_checks.h

  Log Message:
  -----------
  [compiler-rt][hwasan] Remove internal linkage from check templates (NFC) (#207430)

`SigTrap`, `CheckAddress`, and `CheckAddressSized` are static function
templates in `hwasan_checks.h`, so any TU that includes the header
without instantiating them trips -Wunused-template. Dropping static
clears the warning.
Part of #202945


  Commit: 210834279ac6c3c47fdbe8dfe112c625f429e869
      https://github.com/llvm/llvm-project/commit/210834279ac6c3c47fdbe8dfe112c625f429e869
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/injected-class-name-crash.cpp

  Log Message:
  -----------
  [clang] fix redeclarations of the injected class name (#207301)

The declaration used to represent an injected class name should never be
part of any redeclaration chain.

Fixes #202320


  Commit: b6976d223eeb40091685e3b20e9c41f42f6bd6e0
      https://github.com/llvm/llvm-project/commit/b6976d223eeb40091685e3b20e9c41f42f6bd6e0
  Author: Neil Nair <neilnair4 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/support/CMakeLists.txt
    A clang-tools-extra/clang-doc/support/Markdown.cpp
    A clang-tools-extra/clang-doc/support/Markdown.h
    M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
    A clang-tools-extra/unittests/clang-doc/MarkdownParserTest.cpp

  Log Message:
  -----------
  [clang-doc] Add Markdown AST node type definitions (#205609)

Markdown AST node hierarchy for clang-doc/support. Separate Block and
Inline node hierarchies using llvm::ilist_node and llvm::simple_ilist.
Virtual print() in base classes with LLVM_DUMP_METHOD dump() inherited
by subclasses. clangDocMarkdown is its own CMake target. Unit tests
exercise node construction, accessors, and children. Assisted-by: Claude


  Commit: 297261502dcf30ad06f45edd4a250f4f3af27014
      https://github.com/llvm/llvm-project/commit/297261502dcf30ad06f45edd4a250f4f3af27014
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/fmaddsub-combine.ll

  Log Message:
  -----------
  [X86] fmaddsub-combine.ll - remove 128/256-bit buildvector tests (#207436)

These are covered by PhaseOrdering/X86/fmaddsub.ll which outputs the
vectorized shuffle patterns already tested for in fmaddsub-combine.ll
and fmsubadd-combine.ll

Minor cleanup for #144489


  Commit: 320a8a4db8720ac54ee37eedeb92dbe452a86dcb
      https://github.com/llvm/llvm-project/commit/320a8a4db8720ac54ee37eedeb92dbe452a86dcb
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/fptrunc.ll

  Log Message:
  -----------
  [InstCombine] Don't blindly copy ninf when narrowing fptrunc(binop(fpext, fpext)) (#202489)

The fold narrows fptrunc(BO(fpext x, fpext y)) -> BO(x, y) for
fadd/fsub/fmul/fdiv, recomputing the binop directly in the narrower
type.

Even if the original BO returns a finite result, the fptrunc may produce
inf. Therefore even if the original BO has ninf, we have to drop it on
the new BO unless the original fptrunc *also* has ninf.


  Commit: 63b19740e0bc4a145ed9b4dd4273123a0ed2247d
      https://github.com/llvm/llvm-project/commit/63b19740e0bc4a145ed9b4dd4273123a0ed2247d
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll

  Log Message:
  -----------
  [ValueTracking] Fix frexp exponent range for nan/inf inputs (#202447)

computeConstantRange() returns a bounded range for the exponent result of
llvm.frexp.

frexp's exponent is unspecified when the argument is nan or inf,
so we can assign such a range only if we know the argument is
not nan or inf.


  Commit: cbb277a718bd9a8ee28df177f42313cda00cb3f6
      https://github.com/llvm/llvm-project/commit/cbb277a718bd9a8ee28df177f42313cda00cb3f6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libcxxabi/src/private_typeinfo.cpp

  Log Message:
  -----------
  [libc++abi][NFC] Avoid out parameter in dyn_cast_get_derived_info (#207326)

Returning the object is much more idiomatic than having an out
parameter.


  Commit: 3f724494ef0f0bd7d6e74fee7c526567910e6f87
      https://github.com/llvm/llvm-project/commit/3f724494ef0f0bd7d6e74fee7c526567910e6f87
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Add VPBuilder::createVScale (NFC) (#207401)

Add a VPBuilder::createVScale helper (mirroring IRBuilder::CreateVScale)
and use it at the existing sites that create a VScale VPInstruction.


  Commit: 796dc153395846413591e6c35324f738d214e32f
      https://github.com/llvm/llvm-project/commit/796dc153395846413591e6c35324f738d214e32f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn] Fix mistake from 4df00678d86fe (#207451)


  Commit: 07ef930cd2aa519f78f2542122a7911a210f02a0
      https://github.com/llvm/llvm-project/commit/07ef930cd2aa519f78f2542122a7911a210f02a0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 24476abfac20 (#207452)


  Commit: e96a42daca51802041eb795aa7da95e273885c52
      https://github.com/llvm/llvm-project/commit/e96a42daca51802041eb795aa7da95e273885c52
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/spec.gen.py
    M libcxx/utils/run-spec-benchmark

  Log Message:
  -----------
  [libc++] Fix SPEC benchmarks not producing a .lnt result file (#207450)

The refactoring in 471e8f7f94e7 removed the output of a .lnt file, which
is necessary for interoperation with consolidate-benchmarks.


  Commit: fbbf5df32b42dc8fa5dd6ed03b28f366734c2778
      https://github.com/llvm/llvm-project/commit/fbbf5df32b42dc8fa5dd6ed03b28f366734c2778
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 282416b6d457 (#207453)


  Commit: 0576c32331eaf12d2cd4cfbed9baec01cb205091
      https://github.com/llvm/llvm-project/commit/0576c32331eaf12d2cd4cfbed9baec01cb205091
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port bd338806e423 (#207455)


  Commit: a6f54816073f0c275c8710a6281d156a94133322
      https://github.com/llvm/llvm-project/commit/a6f54816073f0c275c8710a6281d156a94133322
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b6976d223eeb (#207454)


  Commit: 296ab5b036138914851839bf9632ce82a12192d4
      https://github.com/llvm/llvm-project/commit/296ab5b036138914851839bf9632ce82a12192d4
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn

  Log Message:
  -----------
  [gn build] Port e69038f9c2b1 (#207457)


  Commit: 66ae5b8f699a31240a738311e4acc81ef3ce700b
      https://github.com/llvm/llvm-project/commit/66ae5b8f699a31240a738311e4acc81ef3ce700b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn

  Log Message:
  -----------
  [gn build] Port f1aeaa7bd552 (#207458)


  Commit: 0418a88ae67165a2f7af0e25ad34fdaa84df3b21
      https://github.com/llvm/llvm-project/commit/0418a88ae67165a2f7af0e25ad34fdaa84df3b21
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/zos_wrappers/grp.h
    A clang/lib/Headers/zos_wrappers/locale.h
    A clang/lib/Headers/zos_wrappers/math.h
    A clang/lib/Headers/zos_wrappers/poll.h
    A clang/lib/Headers/zos_wrappers/string.h
    A clang/lib/Headers/zos_wrappers/time.h
    A clang/lib/Headers/zos_wrappers/variant.h
    A clang/test/Headers/Inputs/zos/usr/include/grp.h
    A clang/test/Headers/Inputs/zos/usr/include/locale.h
    A clang/test/Headers/Inputs/zos/usr/include/math.h
    A clang/test/Headers/Inputs/zos/usr/include/poll.h
    A clang/test/Headers/Inputs/zos/usr/include/string.h
    A clang/test/Headers/Inputs/zos/usr/include/time.h
    A clang/test/Headers/Inputs/zos/usr/include/variant.h
    A clang/test/Headers/zos-guard.c

  Log Message:
  -----------
  [z/OS][Clang] Reland Add wrapper headers to avoid macro name conflicts (#204472) (#207420)

Some z/OS system headers define macros (e.g. __time, __math) that
conflict with user identifiers and break compilation. These wrappers
include the system headers and neutralize the problematic macros.

Reland of 04079deb547c91eff6c6e2b820dbe6937c72fcf5.
Add systemz-registered-target requirement to zos-guard.c.


  Commit: e0289ad97908460c5dadbc4aefb3ad22cd8ac054
      https://github.com/llvm/llvm-project/commit/e0289ad97908460c5dadbc4aefb3ad22cd8ac054
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    A llvm/test/CodeGen/RISCV/rvp-bitreverse-zbkb.ll

  Log Message:
  -----------
  [RISCV][P-ext] Use brev8 for bitreverse with Zbkb (#207338)

Resolves the FIXME.


  Commit: 4fd535388e1b52122259db6686bf7f5c2468edf0
      https://github.com/llvm/llvm-project/commit/4fd535388e1b52122259db6686bf7f5c2468edf0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0418a88ae671 (#207463)


  Commit: a9c5602da71ada68dfebd5bbe311f88baa8a72c5
      https://github.com/llvm/llvm-project/commit/a9c5602da71ada68dfebd5bbe311f88baa8a72c5
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    A llvm/test/CodeGen/PowerPC/abdu-neg.ll
    A llvm/test/CodeGen/PowerPC/abdu.ll
    M llvm/test/CodeGen/PowerPC/misched.ll

  Log Message:
  -----------
  [PowerPC] Custom Lower ABDU using branchless carry (#182704)

In normal abs, we already do this but with asr 31 instead of sbc, which
we can get directly from the subtraction.


  Commit: 37fa9c4b74e93ce3055804f51caa1ca2c11219c8
      https://github.com/llvm/llvm-project/commit/37fa9c4b74e93ce3055804f51caa1ca2c11219c8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-trip-count-decisions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/alias-mask-force-evl.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
    M llvm/test/Transforms/LoopVectorize/X86/clmul.ll
    M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/fpsat.ll
    M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/predicated-inductions.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
    M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/struct-return.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll

  Log Message:
  -----------
  [LAA] Use (Diff - 1) <u (Threshold - 1) for diff checks. (#188462)

Update diff checks to use (Diff - 1) <u (Threshold - 1), equivalent to 0
< Diff <u Threshold, to exclude Diff == 0, equal pointers are a safe
loop-independent dependence.

Alive2 proofs https://alive2.llvm.org/ce/z/_ss9QG
 * (Diff - 1) <u (Threshold - 1) => 0 < Diff <u Threshold
 * Old and new check are equivalent, if diff > 0: 

On some platforms, this adds an extra instruction to compute the diff
check, but allows to handle the case where both pointers are equal.

PR: https://github.com/llvm/llvm-project/pull/188462


  Commit: 5de2fb5112d03e319035e3c147e08c0db506cce8
      https://github.com/llvm/llvm-project/commit/5de2fb5112d03e319035e3c147e08c0db506cce8
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanCFG.h

  Log Message:
  -----------
  [VPlan] Simplify VPHierarchicalChildrenIterator::operator*. NFC (#207464)

This is like a pointer-valued iterator, whose constness should not
qualify the pointee ( `vector<T*>::const_iterator` yields `T*`, not
`const T*`), so collapse the two overloads into a single `BlockPtrTy
operator*() const`.


  Commit: 1381ef49fc5cc8c5bd76aa9b86fdf2507312d78d
      https://github.com/llvm/llvm-project/commit/1381ef49fc5cc8c5bd76aa9b86fdf2507312d78d
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ReleaseNotes.md
    M clang/docs/ReleaseNotesTemplate.txt
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Basic/LangStandards.def
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Testing/TestLanguage.def
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/unknown-std.cpp
    M clang/test/Preprocessor/init.c
    M clang/unittests/Basic/LangOptionsTest.cpp
    M clang/www/OpenProjects.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [Clang] Add flags and lang option for C++2d (#203992)

This adds diagnostic groups, command-line options, a language option,
and various other things required to support `-std=c++2d`. I haven’t
touched e.g. clang-tidy or clang-format, as I’m not really familiar w/
either. This is only meant to add the most necessary parts to support
C++29 mode.

I grepped for `CPlusPlus26`/`C++26`/`C++2c` and updated all places I
could find where we need to handle every language mode in some way or
another.

This patch is roughly based on b763d6a4ed4650c74c6846d743156468563b0e31.


  Commit: bf68b4165c419f1893d0668bb05630e33c2efe8c
      https://github.com/llvm/llvm-project/commit/bf68b4165c419f1893d0668bb05630e33c2efe8c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h

  Log Message:
  -----------
  [LV] Implement VPBuilder::createPtrAdd with createNoWrapPtrAdd (NFC) (#207467)

createPtrAdd is exactly createNoWrapPtrAdd with GEPNoWrapFlags::none().
Forward to it instead of duplicating the VPInstruction construction.


  Commit: 76357610925cbc76f3a084dea730f97db8fe7464
      https://github.com/llvm/llvm-project/commit/76357610925cbc76f3a084dea730f97db8fe7464
  Author: David Tenty <daltenty at ibm.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/Object/ObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  [llvm][object] handle GOFF in createObjectFile (#206636)

`ObjectFile::createObjectFile` doesn't handle GOFF and returns an error,
even though the requisite GOFF support is present (i.e.
`createGOFFObjectFile`). This change corrects this, and adds a simple
test for `createObjectFile` on a GOFF type object.


  Commit: 0f1f456263b5889935514ecf81440d0909d06dc7
      https://github.com/llvm/llvm-project/commit/0f1f456263b5889935514ecf81440d0909d06dc7
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-07-03 (Fri, 03 Jul 2026)

  Changed paths:
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/FileCheck/FileCheckImpl.h
    M llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
    M llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
    A llvm/test/FileCheck/unmatched-substs-captures.txt

  Log Message:
  -----------
  [FileCheck] Call out var captures on unmatched patterns (#206303)

This patch is motivated by an #llvm IRC chat in 2019 with @AaronBallman,
where he pointed out an example similar to following:

```
$ cat input
[[clang::optnone]] void foo() {

$ cat check
CHECK: [[clang::optnone]] void foo() {

$ FileCheck check < input |& tail -7
Input was:
<<<<<<
           1: [[clang::optnone]] void foo() {
check:1'0    {                                } search range (exclusive bounds)
check:1'1                                       error: no match found
check:1'2            ?                          possible intended match
>>>>>>
```

It is very easy to miss why that fails. This patch adds one more note
that hopefully clears up the confusion:

```
$ FileCheck check < input |& tail -8
Input was:
<<<<<<
           1: [[clang::optnone]] void foo() {
check:1'0    {                                } search range (exclusive bounds)
check:1'1                                       error: no match found
check:1'2                                       pattern attempts to capture variables: "clang"
check:1'3            ?                          possible intended match
>>>>>>
```

That is, where matching patterns print successful variable captures,
this patch makes unmatching patterns print attempted variable captures.


  Commit: 951a60861a9998c429f833364480265a0c5dd052
      https://github.com/llvm/llvm-project/commit/951a60861a9998c429f833364480265a0c5dd052
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Source.h
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode] Move the program counter into `InterpState` (#207393)

Instead of using a local variable for the PC, save it in `InterpState`.
Only comparatively few opcodes care about it, but with exceptions, all
calls ops can change the PC. Saving it in the `InterpState` makes it
easier to have opcode implementation jump around in bytecode.


  Commit: 5b53190d1209bca676ca60797a30bdd3593edbb1
      https://github.com/llvm/llvm-project/commit/5b53190d1209bca676ca60797a30bdd3593edbb1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp

  Log Message:
  -----------
  [clang][bytecode] Remove unused local variable (#207480)

It's unnecessary and broke a builder:
https://lab.llvm.org/buildbot/#/builders/228/builds/3735


  Commit: 238dbdce63b41b4da1f808b78e3d143f1635642b
      https://github.com/llvm/llvm-project/commit/238dbdce63b41b4da1f808b78e3d143f1635642b
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Bytecode/BytecodeImplementation.h
    M mlir/include/mlir/IR/BuiltinDialectBytecode.td
    M mlir/include/mlir/IR/BytecodeBase.td
    M mlir/lib/IR/BuiltinDialectBytecode.cpp
    M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
    M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp

  Log Message:
  -----------
  [mlirbc] Add IntegerSetAttr (#207482)

Serialize IntegerSetAttr using VarInt for numDims and numSymbols and
arrays for contraints and eqFlags. Add ArrayWithKnownSize` an Array
variant that omits the length prefix when the size is known from a
previously serialized member. This avoids encoding redundant array
lengths when, for example, two arrays are always the same size.

Assisted-By: Gemini


  Commit: db0f427a25a4caae97679a4a0caf05aed5dd47f5
      https://github.com/llvm/llvm-project/commit/db0f427a25a4caae97679a4a0caf05aed5dd47f5
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Remove unused checkValueConsistency template (NFC) (#207441)

checkValueConsistency is a static function template in nsan.cpp with no
callers, so it trips -Wunused-template. Remove the dead code.

Part of #202945


  Commit: 99c1a8c36e9f5d9d448c377edc0f10e6bea7e6e9
      https://github.com/llvm/llvm-project/commit/99c1a8c36e9f5d9d448c377edc0f10e6bea7e6e9
  Author: Daniel Cederman <cederman at gaisler.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/LeonPasses.cpp
    M llvm/lib/Target/Sparc/LeonPasses.h
    A llvm/test/CodeGen/SPARC/tn0010.ll
    M llvm/test/CodeGen/SPARC/tn0010.mir

  Log Message:
  -----------
  [Sparc] Handle two new cases in the GRLIB-TN-0010 workaround pass (#205780)

Handle the case of an empty block or an indirect branch.


  Commit: c874b1b4b2bd3cefb3479c9fc82af67883b20d28
      https://github.com/llvm/llvm-project/commit/c874b1b4b2bd3cefb3479c9fc82af67883b20d28
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinDialectBytecode.td
    M mlir/test/Dialect/Builtin/Bytecode/attrs.mlir
    M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed.mlir
    M mlir/test/Dialect/Builtin/Bytecode/builtin_fixed_0.mlirbc
    M mlir/test/Dialect/Builtin/Bytecode/types.mlir

  Log Message:
  -----------
  [mlirbc] Address remaining missing encodings for builtin dialect. (#207488)

Simple ones that got missed (graph & strided layout), and add some
additional tests. Also update the fixed test.

Assisted-By: Gemini


  Commit: b2755364764f0159a0e74a7111c3fc2140ec43ee
      https://github.com/llvm/llvm-project/commit/b2755364764f0159a0e74a7111c3fc2140ec43ee
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Remove LowerToHorizontalOp vectorization lowering code (#207406)

Thanks to improvements to SLP, InstCombine and VectorCombine - we should
no longer see any of the scalar code hadd/sub patterns in the backend.

This allows to remove the old
build_vector(x[0]+x[1],x[2]+x[3],y[0]+y[1],y[2]+y[3]) lowering entirely,
and just rely on the combineToHorizontalAddSub folds from
add(shuffle(x,y),shuffle(x,y)) patterns.

Fixes #143000


  Commit: 0649b2e7b39c7f0614b0a8862ec0097ea6f497d7
      https://github.com/llvm/llvm-project/commit/0649b2e7b39c7f0614b0a8862ec0097ea6f497d7
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp

  Log Message:
  -----------
  [clang-tidy] Fix FP in misc-const-correctness (#206515)

`ExprPointeeResolve` now resolves through the `int*` to `void*` bitcast
when the destination pointee is non-const

Fixes https://github.com/llvm/llvm-project/issues/206429.


  Commit: f78d4b083b462607b518db6fed5ac8204de95e13
      https://github.com/llvm/llvm-project/commit/f78d4b083b462607b518db6fed5ac8204de95e13
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Use findUserOf to improve addReductionResultComputation (NFC) (#207427)


  Commit: 38ecfd2c0d9acef2ea328fb88550a3846ac5c9fe
      https://github.com/llvm/llvm-project/commit/38ecfd2c0d9acef2ea328fb88550a3846ac5c9fe
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/TargetProperties.td
    A lldb/test/API/functionalities/fork/stop/Makefile
    A lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py
    A lldb/test/API/functionalities/fork/stop/main.c
    A lldb/test/Shell/Subprocess/stop-on-fork.test
    A lldb/test/Shell/Subprocess/stop-on-vfork.test

  Log Message:
  -----------
  [lldb] Add stop-on-fork and stop-on-vfork settings (#188710)

Added support for new `target.process.stop-on-fork` and
`target.process.stop-on-vfork` settings. GDB already has ability to set
[catchpoints](https://www.sourceware.org/gdb/current/onlinedocs/gdb.html/Set-Catchpoints.html)
on `fork` and `vfork`, so having this feature in LLDB might be useful
(e.g. use it to get pid of new process and attach to the new process
from different console).


  Commit: e173245deeaa234064c23f4185998f06f0778a86
      https://github.com/llvm/llvm-project/commit/e173245deeaa234064c23f4185998f06f0778a86
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll

  Log Message:
  -----------
  [LV] Add test with BuildVector select condition. (NFC) (#207506)

Add test case causing revert 638d71403 (revert of #206774).


  Commit: 645e02b88248103e8cce0c9ab605e6eaa70c0f07
      https://github.com/llvm/llvm-project/commit/645e02b88248103e8cce0c9ab605e6eaa70c0f07
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M lldb/test/API/functionalities/fork/stop/TestStopOnForkAndVFork.py

  Log Message:
  -----------
  [lldb] Disable TestStopOnForkAndVFork on remote targets (#207509)

Fix CI after merge of #188710


  Commit: bf09114d6164f522508ae80921a63c5a080c183d
      https://github.com/llvm/llvm-project/commit/bf09114d6164f522508ae80921a63c5a080c183d
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake

  Log Message:
  -----------
  [mlir][cmake][NFC] Remove duplicate `tablegen_compile_commands.yml` append (#207510)

The append-logic of the compile command is already performed by the
`tablegen` function, there is no need to replicate the logic twice.


  Commit: 72070deb4d811cce31154257a1acfca74d738130
      https://github.com/llvm/llvm-project/commit/72070deb4d811cce31154257a1acfca74d738130
  Author: janr-bay <jrehders at baylibre.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat] Extend fltSemantics with field for explicit integer bit (#204860)

This is one more step towards being able to make APFloat extensible with
custom formats in the future.

fltSemantics gained a new flag to indicate the presence of an explicit
integer bit as specified by the x86 double extended precision format.

The special case implementation for initFromF80LongDoubleAPInt has been
merged into initFromIEEEAPInt.

Also adding tests for x87DoubleExtended bit conversion.
initFromF80LongDoubleAPInt was called only twice during in all APFloat
unit tests together. Testing common cases, boundary conditions, and the
special cases documented in IEEEFloat::initFromF80LongDoubleAPInt.


  Commit: b3e8d7ebed1dc50bce3348d1508316cc6a493133
      https://github.com/llvm/llvm-project/commit/b3e8d7ebed1dc50bce3348d1508316cc6a493133
  Author: Kim Gräsman <kim.grasman at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/lib/Headers/avx512vp2intersectintrin.h

  Log Message:
  -----------
  [X86] Update #error to mention the right header name (#207507)

Practically every internal intrinsics header has a little public/private
check to force users to use public *intrin.h header names.

avx512vp2intersectintrin.h is the only one with a discrepancy between
the #error directive and the actual filename.

Fix them to agree. No functional change expected.


  Commit: 06554227c7005f90fee66925d9acbe249329b005
      https://github.com/llvm/llvm-project/commit/06554227c7005f90fee66925d9acbe249329b005
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll

  Log Message:
  -----------
  Reapply "[VPlan] Replace first-lane uses of BuildVector." (#206774) (#207512)

This reverts commit 638d71403a8598bb061b874ab39b8f9c6f0a97f0.

Recommit with fix for root cause of the revert:
VPWidenRecipe::onlyFirstLaneUsed was incorrectly assuming all operands
defined outside loop region are invariant, which is not true (e.g.
BuildVector). Test added in e173245deeaa2340.

Original message:
Replace uses of the first lane of a BuildVector with the first operand.


  Commit: 6ae9fe5e285847107ca47ace4368ca0cde894108
      https://github.com/llvm/llvm-project/commit/6ae9fe5e285847107ca47ace4368ca0cde894108
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/Parse/CMakeLists.txt
    M clang/include/clang/Sema/CMakeLists.txt
    M clang/include/clang/Serialization/CMakeLists.txt
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/Headers/CMakeLists.txt
    M llvm/include/llvm/TargetParser/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt

  Log Message:
  -----------
  [cmake][NFC] Use `EXTRA_INCLUDES` in `tablegen` commands (#207514)

Not only is it more declarative than using the `-I` directory, it
additionally adds the given directory to the
`tablegen_compile_commands.yml` which allows the LSP and IDE tooling to
also be aware of the extra include directories used to compile that
TableGen file


  Commit: b105f35c2d0befe65545092894a2a2d292192582
      https://github.com/llvm/llvm-project/commit/b105f35c2d0befe65545092894a2a2d292192582
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Interp.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Unify "this pointer" naming in interp::Function (#207410)


  Commit: 103f170a390e69a032fcb4333e6ed68e6112a3a5
      https://github.com/llvm/llvm-project/commit/103f170a390e69a032fcb4333e6ed68e6112a3a5
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    A llvm/test/tools/llvm-pdbutil/opt-docnum.test
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.h

  Log Message:
  -----------
  [llvm-pdbutil] Support `--docnum` for yaml2pdb (#207058)

I saw that yaml2obj has this option to select the nth yaml document.
This makes it easy to group multiple outputs together. For example a
COFF yaml + PDB yaml in one file.

As a semi-related change, I also declared the yaml2pdb options in
`llvm-pdbutil.h`. clang-tidy complains about them being only in the
source file (could be static in that case).


  Commit: 64f834271e07350a921f6abe925e5a11cd7da562
      https://github.com/llvm/llvm-project/commit/64f834271e07350a921f6abe925e5a11cd7da562
  Author: disservin <disservin.social at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp

  Log Message:
  -----------
  [clang] Remove always false comparisons (#207504)

```
llvm-project/clang/lib/Sema/SemaTemplateVariadic.cpp:1371:16: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
 1371 |     if (*Index < 0 || *Index >= ExpandedExprs.size()) {
      |         ~~~~~~~^~~

llvm-project/clang/lib/Sema/SemaType.cpp:10130:32: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
10130 |     if (FullySubstituted && (V < 0 || V >= Expansions.size())) {
```


https://github.com/llvm/llvm-project/commit/9b132a2ff80dac4bc8e78b242bebb97551c292c7
changed the types from int64_t to uint64_t so those comparisons are
always false now


  Commit: 4a2ad970c6fe783f026be47292be93b6cdfe7d9b
      https://github.com/llvm/llvm-project/commit/4a2ad970c6fe783f026be47292be93b6cdfe7d9b
  Author: satyanarayana reddy janga <satyajanga at gmail.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
    M lldb/unittests/Utility/ArchSpecTest.cpp

  Log Message:
  -----------
  [lldb] Add AMD GPU architectures to ArchSpec (#206369)

## Summary
Teach ArchSpec and ObjectFileELF about AMD (R600 and GCN/amdgcn) GPU
architectures so GPU ELF object files and triples resolve to a precise
architecture.

## Tests: 
unit-test the ELF-header -> architecture mapping in ArchSpecTest and an
end-to-end AMDGPU ELF in TestObjectFileELF.

The processor list, e_flags machine values, OSABI and ABI versions
follow llvm/include/llvm/BinaryFormat/ELF.h (AMDGPU_MACH_LIST) and the
AMDGPU code-object spec documented at
https://llvm.org/docs/AMDGPUUsage.html.


  Commit: e395479d5cf45246f8bd6636a72274df8f225be5
      https://github.com/llvm/llvm-project/commit/e395479d5cf45246f8bd6636a72274df8f225be5
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h

  Log Message:
  -----------
  [GenericDomTreeConstruction] Speed up Semi-NCA construction (#207474)

Run the immediate-dominator step in DFS-number space instead of chasing
NodePtr IDom through getNodeInfo()/getNumber(), and drop the redundant
NumToInfo[Semi]->DFSNum lookup. Use an inline capacity 32 (sqlite3's p90
is ~29 blocks), with no measurable gain from a larger inline buffer.
NumToInfo and IDoms are filled with resize_for_overwrite: index 0 is an
unused sentinel (DFS numbering is 1-based) and every other slot is
written before it is read, so the value-init and push_back bookkeeping
are dead.

Make getChildren return a lazy filtered range and iterate it directly in
runDFS's common case, instead of materializing a SmallVector per node
just to push its successors onto the worklist.

clang::CFGBlock::AdjacentBlock still needs special handling: it is a
proxy convertible to CFGBlock* that can be null for unreachable edges
(also see commit 7ea0ee30588e), and it is not easy to migrate off.


  Commit: 580fac02f4ca7be5a04062c19044d261152c42fd
      https://github.com/llvm/llvm-project/commit/580fac02f4ca7be5a04062c19044d261152c42fd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll

  Log Message:
  -----------
  [SLP][NFC]Remove undefs, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207518


  Commit: 1ceada6b6466d09c73c367ea8c664df47570efb8
      https://github.com/llvm/llvm-project/commit/1ceada6b6466d09c73c367ea8c664df47570efb8
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/docs/PDB/CodeViewSymbols.rst

  Log Message:
  -----------
  [Docs][CodeView] Document `S_LOCAL` and `S_DEFRANGE*` (#190156)

As suggested in
https://github.com/llvm/llvm-project/pull/187709#issuecomment-4120922355,
this adds documentation for both `S_LOCAL` and the known `S_DEFRANGE*`
records.

In all descriptions, I put struct definition with comments, because it
describes both the layout and the function of each member. Some comments
are from the original PDB repo
(https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/include/cvinfo.h#L4209-L4291).

Many structs in LLVM itself don't have these comments. I think we should
also add them there.


  Commit: 33be7999a363dd6a870baaebf5cd871309b668b0
      https://github.com/llvm/llvm-project/commit/33be7999a363dd6a870baaebf5cd871309b668b0
  Author: 8051Enthusiast <8051Enthusiast at protonmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/DemandedBits.cpp
    M llvm/test/Analysis/DemandedBits/intrinsics.ll

  Log Message:
  -----------
  [DemandedBits] Track demanded bits for clmul instrinsics (#202415)

Similar to regular multiplication, carryless multiplication does not
depend on bits in positions higher than the output bits.


  Commit: 143e5bf1935cc5a5f94f27ea2a17969100a5ca5b
      https://github.com/llvm/llvm-project/commit/143e5bf1935cc5a5f94f27ea2a17969100a5ca5b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Remove redundant VPIRValue cast in ::computeCost (NFC) (#207525)

We can directly cast o VPConstantInt.


  Commit: 5b23e226ed8a38b725253748e623ad9bf27ac4a4
      https://github.com/llvm/llvm-project/commit/5b23e226ed8a38b725253748e623ad9bf27ac4a4
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
    M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp

  Log Message:
  -----------
  [LifetimeSafety][NFC] Support printing propagated loans in Fact::dump (#207526)

This patch updates Fact::dump to accept an optional
LoanPropagationAnalysis parameter.
If provided, OriginFlowFact::dump will query it to print the loans held
by the destination origin.

This enables richer debug output for LifetimeFacts.


  Commit: 7a3767e361cc0d6acc8e1568727a54d9b0d0b525
      https://github.com/llvm/llvm-project/commit/7a3767e361cc0d6acc8e1568727a54d9b0d0b525
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/utils/TableGen/ClangOpcodesEmitter.cpp

  Log Message:
  -----------
  [clang][bytecode] Only pass OpPC if needed (#207479)

Quite a few opcode implementations don't ever report a diagnostic, so
they don't need the `OpPC` at all. Add a tablegen bit to disable passing
`OpPC` altogether.


  Commit: fa7d2a86bfb22f8ff5961ab1b1bcda42c5da49ff
      https://github.com/llvm/llvm-project/commit/fa7d2a86bfb22f8ff5961ab1b1bcda42c5da49ff
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/ProfileData/SampleProfWriter.h
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/ProfileData/SampleProfWriter.cpp

  Log Message:
  -----------
  [ProfileData] Fix formatting (#207442)

I've been working in this area, and I keep running into some of the
formatting issues fixed in this patch.


  Commit: 725051d69b733910226687a99dacc6ffc8805aab
      https://github.com/llvm/llvm-project/commit/725051d69b733910226687a99dacc6ffc8805aab
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M clang-tools-extra/test/clang-doc/html/long-name.cpp

  Log Message:
  -----------
  Mark test introduced in #205586 as unsupported on Windows because it creates paths that are too long (#207476)


  Commit: 3eb53013dca38fc0fa0c0e11de9fef1a7a14b9c7
      https://github.com/llvm/llvm-project/commit/3eb53013dca38fc0fa0c0e11de9fef1a7a14b9c7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Make VPRegionValue a subclass of VPSymbolicValue. (NFC) (#196753)

Turn VPRegionValue into a subclass of VPSymbolicValue, ensuring we also
guard against premature RAUW of region values.

Split off from approved https://github.com/llvm/llvm-project/pull/196199

PR: https://github.com/llvm/llvm-project/pull/196753


  Commit: 2925ca216d5a3d87697484a085dd63d6bfd3a655
      https://github.com/llvm/llvm-project/commit/2925ca216d5a3d87697484a085dd63d6bfd3a655
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/AssumptionCache.cpp
    M llvm/test/Analysis/AssumptionCache/basic.ll
    M llvm/test/Transforms/InstCombine/assume-cache-update.ll

  Log Message:
  -----------
  [AssumptionCache] Properly print assume operand bundles. (#207501)

Update AssumptionCache printing to print operand bundles, instead of
just printing true which does not provide any useful information.


  Commit: eaa33893a5d45031f2f5f180b897aeaaa25aab42
      https://github.com/llvm/llvm-project/commit/eaa33893a5d45031f2f5f180b897aeaaa25aab42
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll

  Log Message:
  -----------
  [VPlan] Add additional memory decision tests. (NFC) (#207537)

Add extra tests showing additional cases where no VPlan-based decisions
are made yet.


  Commit: c98a157d7d76f982d3e1a12db23b47196ac358d4
      https://github.com/llvm/llvm-project/commit/c98a157d7d76f982d3e1a12db23b47196ac358d4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll

  Log Message:
  -----------
  [SLP][NFC]Update test to avoid instructions folding, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207544


  Commit: 7f449d38cd9d203af2be106210f3ef9c30597ebe
      https://github.com/llvm/llvm-project/commit/7f449d38cd9d203af2be106210f3ef9c30597ebe
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-04 (Sat, 04 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/resched.ll

  Log Message:
  -----------
  [SLP][NFC]Remove undef from the test, cleanup, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/207545


  Commit: f33eb913f97734b97318a680f69d41d814201523
      https://github.com/llvm/llvm-project/commit/f33eb913f97734b97318a680f69d41d814201523
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Remove direct access to FeatureKV (#206231)

This is preparatory work for changing the representation of
FeatureKV/SubTypeKV, in which they will no longer be that easily
accessible as global variables. Therefore, get them from the subtarget
instead.


  Commit: 6b3433ae19000d0900126678388e30fe5b4eb721
      https://github.com/llvm/llvm-project/commit/6b3433ae19000d0900126678388e30fe5b4eb721
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCInstrInfo.h
    M llvm/lib/MC/MCInstrInfo.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [MC][NFC] Generate ComplexDeprecationInfos as function (#207496)

The only user of ComplexDeprecationInfos is ARM, where 19 instructions
are deprecated. Instead of emitting a ~36kiB function pointer table,
emit a single 201B (x86-64) function switching over the opcodes.


  Commit: 3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465
      https://github.com/llvm/llvm-project/commit/3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
    M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
    M llvm/include/llvm/Support/FormatAdapters.h
    M llvm/include/llvm/Support/FormatCommon.h
    M llvm/include/llvm/Support/FormatProviders.h
    M llvm/include/llvm/Support/FormatVariadic.h
    M llvm/include/llvm/Support/FormatVariadicDetails.h
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/tools/llvm-xray/xray-stacks.cpp
    M llvm/unittests/ADT/TwineTest.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp
    M mlir/include/mlir/TableGen/Format.h
    M mlir/lib/TableGen/Format.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  [Support] Remove virtual functions from formatv (#207516)

Currently, formatv erases types using a base class and calls the virtual
function format() to format the objects. To avoid these vtables,
refactor formatv to instead store function_refs to a functor (struct
with overloaded operator()). This saves ~5kiB in vtables.

Additionally, add a static assertion that a formatter is present instead
of relying on errors due to missing templates. This requires a little
change to MLIR's tgfmt to use a different name -- previously, the
substitution failure on ArrayRef<> would cause the variadic function to
be skipped, but a static assertion failure is not a substitution error.

Also, simplify the code in FormatVariadicDetails to use if constexpr
instead of template overloads with enable_if, making the code shorter
and easier to read.


  Commit: 5ec0eee3a67ec0f8aebccc6864c574ce73e2f937
      https://github.com/llvm/llvm-project/commit/5ec0eee3a67ec0f8aebccc6864c574ce73e2f937
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libc/src/__support/frac128.h

  Log Message:
  -----------
  [libc] Fix buildbot failure for bigint (#207534)

Fixes the buildbot failure in
https://github.com/llvm/llvm-project/pull/206277 by adding the missing
initialization


  Commit: 55669ac2f7df5e54561a3c36df6322a6318cb575
      https://github.com/llvm/llvm-project/commit/55669ac2f7df5e54561a3c36df6322a6318cb575
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h

  Log Message:
  -----------
  [Support][NFC] Use single predecessor array in DomTreeConstr (#207535)

Storing many small vectors of predecessors is bad for performance, as
each of these has to be non-trivially initialized when growing the
NodeInfos vector. Therefore, store all predecessors in a separate
vector, in which predecessors form a linked list.


  Commit: 5d13ff1e940b93d820928d078f994a3c376f54e6
      https://github.com/llvm/llvm-project/commit/5d13ff1e940b93d820928d078f994a3c376f54e6
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/test/TableGen/MacroFusion.td
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [MC] Generate FeatureKV with compact string table (#206331)

FeatureKV is responsible for a fair amount of .data.rel.ro size and
relocations; in an all-target build, this amounts to ~139 kiB that need
to be touched on every startup. Therefore, store strings adjacent to the
SubtargetFeatureKV in memory and reference the strings via relative
offsets to avoid dynamic relocations.


  Commit: b0a64cf46adcb6da2cef28bac25f910077277923
      https://github.com/llvm/llvm-project/commit/b0a64cf46adcb6da2cef28bac25f910077277923
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp

  Log Message:
  -----------
  [libc++] Mark LWG3454 as resolved (#207487)

Closes https://github.com/llvm/llvm-project/issues/171307.

LWG3454 has been implemented in
https://github.com/llvm/llvm-project/commit/98d3d5b5da66e3cf7807c23a0294280bb796466b.


  Commit: c4714e43dc36f4bcf047e0f4bb1f8757fe72e422
      https://github.com/llvm/llvm-project/commit/c4714e43dc36f4bcf047e0f4bb1f8757fe72e422
  Author: Sergey Subbotin <ssubbotin at gmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format] Fix BlockIndent compat mapping of AlignAfterOpenBracket (#207187)

be11e2b3d25 (#192283) replaced the `[[fallthrough]]` chain in the
`AlignAfterOpenBracket` backward-compatibility switch with explicit
per-case assignments. In the `BAS_BlockIndent` case the
`BreakBeforeCloseBracket{BracedList,Function,If} = true` assignments are
immediately overwritten with `false`, and
`BreakAfterOpenBracket{BracedList,Function,If}` (previously inherited
from the `BAS_AlwaysBreak` case via fallthrough) are never set. As a
result, `AlignAfterOpenBracket: BlockIndent` parses to the same flag set
as `Align`, silently dropping the block-indent style for existing
configurations.

Restore the pre-#192283 mapping and pin the full BlockIndent flag
mapping in ConfigParseTest so the compat shim cannot regress silently
again.

Fixes #207186.

Note for the release branch: if #205920 (backport of #192283 to
release/22.x) lands, this fix needs to be backported together with it.


  Commit: 758f0394c0158d7b4db7b7f1d5cd8174ab9812b7
      https://github.com/llvm/llvm-project/commit/758f0394c0158d7b4db7b7f1d5cd8174ab9812b7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [VPlan] Move consecutive vector pointer construction to VPBuilder (NFC). (#207563)

Introduce VPBuilder::createConsecutiveVectorPointer to create vector
pointers for consecutive accesses. This enables re-use in follow-up
changes.


  Commit: 37f7fc7c05865e1c8ebcda915d379963b48c3e69
      https://github.com/llvm/llvm-project/commit/37f7fc7c05865e1c8ebcda915d379963b48c3e69
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M clang/test/Driver/riscv-profiles.c
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/MC/RISCV/invalid-attribute.s
    A llvm/test/MC/RISCV/rvy-build-attributes.s
    A llvm/test/MC/RISCV/rvy-invalid-attributes.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISC-V][RVY] Initial ISAInfo support for RVY

RVY is a new base ISA, so the syntax to enable it is rv32y/rv64y.
Since the compressed instructions reuse the space for Zcf (RV32) and
Zcd (RV64), those are marked as incompatible and the logic for C/Zce
is updated as part of this PR.
RVY can also extend RVE instead of RVY (as is done for CHERIoT), but the
official arch string syntax for that has not been finalized yet.
Related discussion on that includes the "long base name" proposal:
https://lists.riscv.org/g/tech-unprivileged/message/1134

Reviewers: topperc, lenary, jrtc27

Pull Request: https://github.com/llvm/llvm-project/pull/201931


  Commit: a8b40e80344d09b9a1b2b14bde934494409db9df
      https://github.com/llvm/llvm-project/commit/a8b40e80344d09b9a1b2b14bde934494409db9df
  Author: Zhige Chen <zhige_chen at outlook.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    A llvm/test/tools/llubi/intr_experimental_vector.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Implement experimental vector intrinsics (#206899)

This PR implements experimental vector intrinsics.


  Commit: f26f3e659f4a4292f8cf311f351bcc231dc59c71
      https://github.com/llvm/llvm-project/commit/f26f3e659f4a4292f8cf311f351bcc231dc59c71
  Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    A clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
    M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c

  Log Message:
  -----------
  [clang][CIR] Add lowering for Neon rounding builtins (#195021)

This PR adds CIR lowering for AArch64 NEON rounding builtins:

- vrnd (trunc), vrnda (round), vrndi (nearbyint), vrndm (floor),
  vrndn (roundeven), vrndp (ceil), vrndx (rint)
- vrnd32x, vrnd32z, vrnd64x, vrnd64z (v8.5-a FRINT variants)

The standard rounding builtins lower to the corresponding CIR ops
(cir.trunc, cir.round, etc.). The vrndi_v/vrndiq_v cases are handled
in the common NEON switch since they enter via AArch64SIMDIntrinsicMap
(NEONMAP0). The vrnd32/64 builtins use NEONMAP1 entries with their
aarch64.neon.frint* intrinsic names.

The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp.

Prior to this patch, the original neon-intrinsics.c had zero f32
standard rounding tests :
I had added 15 test cases to cover f32 standard rounding tests
(vrnd_f32, vrnda_f32, etc.) in
clang/test/CodeGen/AArch64/neon/intrinsics.c

For this reasons, 30 num-of-new-tests > 15 num-of-deleted-tests.

Part of https://github.com/llvm/llvm-project/issues/185382.


  Commit: 4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
      https://github.com/llvm/llvm-project/commit/4fb7bf3323ea54d929f3846e6cd28d9dda1b891c
  Author: Yuan Suo <suoyuan666 at s5n.xyz>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [LifetimeSafety] Add multi-block support to buildOriginFlowChain (#204592)

After introducing `buildOriginFlowChain` to use-after-scope diagnostics,
it should support multi-block analysis. This also allows it to be reused
by other diagnostics.

In some loops, `UseFact` may appear before `OriginFlowFact`:

```cpp
void for_loop_use_before_loop_body(MyObj safe) {
  MyObj* p = &safe;
  for (int i = 0; i < 1; ++i) {
    (void)*p;
    MyObj s;
    p = &s;
  }
  (void)*p;
}
```

So I no longer use `StartPoint` as the initial search starting point; it
is only used to locate the corresponding block.

---------

Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>


  Commit: f2342e84e66c015a43437620f825fe884c8bdd4e
      https://github.com/llvm/llvm-project/commit/f2342e84e66c015a43437620f825fe884c8bdd4e
  Author: Koakuma <koachan at protonmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/test/CodeGen/SPARC/bswap.ll

  Log Message:
  -----------
  [SPARC] Don't combine misaligned memory ops with BSWAP (#206345)

Doing it will result in a misaligned LD*A/ST*A instruction, which will
raise a bus error.

This should fix the failure in `clamscan` test.


  Commit: d832bfe3c99ac8251258b5a965d4418db503e38c
      https://github.com/llvm/llvm-project/commit/d832bfe3c99ac8251258b5a965d4418db503e38c
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv

  Log Message:
  -----------
  [libc++] Mark LWG4098 as resolved (#206295)

Already implemented and tested in the scope of the full implementation
for `adjacent_view` (1e15dbe311eb08462e7a68fcb8b5850632e24aff).

Closes #105353


  Commit: 9a858b68628a37a36d82b076425c1e5ce902cb6f
      https://github.com/llvm/llvm-project/commit/9a858b68628a37a36d82b076425c1e5ce902cb6f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp

  Log Message:
  -----------
  [DirectX] Fix format override in DXILPrettyPrinter.cpp (#207588)


  Commit: ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
      https://github.com/llvm/llvm-project/commit/ecbadb43064ad4f9dbc5bf8c1e232ce3582779f7
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/subtraction.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream narrowing-subtraction NEON builtins (#207115)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for
- narrowing-subtraction intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#narrowing-subtraction)

Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/subtraction.c`


  Commit: 67d9abb916acc2b501ae08297de95c22e99d7218
      https://github.com/llvm/llvm-project/commit/67d9abb916acc2b501ae08297de95c22e99d7218
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h

  Log Message:
  -----------
  [GenericDomTreeConstruction] Use 0-based DFS numbering (#207524)

Number DFS-visited nodes from 0 and drop the unused index-0 sentinel
from NumToNode/NumToInfo/IDoms.

`Unvisited = 0` marks unvisited nodes by DFS. 0 is now the DFS root, or
the virtual root for postdominators.

Decrease the inline capacity for NumToNode/NodeInfos, which doesn't seem
to matter. sqlite3's p90 block count is 29.


  Commit: 2ac46a3b86ba92408f6503986f518da6cbd1d224
      https://github.com/llvm/llvm-project/commit/2ac46a3b86ba92408f6503986f518da6cbd1d224
  Author: David Green <david.green at arm.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll

  Log Message:
  -----------
  [AArch64] Update some arith and mul tests. NFC (#207589)


  Commit: bfca639ab943b4b2e16178797ebb01c84675ee65
      https://github.com/llvm/llvm-project/commit/bfca639ab943b4b2e16178797ebb01c84675ee65
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
    M llvm/lib/MC/MCSubtargetInfo.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/CodeGen/MachineOperandTest.cpp
    M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [CodeGen][NFC] Store CPU model index in SubTypeKV (#207351)

Instead of storing the pointer to the CPU model, store all CPU models in
an array and store the index. This is preliminary work for moving
SubTypeKV to .rodata.

NB: the scheduling models also take a fair amount of space in
.data.rel.ro, with SchedModels ~13kiB, ModelProcResources ~57kiB.


  Commit: 9cd1001509c89f468ab262194a77f5e191ca9040
      https://github.com/llvm/llvm-project/commit/9cd1001509c89f468ab262194a77f5e191ca9040
  Author: Osman Yasar <osmanyas05 at gmail.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir

  Log Message:
  -----------
  [GlobalISel] Add or_and_and pattern from SelectionDAG (#204618)

This PR adds the `fold or (xor x, y), (x and/or y) --> or x, y` pattern
from SelectionDAG to GlobalISel.


  Commit: 5bc19784053eb8904dbe81215301de16ed54f499
      https://github.com/llvm/llvm-project/commit/5bc19784053eb8904dbe81215301de16ed54f499
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
    M llvm/lib/MC/MCSubtargetInfo.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/CodeGen/MachineOperandTest.cpp
    M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [MC][NFC] Store SubTypeKV names as string table (#207580)

This moves the large SubTypeKV arrays to .rodata, as they no longer
contain the key pointers that need to be relocated.

Additionally, remove the largely redundant CPUNames arrays and integrate
the AArch64 aliases into the sorted string table. There was really no
need to introduce these 17 kiB arrays solely for including AArch64
aliases in help output.... (added in b6c22a4)


  Commit: e3c881815ea25acdf9a5f485b23a60c2eae8481c
      https://github.com/llvm/llvm-project/commit/e3c881815ea25acdf9a5f485b23a60c2eae8481c
  Author: Igor Shevlyakov <igor at tachyum.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/add4.ll

  Log Message:
  -----------
  [InstCombine] Fold commuted add of udiv/urem by two (#206272) (#207462)

Fixes #206272.

`SimplifyAddWithRemainder` folds `(X / C0) * C1 + (X % C0) * C2`,
treating `and X, lowmask` as a remainder and `lshr X, N` as a division.
The commuted form `add (and X, C), (lshr X, N)` was missed because the
operand-order swap only recognized a real `urem`/`srem`.

Now the fold is tried with both operand orders instead of relying on
that swap. Verified with Alive2.

Supersedes #207249 (re-opened from the correct account; already
incorporates the both-operand-orders refactor suggested there by
nikic).

Prepared with AI assistance per the [LLVM AI Tool
Policy](https://llvm.org/docs/AIToolPolicy.html); not a "good first
issue".

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: d8b223292490e9abdbce87278044de406e0242f3
      https://github.com/llvm/llvm-project/commit/d8b223292490e9abdbce87278044de406e0242f3
  Author: Sungbin Jo <goranmoomin at daum.net>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    A llvm/test/Transforms/InstCombine/fptoui-of-fdiv.ll

  Log Message:
  -----------
  [InstCombine] Fold fpto{u,s}i of int-cast fdiv into {u,s}div (#205853)

Fixes #205305.

Adds an InstCombine fold for the pattern `fpto{u,s}i (fdiv ({u,s}itofp
X), C)` to `{u,s}div X, C`.

Safe when
- Unsigned: C > 0 and the integer width N <= the FP mantissa width p.
- Signed:  C != 0 and N - 1 <= p, excluding (X == INT_MIN, C == -1). 

See linked issue for detailed reasoning.


  Commit: 4a02e116e58d162335cf18b4f1f28c7d34d6d3ac
      https://github.com/llvm/llvm-project/commit/4a02e116e58d162335cf18b4f1f28c7d34d6d3ac
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libcxxabi/test/thread_local_destruction_order.pass.cpp

  Log Message:
  -----------
  [libcxxabi] Re-enable `thread_local_destruction_order.pass.cpp‎` on FreeBSD (#186129)

The underlying bug has been fixed in https://reviews.freebsd.org/D55826.


  Commit: a68147f0f05652d50937ab178f7ac21069562028
      https://github.com/llvm/llvm-project/commit/a68147f0f05652d50937ab178f7ac21069562028
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/include/__thread/formatter.h
    M libcxx/include/__thread/thread.h
    M libcxx/include/future
    M libcxx/include/module.modulemap.in
    M libcxx/include/thread
    A libcxx/test/libcxx/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp
    R libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp

  Log Message:
  -----------
  [libc++] Use std::to_chars to format thread::id and canonicalize the representation across platforms (#181624)

This makes printing `thread::id` faster, since we avoid a bunch of
boilerplate code that isn't optimized away. It also avoids including
`<sstream>` and `<__locale>`, cutting the time to parse `<thread>` in
half.

This also changes the output when printing the id on a platform that
uses a pointer as the underlying type. I don't think that's a problem,
since the thread id isn't in any way stable. It also makes the output
consistent across all platforms we support.


  Commit: 925f4f27b724446572c644a23d20a8a8ecd5dd90
      https://github.com/llvm/llvm-project/commit/925f4f27b724446572c644a23d20a8a8ecd5dd90
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/test/benchmarks/random.bench.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
    M libcxx/utils/libcxx/test/features/libcxx_macros.py

  Log Message:
  -----------
  [libc++] Add an ABI flag to optimize mersenne_twister_engine (#206423)

Instead of updating the status array every time `operator()` is called,
we can instead update it once every time the entire array has been read.
That allows the compiler to vectorize the updating code, improving
performance.

Apple M4:
```
Benchmark                                     old      new    Difference    % Difference
----------------------------------------  -------  -------  ------------  --------------
std::mt19937::operator()                     1.39     0.65         -0.74         -53.26%
std::mt19937::operator()_(into_array)      172.92    80.69        -92.23         -53.34%
std::mt19937_64::operator()                  1.46     0.99         -0.47         -31.99%
std::mt19937_64::operator()_(into_array)   187.31   108.10        -79.21         -42.29%
```

Fixes #197221


  Commit: 076af822d2bfba95e5d62e15d0f11216956b1cb4
      https://github.com/llvm/llvm-project/commit/076af822d2bfba95e5d62e15d0f11216956b1cb4
  Author: David Green <david.green at arm.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/docs/GlobalISel/Legalizer.rst
    R llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
    R llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
    M llvm/lib/Target/BPF/GISel/BPFLegalizerInfo.cpp
    M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp
    M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
    M llvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
    M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [GlobalISel] Remove LegacyLegalizerInfo (#197308)

After #197238, #197370, #197371, #197374, #197375, #197377, #197378 and
#197379, this removes the legacy rules from global isel.

The above patches attempt to make all _tested_ operations legal, but
have only gone through the operations that have llvm tests. If more
fallbacks are now found to be happening, the other operations from
#197238 might be needed.


  Commit: 3be67c72f5d5b9f459c0b11fce2c92c2cac5a984
      https://github.com/llvm/llvm-project/commit/3be67c72f5d5b9f459c0b11fce2c92c2cac5a984
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M lld/ELF/Arch/SPARCV9.cpp

  Log Message:
  -----------
  [ELF] Add target-specific relocation scanning for SPARCV9 (#206284)

Implement SPARCV9::scanSectionImpl, following the pattern established
for x86 and other targets. This merges the getRelExpr and TLS handling
for SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.

- Inline relocation classification into scanSectionImpl with a switch
  on relocation type, replacing the generic rs.scan() path.
- Use processR_PC for PC-relative relocations and processR_PLT_PC for
  PLT relocations.
- Handle TLS LE relocations directly with checkTlsLe.
- Simplify getRelExpr to only handle relocations needed by
  relocateNonAlloc and preprocessRelocs.


  Commit: 051bcefe0efe0d157e6dc72e89c38b7840e9836a
      https://github.com/llvm/llvm-project/commit/051bcefe0efe0d157e6dc72e89c38b7840e9836a
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h

  Log Message:
  -----------
  [GenericDomTreeConstruction] Store the semidominator value in Label (#207603)

runSemiNCA's eval() stores the vertex with the minimal semidominator in
Label and dereferences NumToInfo[Label]->Semi to compare it. Store the
semidominator (Semi) value directly in Label instead, so eval compares
by number with no NumToInfo lookup.


  Commit: ecdd6403fd213f90243a3d354d4db3483b89471f
      https://github.com/llvm/llvm-project/commit/ecdd6403fd213f90243a3d354d4db3483b89471f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericLoopInfoImpl.h

  Log Message:
  -----------
  [LoopInfo] Avoid a throwaway vector in getLoopsInPreorder. NFC (#207607)

We can append each root and walk its inner loops directly into the
result.


  Commit: f1d1746c4df9401667574c14a66cdfcb428b2cb6
      https://github.com/llvm/llvm-project/commit/f1d1746c4df9401667574c14a66cdfcb428b2cb6
  Author: David Green <david.green at arm.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.cpp

  Log Message:
  -----------
  [M68K][GlobalISel] Remove dependency on legal ruleset (#207614)

This fills in always legal rules, to remove the dependency on the legacy
ruleset. This is not guaranteed to be all the rules, just the ones that
appear
in tests.

See #197308


  Commit: bb639a128559172e8b3067ea267b8f37895ae1f8
      https://github.com/llvm/llvm-project/commit/bb639a128559172e8b3067ea267b8f37895ae1f8
  Author: xys-syx <xuyuansui at outlook.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/nvvmir.ll

  Log Message:
  -----------
  [MLIR][NVVM]Import llvm intrinsics for nvvm.barrier (#202862)

This PR adds LLVM IR import support for the `bar.sync` intrinsic family,
lifting the four variants into `nvvm.barrier` with the appropriate
`aligned` attribute and optional thread-count operand.

`LLVM_IntrOpBase` and its auto-generated import is one to one, but four
`bar.sync` variants are many-to-one, where they all lift into
`nvvm.barrier`, differing only in `aligned` and the optional
`numberOfThreads` operand.

An alternative implementation would extend mlir-tblgen with many-to-one
intrinsic-to-op mapping support so the conversion could live in
`NVVMOps.td`. But the change is bigger than manually import `bar.sync`
intrinsic family.


  Commit: 434e4e15f6a3217b4bbb8dafe68084222067e9ce
      https://github.com/llvm/llvm-project/commit/434e4e15f6a3217b4bbb8dafe68084222067e9ce
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
    M llvm/test/CodeGen/RISCV/make-compressible-for-store-address.mir
    M llvm/test/CodeGen/RISCV/make-compressible-rv64.mir
    M llvm/test/CodeGen/RISCV/make-compressible-xqci.mir
    M llvm/test/CodeGen/RISCV/make-compressible-zbc-zhinx.mir
    M llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
    M llvm/test/CodeGen/RISCV/make-compressible-zfinx.mir
    M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
    M llvm/test/CodeGen/RISCV/make-compressible.mir

  Log Message:
  -----------
  [RISCV] Run MakeCompresible at Os as well (#207172)


  Commit: 319c1f1c1132e54a2135ffe1d7c58ed7e47b5e51
      https://github.com/llvm/llvm-project/commit/319c1f1c1132e54a2135ffe1d7c58ed7e47b5e51
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
    M llvm/lib/Analysis/StaticDataProfileInfo.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h

  Log Message:
  -----------
  [NewPM] Port StaticDataProfileInfo and wire into x86 AsmPrinter

Ports the analysis to the NewPM and wires it into the NewPM x86
AsmPrinter where we are currently just returning nullptr.

Reviewers: mingmingl-llvm, teresajohnson, arsenm, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/207550


  Commit: 29fa6a82476b92c8bc5168118151675b6ab940d1
      https://github.com/llvm/llvm-project/commit/29fa6a82476b92c8bc5168118151675b6ab940d1
  Author: TelGome <93700071+TelGome at users.noreply.github.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Support Packed Merge. (#207110)


  Commit: deecf8dce7dd6df5ce82bf273f7bfb75a783160a
      https://github.com/llvm/llvm-project/commit/deecf8dce7dd6df5ce82bf273f7bfb75a783160a
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUAsyncOperations.rst
    A llvm/docs/AMDGPUDMAOperations.md
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/UserGuides.md

  Log Message:
  -----------
  [docs][AMDGPU] move DMA operations to a separate file (#206917)

This includes the various `.async` and `.tensor` operations. Various
scattered bits of information are now in one place. Also added the
missing documentation for tensor intrinsics.


  Commit: 9b2d44a51252891b4612330c485fa11464866455
      https://github.com/llvm/llvm-project/commit/9b2d44a51252891b4612330c485fa11464866455
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    A llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
    M llvm/lib/ObjectYAML/CMakeLists.txt
    A llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp

  Log Message:
  -----------
  [ObjectYAML][NFC] Hoist ContiguousBlobAccumulator into a shared header (#207306)

Move ContiguousBlobAccumulator out of ELFEmitter.cpp's anonymous
namespace so other yaml2obj emitters can reuse it.


  Commit: 224b9d2ac05d808aa4b08c27ba37149260310e4b
      https://github.com/llvm/llvm-project/commit/224b9d2ac05d808aa4b08c27ba37149260310e4b
  Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M libcxx/include/set
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
    M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
    M libcxx/test/std/containers/associative/multiset/count.pass.cpp
    M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
    M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
    M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
    M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
    M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
    M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
    M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/multiset/find.pass.cpp
    M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
    M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_range.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
    M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
    M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
    M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/size.pass.cpp
    M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp

  Log Message:
  -----------
  [libc++] Make `<set>` `std::multiset` constexpr as part of P3372R3 (#206257)


  Commit: dc56f7104e036bdbf5b48d4d16dd3cf41c44e78f
      https://github.com/llvm/llvm-project/commit/dc56f7104e036bdbf5b48d4d16dd3cf41c44e78f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    A llvm/include/llvm/CodeGen/StaticDataSplitter.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [NewPM] Port StaticDataSplitter

Standard pass porting. Remove the MBPI member given it was unused.

Reviewers: arsenm, teresajohnson, mingmingl-llvm

Pull Request: https://github.com/llvm/llvm-project/pull/207627


  Commit: 311c3cee0c6c6d7f192b58ec02dd381539ccb0a2
      https://github.com/llvm/llvm-project/commit/311c3cee0c6c6d7f192b58ec02dd381539ccb0a2
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    A llvm/include/llvm/CodeGen/StaticDataAnnotator.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/StaticDataAnnotator.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [NewPM] Port StaticDataAnnotator

Standard NewPM pass porting. The PassBuilder wireup/test coverage will
come in the next PR.

Reviewers: arsenm, teresajohnson, mingmingl-llvm

Pull Request: https://github.com/llvm/llvm-project/pull/207629


  Commit: f7d75024bf194e660aa56714e7f0fdb56b92de69
      https://github.com/llvm/llvm-project/commit/f7d75024bf194e660aa56714e7f0fdb56b92de69
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M llvm/include/llvm/BinaryFormat/DynamicTags.def
    M llvm/lib/Object/ELF.cpp

  Log Message:
  -----------
  [SPARC] Make SPARC_REGISTER Sparc specific in llvm-readobj and LLDB (#206316)

The commit 4418a8e5 failed to limit SPARC_REGISTER to Sparc targets
only, which causes conflict when adding new dynamic tags for other
targets.


  Commit: 774f8a0b868cf526ffbd8af0a7e83c6b70d1b4fb
      https://github.com/llvm/llvm-project/commit/774f8a0b868cf526ffbd8af0a7e83c6b70d1b4fb
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/complex.rst
    M libc/include/complex.yaml
    M libc/src/complex/CMakeLists.txt
    A libc/src/complex/cabs.h
    A libc/src/complex/cabsf.h
    M libc/src/complex/generic/CMakeLists.txt
    A libc/src/complex/generic/cabs.cpp
    A libc/src/complex/generic/cabsf.cpp
    A libc/test/src/complex/CAbsTest.h
    M libc/test/src/complex/CMakeLists.txt
    A libc/test/src/complex/cabs_test.cpp
    A libc/test/src/complex/cabsf_test.cpp
    M libc/utils/MPCWrapper/MPCUtils.cpp

  Log Message:
  -----------
  [libc][complex] Enable cabs and cabsf in libc (#206677)

This PR adds basic implementation for cabs and cabsf in LLVM libc and
also extend current MPC infrastructure to support cabs operation.

---------

Signed-off-by: jinge90 <ge.jin at intel.com>


  Commit: 4d7b4fd9879fb0599b4e0a2a0c60394f64015c5a
      https://github.com/llvm/llvm-project/commit/4d7b4fd9879fb0599b4e0a2a0c60394f64015c5a
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M .github/workflows/test-suite.yml

  Log Message:
  -----------
  [GitHub] Build llvm-size for test-suite.yml workflow (#207642)

This is also needed by llvm-test-suite


  Commit: 4eb56cf497aaee55dc1346a7e1319dff33864601
      https://github.com/llvm/llvm-project/commit/4eb56cf497aaee55dc1346a7e1319dff33864601
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
    M llvm/test/Transforms/InstSimplify/cast.ll

  Log Message:
  -----------
  [InstSimplify] Fold value-preserving zext/sext of trunc (#204089)

Fold a value-preserving `zext (trunc nuw X)` / `sext (trunc nsw X)` back
to
`X` in `simplifyCastInst` (when the trunc source type equals the extend
result type and the no-wrap flag guarantees the round-trip is identity).

After indvars canonicalizes a min-index loop, the running-index select
has a
`trunc nuw nsw i64 %iv to i32` on its true side while `arr[i]` is
addressed
directly with the i64 `%iv`. When PHI-translating the select-dependent
address along the backedge (see #203863), the true side becomes
`gep base, zext nneg (trunc nuw %iv)`, which has no matching instruction
in
the loop, so the select dependency is never formed and the redundant
load
survives.

Teaching `simplifyCastInst` to collapse the value-preserving
extend-of-trunc
makes the translated address fold back to `gep base, %iv`, matching the
existing `arr[i]` address, so the load through the select index is
eliminated. This fixes the integer min-index variant of

https://github.com/llvm/llvm-project/issues/58569#issuecomment-2788365047
(e.g. returning `minloc` instead of the value).

Alive2: https://alive2.llvm.org/ce/z/T5kMG8

Assisted-by: TraeCli (AI assistant)


  Commit: 45574a58a0298cf64264022cb108818d84c3d6fd
      https://github.com/llvm/llvm-project/commit/45574a58a0298cf64264022cb108818d84c3d6fd
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/test/Analysis/CostModel/RISCV/fca-load-store.ll
    M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
    M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lmul-max.ll
    M llvm/test/CodeGen/RISCV/rvv/pr52475.ll

  Log Message:
  -----------
  [RISCV] Remove -riscv-v-fixed-length-vector-lmul-max option (#207312)

Whilst reviewing https://github.com/llvm/llvm-project/pull/207254, I
threw claude at it and it found a crash when passing in a non-default
-riscv-v-fixed-length-vector-lmul-max flag.

This option was added 5 years ago around the time initial fixed vector
support was being added in a719b667a9794, and IIUC it was added so that
support for more LMULs could be added over time.

We don't have any substantial codegen testing for it and I couldn't find
any downstream users either. So rather than trying to fix
https://github.com/llvm/llvm-project/pull/207254 to handle it it seems
easier just to remove it now that fixed vector support for RVV has
matured.


  Commit: 467390e7c08a5067355aa72d6262ff965d7fc9b4
      https://github.com/llvm/llvm-project/commit/467390e7c08a5067355aa72d6262ff965d7fc9b4
  Author: Chengjun <chengjunp at Nvidia.com>
  Date:   2026-07-05 (Sun, 05 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll

  Log Message:
  -----------
  [InstCombine] Skip redundant demanded element queries in insert chains (#205948)

Avoid re-running `SimplifyDemandedVectorElts` on intermediate
`insertelement` chain nodes when a bounded scan proves the top-level
all-lanes query cannot change the IR.

The skip is implemented inside the `InsertElement` case of
`SimplifyDemandedVectorElts` and is limited to the top-level all-lanes
query (`Depth == 0 && DemandedElts.isAllOnes()`). The bounded scan
matches the existing SDVE depth window and only skips chains with
distinct in-range constant insert indices. This keeps the normal SDVE
path for duplicate indices, variable indices, out-of-range indices,
multi-use chains, and the final chain root.

This was motivated by a cutile matmul compile-time case where loop
unrolling produced 128-lane vector insert/extract chains. Before this
change, InstCombine repeatedly invoked SDVE on intermediate
`insertelement` nodes in those chains. On the representative IR, the
affected InstCombine pass time went from about `44.9 ms` to `29.8 ms`,
and total `opt` compile time was reduced by about 20%.

AI disclosure: This patch was developed with assistance from
@openai-codex using GPT-5.5 via [Codex](https://openai.com/codex/). I
reviewed and tested the final changes before submission.


  Commit: a929f649b490103ee15e2b71b4666d52b997b877
      https://github.com/llvm/llvm-project/commit/a929f649b490103ee15e2b71b4666d52b997b877
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll

  Log Message:
  -----------
  [AMDGPU][NPM] Complete AsmPrinter support (#203509)


  Commit: aae9f9ed88eda733e46e308351ba5cd68091806f
      https://github.com/llvm/llvm-project/commit/aae9f9ed88eda733e46e308351ba5cd68091806f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Move Scope classes to source file (#207647)


  Commit: 0ac6b4bd5b49b0615d420fb03c59024a4e360a31
      https://github.com/llvm/llvm-project/commit/0ac6b4bd5b49b0615d420fb03c59024a4e360a31
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove unnecessary loop variable (#207649)

No reason to have the extra `N`.


  Commit: a280b1b4f84186255c41a989312ab01ee4c30b88
      https://github.com/llvm/llvm-project/commit/a280b1b4f84186255c41a989312ab01ee4c30b88
  Author: Santanu Das <santdas at qti.qualcomm.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-elf.c
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/test/CodeGen/Hexagon/reserved-regs.ll

  Log Message:
  -----------
  [Hexagon] Allow reservation of caller saved registers via -ffixed-rXX (#205733)

Previously, hexagon allowed only callee saved registers to be reserved
since reserving caller saved regs can create problems, since it cannot
be sure that the callee (from a different module) also reserves the
register.

The responsibility of reserving register and managing it is now on the
user. However, a warning will be displayed if the user tries to reserve a
caller saved register.

---------

Co-authored-by: quic-santdas <quic_santdas at qti.qualcomm.com>


  Commit: f44ec21260a193a197727962326f07d4a3150af9
      https://github.com/llvm/llvm-project/commit/f44ec21260a193a197727962326f07d4a3150af9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Move float->ap cast ops to the source file (#207592)

And deduplicate the code.


  Commit: ae3d310fa38febc0fd52421ed1e12c621757204c
      https://github.com/llvm/llvm-project/commit/ae3d310fa38febc0fd52421ed1e12c621757204c
  Author: ingoneuse <ingo.neuse at sap.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp

  Log Message:
  -----------
  [clangd] Null-check AutoTypeLoc in CollectExtraHighlightings::VisitDeclaratorDecl (#207323)

A Decl's getType() can have a getContainedAutoType() without
its TypeSourceInfo's type having one, because the two types
can differ in type sugar such as DecltypeType which
getContainedAutoType[Loc]() deliberately does not look through.

Fixes https://github.com/llvm/llvm-project/issues/207139


  Commit: 7bdca287b102ee935e982613dba2264cbc7a32ad
      https://github.com/llvm/llvm-project/commit/7bdca287b102ee935e982613dba2264cbc7a32ad
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Analysis/InlineCost.cpp
    A llvm/test/Transforms/Inline/X86/always-inline-features.ll

  Log Message:
  -----------
  [InlineCost] Never inline functions with incompatible target features (#205113)

If inlining is unsound due to incompatible target feature attributes, we
should not inline the call even if alwaysinline is set. This will likely
result in a crash during instruction selection.

We tried this previously in
https://github.com/llvm/llvm-project/commit/d6f994acb3d545b80161e24ab742c9c69d4bbf33,
but the change had to be reverted because the quality of our
areInlineCompatible() hooks was very bad at the time, which resulted in
inlining not happening in many cases where it was safe.

I think we're in a much better position now. Most notably, we now have a
default areInlineCompatible() implementation that actually does
something sensible (https://github.com/llvm/llvm-project/pull/117493),
inlining compatibility for target features is now specified in TableGen
(https://github.com/llvm/llvm-project/pull/205348). Various
target-specific issues have been fixed as well, e.g. ARM's overly strict
feature whitelist (https://github.com/llvm/llvm-project/pull/205763) and
X86's overly conservative ABI compatibility checks
(https://github.com/llvm/llvm-project/pull/205106).


  Commit: 1b2efd2e079a7fe86888cb7da12a5efa84b131fc
      https://github.com/llvm/llvm-project/commit/1b2efd2e079a7fe86888cb7da12a5efa84b131fc
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    A libcxx/include/__memory/uninitialized_multidimensional_algorithms.h
    M libcxx/include/module.modulemap.in

  Log Message:
  -----------
  [libc++] Split the multidimensional algorithms out of uninitialized_algorithms.h (#207447)

While these algorithms are conceptually related to other
`uninitialized_*` algorithms, they're likely only ever going to be used
by `shared_ptr`. `uninitialized_algorithms.h` itself is also getting
rather large, so it makes sense to split the multidimensional versions
into their own header.

Fixes #207417


  Commit: acafa250fd7abd22c20584ad615e9727fa5d1ed5
      https://github.com/llvm/llvm-project/commit/acafa250fd7abd22c20584ad615e9727fa5d1ed5
  Author: lrzlin <linrunze at loongson.cn>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll

  Log Message:
  -----------
  [LoongArch] Remove inaccurate LASX conversion pattern and use [X]VFFINT.S.L instead (#207107)

Original LASX signed/unsigned 64-bit integer & floating point will
suffer from double rounding issue, due to it implements such logic: `i64
-> double -> float` that will lead to precision loss. So delete it and
introduce the `[X]VFFINT.S.L` instruction, which could convert 4 or 8
signed 64-bit integer into float in one instrunction.

Also, create the `MergeBlocksConvert` helper function to reuse the logic
about merge two blocks into one, avoid unnecessary code size bloat.


  Commit: cb942d009a5ed029ce20d9b75b3604f551f0cb56
      https://github.com/llvm/llvm-project/commit/cb942d009a5ed029ce20d9b75b3604f551f0cb56
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M libcxxabi/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++abi] Always enable -fvisibility=hidden (#207333)

Building with `-fvisibility=hidden` is generally a good idea, since it
avoids unnecessary relocations when loading a dylib. For libc++abi this
should be a no-op, since most things are annotated explicitly. By
enabling `-fvisibility=hidden` we can remove these explicit annotations
however.


  Commit: 46aa983d0990692e9aab6917435faab8a6395aa0
      https://github.com/llvm/llvm-project/commit/46aa983d0990692e9aab6917435faab8a6395aa0
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/docs/analyzer/checkers.rst

  Log Message:
  -----------
  [clang][analyzer] Add documentation for unix modeling checker options (NFC) (#207225)


  Commit: 4341c0c9b8b88aac576ce55211ea9db032b74124
      https://github.com/llvm/llvm-project/commit/4341c0c9b8b88aac576ce55211ea9db032b74124
  Author: Hagai Lev Hacohen <100465137+HagaiLevHacohen at users.noreply.github.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir

  Log Message:
  -----------
  [mlir][memref] Implement ValueBoundsOpInterface for memref.extract_strided_metadata/assume_alignment (#206466)

Add ValueBoundsOpInterface external models for memref.assume_alignment
and memref.extract_strided_metadata, so dimension and metadata bounds
can be propagated through these view-like ops during value-bounds
analysis.


  Commit: 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: 94b325469b20255d31879c80204800510ac4fd66
      https://github.com/llvm/llvm-project/commit/94b325469b20255d31879c80204800510ac4fd66
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/pr22954.c
    M clang/test/Sema/builtin-memcpy.c
    M clang/test/Sema/builtin-object-size.c
    M clang/test/Sema/warn-fortify-source.c
    R clang/test/Sema/warn-stringop-overread.c
    M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp
    M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Add -Wstringop-overread warning for source buffer overreads (#183004)" (#207840)

This reverts commit 86f2e71cb8d165b59ad31a442b2391e23826133e.

And revert followup ab1ef459069d1dbf4ee9e5a802537ababe294b25 (#205201).

Causes crashes:
https://github.com/llvm/llvm-project/pull/183004#issuecomment-4897195939


  Commit: ff11bbce9e87ab4ef59a789cff1c9b9d771adc1e
      https://github.com/llvm/llvm-project/commit/ff11bbce9e87ab4ef59a789cff1c9b9d771adc1e
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/Index/IndexingContext.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/test/AST/ast-dump-templates-pattern.cpp
    M clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/CodeGenCXX/default-arguments.cpp
    M clang/test/CodeGenCXX/explicit-instantiation.cpp
    M clang/test/SemaCXX/GH195416.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/member-class-11.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/friend-template.cpp
    M clang/test/SemaTemplate/instantiate-scope.cpp
    M clang/test/Templight/templight-default-func-arg.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [clang] Reland: fix getTemplateInstantiationArgs (#207825)

Relands https://github.com/llvm/llvm-project/pull/199528
Previous: https://github.com/llvm/llvm-project/pull/202088

This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template
context of out-of-line definitions.

This greatly simplifies the signature of that function, by removing a
bunch
of workarounds, and simpliffying a couple that weren't removed yet.

Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.

Also makes the explicit specialization AST nodes stop abusing the
template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.

Fixes #202106
Fixes #202109


  Commit: c63adb28aa78ecb300bf06c1d0893ae6259765dd
      https://github.com/llvm/llvm-project/commit/c63adb28aa78ecb300bf06c1d0893ae6259765dd
  Author: mzukovec <martin.zukovec at xlab.si>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/test/CodeGenCXX/mangle-ms-md5.cpp

  Log Message:
  -----------
  [clang] Cap MS RTTI TypeDescriptor name strings like MSVC does (#206317)

On the Microsoft ABI, an RTTI TypeDescriptor stores the type's decorated
name as an inline string. Unlike symbol names, this string was never run
through the MD5 shortening that MSVC applies to over-long decorated
names. Deeply nested template types therefore produced unbounded
writable .data COMDATs: for example a type whose template arguments
contain a local lambda, whose mangled name re-spells the enclosing
template context at every level of nesting, grows exponentially with
depth. A five-level repro emitted an 82 MB object file.

Wrap the TypeDescriptor name string in the same msvc_hashing_ostream
already used for the RTTI symbol. When the name reaches the length limit
it is replaced by ??@<md5>@, mimicking MSVC. MSVC counts the leading .
of the name string toward the 4096-character limit but excludes it from
the hashed input, so the threshold here is one lower than for symbols.

Fixes #206313


  Commit: e27218ee24231abd4f4d3231fc682745a71a0657
      https://github.com/llvm/llvm-project/commit/e27218ee24231abd4f4d3231fc682745a71a0657
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp

  Log Message:
  -----------
  Reapply "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage" (#199145) (#201160)

Starting with posting this as a draft PR to run presubmit checks to
understand what failed.

This reverts commit #199145,
effectively reapplying #198935.


  Commit: 1fd46543f6b8aa0017d814301e0b019aa7144468
      https://github.com/llvm/llvm-project/commit/1fd46543f6b8aa0017d814301e0b019aa7144468
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    M lldb/test/API/tools/lldb-dap/exception/asan/TestDAP_asan.py
    M lldb/test/API/tools/lldb-dap/exception/cpp/TestDAP_exception_cpp.py
    M lldb/test/API/tools/lldb-dap/exception/cpp/main.cpp
    M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
    M lldb/test/API/tools/lldb-dap/exception/ubsan/TestDAP_ubsan.py

  Log Message:
  -----------
  [lldb-dap] Migrate DAP exceptions test. (#207029)

Migrate all the tests in the `lldb-dap/exception` folder.


  Commit: 5275ff2efaa9b729aebdfbfc4219f0d109cf03e5
      https://github.com/llvm/llvm-project/commit/5275ff2efaa9b729aebdfbfc4219f0d109cf03e5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/__clang_gpu_builtin_vars.h
    A clang/lib/Headers/__clang_gpu_device_functions.h
    A clang/lib/Headers/__clang_gpu_intrinsics.h
    M clang/test/Driver/hip-device-libs-llvm-env.hip
    A clang/test/Headers/gpu-device-functions.cpp
    M clang/test/Preprocessor/predefined-macros.c

  Log Message:
  -----------
  [Clang][HIP] Add LLVM vendored device headers for `*-llvm` triple (#203980)

Summary:
We already have the `*-llvm` vendor triple to imply a hermetic LLVM
toolchain for HIP. This adds the device portion of the headers that can
be used without a ROCm installation. These are vendored just like the
CUDA ones. Despite being HIP, these are actually generic because it onyl
uses clang builtins and the `gpuintrin` shims.


  Commit: 6f47c92a82cc142fe5b728a4d90987e15876b372
      https://github.com/llvm/llvm-project/commit/6f47c92a82cc142fe5b728a4d90987e15876b372
  Author: Erich Keane <ekeane at nvidia.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:
  -----------
  Revert "[Clang] Enable -Wunused-template under -Wall" (#207848)

Reverts llvm/llvm-project#206123

See the Flang Runtime unit test failures, we probably should fix those
before merging this to keep buildbots green.


  Commit: 1e7e166e39f4515a4cea1dcd07d016b4e2315e31
      https://github.com/llvm/llvm-project/commit/1e7e166e39f4515a4cea1dcd07d016b4e2315e31
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/Transforms/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [bazel][libc] Port 03c62ca40d pt2 (#207846)

This was missed in https://github.com/llvm/llvm-project/pull/207820 adding dep. Along with flang deps.


  Commit: 8475e376043ddacc53b7062c71438ea4e2a082e0
      https://github.com/llvm/llvm-project/commit/8475e376043ddacc53b7062c71438ea4e2a082e0
  Author: tedwoodward <56049650+tedwoodward at users.noreply.github.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M lldb/bindings/python/get-python-config.py

  Log Message:
  -----------
  [lldb] Change Python site-packages path (#207771)

On POSIX systems, traditionally the lldb Python module is in
lib/pythonx.x/site-packages. We only ever have 1 Python in a given
build, so we don't need to specify the version.

On Windows, we've always had the Python module in lib\site-packages.

Change the behavior on POSIX to match the Windows behavior, and put the
lldb Python module in lib/site-packages.

---------

Co-authored-by: Ted Woodward <tedwood at quicinc.com>


  Commit: 6e0311f077601350d5cc70e59c49432d985ca631
      https://github.com/llvm/llvm-project/commit/6e0311f077601350d5cc70e59c49432d985ca631
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Object/COFF.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/COFFObjectFile.cpp
    A llvm/test/tools/llvm-ar/arm64x-hybridobj.yaml
    A llvm/test/tools/llvm-ar/arm64x-split.yaml
    A llvm/test/tools/llvm-lib/arm64x-hybridobj.yaml

  Log Message:
  -----------
  [Archive][COFF] Split hybrid COFF files when adding them to an archive (#205160)

Create a separate member for the embedded hybrid object so that it's
properly reflected in the archive's symbol map and can be correctly
processed by tools unaware of multi-arch object files. Prefix the
embedded member name with 'obj.arm64x/' to avoid name collisions.

The split is performed only when targeting COFF archive format.


  Commit: 6da965ce85fc9c14ecad4d6d15cb6bb57776d979
      https://github.com/llvm/llvm-project/commit/6da965ce85fc9c14ecad4d6d15cb6bb57776d979
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M mlir/examples/standalone/pyproject.toml

  Log Message:
  -----------
  [mlir][python] Set a static version in the standalone example pyproject.toml (#207860)

The standalone example's pyproject.toml declares `dynamic = ["version"]` but does not configure a `tool.scikit-build metadata.version.provider`. Newer versions of scikit-build-core reject this combination with:

```
AssertionError: project.version is not specified, must be statically present or tool.scikit-build metadata.version.provider configured when dynamic
```

Just pin a static placeholder version instead of adding a "provider".

Assisted by: Claude


  Commit: 3d517ee6486553b3ecbabdb46c0496abcf9ad20a
      https://github.com/llvm/llvm-project/commit/3d517ee6486553b3ecbabdb46c0496abcf9ad20a
  Author: Damyan Pepper <damyanp at microsoft.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/test/tools/dxil-dis/waveactiveballot.ll

  Log Message:
  -----------
  [NFC] Fix dxil-dis/waveactiveballot.ll test (#207446)

It looks like #204478 introduced new intrinsic signature verification,
but since it didn't touch any of the HLSL/DXIL related paths the tests
were never run on a runner that has dxil-dis installed on it.

Assisted-by: copilot


  Commit: f7f06613d4fc68620076a48341acf22dc05fbd82
      https://github.com/llvm/llvm-project/commit/f7f06613d4fc68620076a48341acf22dc05fbd82
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/Targets/RISCV.cpp
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-struct-call.c
    A clang/test/CodeGenCXX/riscv-rvv-fixed-length-struct-call.cpp

  Log Message:
  -----------
  [RISCV] Pass structs containing riscv_rvv_vector_bits types using vector registers. (#203601)

The ABI for this isn't documented. The riscv_rvv_vector_bits feature was
copied from aarch_sve_vector_bits which passes the types in vector
registers. At the time I implemented RISC-V I didn't think about struct
arguments so no ABI support was added.

I think it makes sense to pass structs of these types in vector
registers similar to the vls_cc ABI. We already do use vector registers
for these types when the vls_cc ABI is enabled for a function(unclear if
that was intentional), but we should do it unconditionally.

I will work with gcc maintainers to see if they can do the same. In
practice, there probably isn't much compiler mixing with these types.

This patch was heavily assisted by AI, but I've reviewed it and the
changes seem reasonable to me.


  Commit: 81200d780eb6f9d8c9cf319d04ca5d7039dff944
      https://github.com/llvm/llvm-project/commit/81200d780eb6f9d8c9cf319d04ca5d7039dff944
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVVMProperties.cpp

  Log Message:
  -----------
  [NFC][LLVM][NVPTX] Use namespace qualifiers to define functions (#207546)

Use namespace qualifiers to define functions in `llvm` namespace, per
https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-define-previously-declared-symbols.


  Commit: 06f4b027b2df1febf3cd496573b8739074e8aa29
      https://github.com/llvm/llvm-project/commit/06f4b027b2df1febf3cd496573b8739074e8aa29
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp

  Log Message:
  -----------
  [NFC][LLVM][NVPTX] Minor code cleanup in NVVMReflect (#207549)

Use explicit types instead of auto when the type is not obvious. Use
`StringRef` type in the range for loop over `ReflectList`, allowing
additional code cleanups.


  Commit: 8f3e6197f676831794bfa7a7b4619c59c7915c42
      https://github.com/llvm/llvm-project/commit/8f3e6197f676831794bfa7a7b4619c59c7915c42
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc][RISC-V] Temporarily disable dirent (#207867)

The RISC-V 32 QEMU buildbot is failing due to missing SYS_fcntl, which
is needed for fdopendir. Since that syscall is referenced in the shared
dir code it's easiest to just disable all the dirent functions for now.


  Commit: cc048e80b670a5262500612069d1c2d065b53f15
      https://github.com/llvm/llvm-project/commit/cc048e80b670a5262500612069d1c2d065b53f15
  Author: Neil Nair <neilnair4 at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/CMakeLists.txt
    A clang-tools-extra/clang-doc/markdown/CMakeLists.txt
    A clang-tools-extra/clang-doc/markdown/Markdown.cpp
    A clang-tools-extra/clang-doc/markdown/Markdown.h
    M clang-tools-extra/clang-doc/support/CMakeLists.txt
    R clang-tools-extra/clang-doc/support/Markdown.cpp
    R clang-tools-extra/clang-doc/support/Markdown.h
    M clang-tools-extra/unittests/clang-doc/MarkdownParserTest.cpp

  Log Message:
  -----------
  [clang-doc] Move Markdown into its own subdirectory (#207856)

Removes the need for PARTIAL_SOURCES_INTENDED by giving clangDocMarkdown
its own directory. Addresses post-merge feedback on #205609.


  Commit: a2dbd23cdc562f5307e81789e770a290e863a91f
      https://github.com/llvm/llvm-project/commit/a2dbd23cdc562f5307e81789e770a290e863a91f
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes cc048e8 (#207873)

This fixes cc048e80b670a5262500612069d1c2d065b53f15.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: a37bb291fd9ca6c19a809196d074eaddae041353
      https://github.com/llvm/llvm-project/commit/a37bb291fd9ca6c19a809196d074eaddae041353
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    A llvm/test/CodeGen/NVPTX/lower-byval-args-mem-attrs.ll

  Log Message:
  -----------
  [NVPTX] Assign correct memory attrs to args in NVPTXLowerArgs (#207461)


  Commit: 52f1b754dddb740a553166acb9a5d40c38cc74e5
      https://github.com/llvm/llvm-project/commit/52f1b754dddb740a553166acb9a5d40c38cc74e5
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/bindings/python/tests/cindex/test_source_range.py
    M clang/bindings/python/tests/cindex/test_translation_unit.py

  Log Message:
  -----------
  [clang] workaround libclang-python windows CI failures (#207875)


  Commit: a42a1c84c1305d785ca58d271d5f2f87f1daeeb0
      https://github.com/llvm/llvm-project/commit/a42a1c84c1305d785ca58d271d5f2f87f1daeeb0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/InProcessEPCTest.cpp

  Log Message:
  -----------
  [ORC] Fix reinterpret_cast warning. (#207874)

https://github.com/llvm/llvm-project/pull/206725#issuecomment-4896222897
reported warnings on windows builds due to reinterpret_cast:

warning C4312: 'reinterpret_cast': conversion from 'unsigned int' to
'void *' of greater size

This commit fixes the issue by using ExecutorAddr::toPtr for conversion
instead of reinterpret_cast.


  Commit: 5cd8f2f847101effad54a88936abe5e3bcb7e884
      https://github.com/llvm/llvm-project/commit/5cd8f2f847101effad54a88936abe5e3bcb7e884
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M flang/test/Driver/fsave-optimization-record.f90
    M lld/test/ELF/lto/stats-file-option.ll
    M llvm/docs/Remarks.rst
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
    M llvm/test/CodeGen/AArch64/aarch64-vector-pcs.mir
    M llvm/test/CodeGen/AArch64/addg_subg.mir
    M llvm/test/CodeGen/AArch64/cfi_restore.mir
    M llvm/test/CodeGen/AArch64/chkstk.ll
    M llvm/test/CodeGen/AArch64/debug-info-sve-dbg-declare.mir
    M llvm/test/CodeGen/AArch64/debug-info-sve-dbg-value.mir
    M llvm/test/CodeGen/AArch64/emit-prologue-clobber-verification.mir
    M llvm/test/CodeGen/AArch64/extra-callee-save.mir
    M llvm/test/CodeGen/AArch64/framelayout-fpr128-spill.mir
    M llvm/test/CodeGen/AArch64/framelayout-frame-record.mir
    M llvm/test/CodeGen/AArch64/framelayout-offset-immediate-change.mir
    M llvm/test/CodeGen/AArch64/framelayout-scavengingslot-stack-hazard.mir
    M llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir
    M llvm/test/CodeGen/AArch64/framelayout-split-sve.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve-basepointer.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve-fixed-width-access.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve-scavengingslot.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve-win.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    M llvm/test/CodeGen/AArch64/large-stack-offset-calcs.mir
    M llvm/test/CodeGen/AArch64/live-debugvalues-sve.mir
    M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-bti.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-calls.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-no-noreturn-no-stack.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-noreturn-no-stack.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-size-info.mir
    M llvm/test/CodeGen/AArch64/machine-outliner.mir
    M llvm/test/CodeGen/AArch64/memtag-stg-loop-reg-pressure.mir
    M llvm/test/CodeGen/AArch64/no-xzr-liveins.mir
    M llvm/test/CodeGen/AArch64/pr157252.mir
    M llvm/test/CodeGen/AArch64/preserve.ll
    M llvm/test/CodeGen/AArch64/prologue-epilogue-remarks.mir
    M llvm/test/CodeGen/AArch64/reg-scavenge-frame.mir
    M llvm/test/CodeGen/AArch64/reloc-specifiers.mir
    M llvm/test/CodeGen/AArch64/settag-merge.mir
    M llvm/test/CodeGen/AArch64/spill-stack-realignment.mir
    M llvm/test/CodeGen/AArch64/stack-guard-reassign-sve.mir
    M llvm/test/CodeGen/AArch64/stack-guard-reassign.mir
    M llvm/test/CodeGen/AArch64/stack-id-pei-alloc.mir
    M llvm/test/CodeGen/AArch64/stack-id-stackslot-scavenging.mir
    M llvm/test/CodeGen/AArch64/stack-probing-last-in-block.mir
    M llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
    M llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
    M llvm/test/CodeGen/AArch64/stack-tagging-epilogue-fold.mir
    M llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir
    M llvm/test/CodeGen/AArch64/statepoint-call-lowering-lr.ll
    M llvm/test/CodeGen/AArch64/statepoint-call-lowering-sp.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention.ll
    M llvm/test/CodeGen/AArch64/sve-ld1r.mir
    M llvm/test/CodeGen/AArch64/sve-ldN.mir
    M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
    M llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
    M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
    M llvm/test/CodeGen/AArch64/sve-stN.mir
    M llvm/test/CodeGen/AArch64/unreachable-emergency-spill-slot.mir
    M llvm/test/CodeGen/AArch64/unwind-preserved-from-mir.mir
    M llvm/test/CodeGen/AArch64/wineh-frame-predecrement.mir
    M llvm/test/CodeGen/AArch64/wineh-frame-scavenge.mir
    M llvm/test/CodeGen/AArch64/wineh-frame0.mir
    M llvm/test/CodeGen/AArch64/wineh-frame1.mir
    M llvm/test/CodeGen/AArch64/wineh-frame2.mir
    M llvm/test/CodeGen/AArch64/wineh-frame3.mir
    M llvm/test/CodeGen/AArch64/wineh-frame4.mir
    M llvm/test/CodeGen/AArch64/wineh-frame5.mir
    M llvm/test/CodeGen/AArch64/wineh-frame6.mir
    M llvm/test/CodeGen/AArch64/wineh-frame7.mir
    M llvm/test/CodeGen/AArch64/wineh-frame8.mir
    M llvm/test/CodeGen/AArch64/wineh-save-lrpair1.mir
    M llvm/test/CodeGen/AArch64/wineh-save-lrpair2.mir
    M llvm/test/CodeGen/AArch64/wineh-save-lrpair3.mir
    M llvm/test/CodeGen/AArch64/wineh1.mir
    M llvm/test/CodeGen/AArch64/wineh2.mir
    M llvm/test/CodeGen/AArch64/wineh3.mir
    M llvm/test/CodeGen/AArch64/wineh4.mir
    M llvm/test/CodeGen/AArch64/wineh5.mir
    M llvm/test/CodeGen/AArch64/wineh6.mir
    M llvm/test/CodeGen/AArch64/wineh7.mir
    M llvm/test/CodeGen/AArch64/wineh8.mir
    M llvm/test/CodeGen/AArch64/wineh_shrinkwrap.mir
    M llvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
    M llvm/test/CodeGen/AMDGPU/SRSRC-GIT-clobber-check.mir
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
    M llvm/test/CodeGen/AMDGPU/agpr-spill-copy.mir
    M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
    M llvm/test/CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir
    M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-bit-ops.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
    M llvm/test/CodeGen/AMDGPU/entry-function-cfi.mir
    M llvm/test/CodeGen/AMDGPU/fix-frame-ptr-reg-copy-livein.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-fold-fi-gfx1250.mir
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
    M llvm/test/CodeGen/AMDGPU/frame-index.mir
    M llvm/test/CodeGen/AMDGPU/frame-lowering-entry-all-sgpr-used.mir
    M llvm/test/CodeGen/AMDGPU/frame-lowering-fp-adjusted.mir
    M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
    M llvm/test/CodeGen/AMDGPU/kernel-mubuf-with-voffset.mir
    M llvm/test/CodeGen/AMDGPU/machine-function-info-cwsr.ll
    M llvm/test/CodeGen/AMDGPU/mcinstlower-external-symbol-reloc.mir
    M llvm/test/CodeGen/AMDGPU/mir-print-dead-csr-fi.mir
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-offset-overflow-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-partial-agpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
    M llvm/test/CodeGen/AMDGPU/preserve-only-inactive-lane.mir
    M llvm/test/CodeGen/AMDGPU/same-slot-agpr-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-vmem-large-frame.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-reg-tuple-super-reg-use.mir
    M llvm/test/CodeGen/AMDGPU/spill-restore-partial-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-to-agpr-partial.mir
    M llvm/test/CodeGen/AMDGPU/spill_kill_v16.mir
    M llvm/test/CodeGen/AMDGPU/spillv16.mir
    M llvm/test/CodeGen/AMDGPU/spillv16Kernel.mir
    M llvm/test/CodeGen/AMDGPU/tied-op-for-wwm-scratch-reg-spill-restore.mir
    M llvm/test/CodeGen/AMDGPU/track-spilled-vgpr-liveness.mir
    M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
    M llvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-blocks-funcinfo.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-dead-frame-in-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-fi-skip-processing-stack-arg-dbg-value-list.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-fi-skip-processing-stack-arg-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
    M llvm/test/CodeGen/AMDGPU/wwm-reg-shift-down-gfx11plus.mir
    M llvm/test/CodeGen/ARM/execute-only-save-cpsr.mir
    M llvm/test/CodeGen/ARM/fpoffset_overflow.mir
    M llvm/test/CodeGen/ARM/interrupt-save-fp-attr-status-regs.mir
    M llvm/test/CodeGen/ARM/machine-outliner-calls.mir
    M llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-arm.mir
    M llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir
    M llvm/test/CodeGen/ARM/nonreserved-callframe-with-basereg.mir
    M llvm/test/CodeGen/ARM/noreturn-csr-skip.mir
    M llvm/test/CodeGen/ARM/pei-swiftself.mir
    M llvm/test/CodeGen/ARM/register-scavenger-exceptions.mir
    M llvm/test/CodeGen/ARM/stack_frame_offset.mir
    M llvm/test/CodeGen/ARM/tldrlit_ga_size.mir
    M llvm/test/CodeGen/BPF/BTF/func-nocall-undef-dead-arg.ll
    M llvm/test/CodeGen/Hexagon/aligna-prologue-expansion.mir
    M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
    M llvm/test/CodeGen/Hexagon/spill-vector-alignment.mir
    M llvm/test/CodeGen/LoongArch/stack-probing-frame-setup.mir
    M llvm/test/CodeGen/LoongArch/statepoint-call-lowering-r1.ll
    M llvm/test/CodeGen/M68k/CollapseMOVEM.mir
    M llvm/test/CodeGen/M68k/is-pcrel-register-operand-legal.mir
    M llvm/test/CodeGen/MIR/AArch64/hasstackframe.mir
    M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs.mir
    M llvm/test/CodeGen/MIR/AMDGPU/stack-id-assert.mir
    M llvm/test/CodeGen/MIR/ARM/thumb2-sub-sp-t3.mir
    M llvm/test/CodeGen/MIR/X86/diexpr-win32.mir
    M llvm/test/CodeGen/Mips/copy-fp64.ll
    M llvm/test/CodeGen/Mips/shrink-wrap-buildpairf64-extractelementf64.mir
    M llvm/test/CodeGen/PowerPC/aix-csr-vector-extabi.ll
    M llvm/test/CodeGen/PowerPC/aix-csr-vector.ll
    M llvm/test/CodeGen/PowerPC/aix-csr.ll
    M llvm/test/CodeGen/PowerPC/aix32-crsave.mir
    M llvm/test/CodeGen/PowerPC/aix32-vector-pair-cc-spills.ll
    M llvm/test/CodeGen/PowerPC/aix64-vector-pair-cc-spills.ll
    M llvm/test/CodeGen/PowerPC/alloca-crspill.ll
    M llvm/test/CodeGen/PowerPC/byval-agg-info.ll
    M llvm/test/CodeGen/PowerPC/frame_index_scavenging.mir
    M llvm/test/CodeGen/PowerPC/mflr-store.mir
    M llvm/test/CodeGen/PowerPC/ppc64-crsave.mir
    M llvm/test/CodeGen/PowerPC/prolog_vec_spills.mir
    M llvm/test/CodeGen/PowerPC/stack_pointer_vec_spills.mir
    M llvm/test/CodeGen/RISCV/determine-callee-saves-gpr.mir
    M llvm/test/CodeGen/RISCV/live-sp.mir
    M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
    M llvm/test/CodeGen/RISCV/pr53662.mir
    M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv32.mir
    M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv64.mir
    M llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering-x1.ll
    M llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering-x2.ll
    M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
    M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
    M llvm/test/CodeGen/RISCV/rvv/debug-info-rvv-dbg-value.mir
    M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/get-vlen-debugloc.mir
    M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
    M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
    M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
    M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
    M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
    M llvm/test/CodeGen/RISCV/shadowcallstack-frame-flags.ll
    M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
    M llvm/test/CodeGen/RISCV/stack-probing-frame-setup.mir
    M llvm/test/CodeGen/RISCV/xqccmp-cm-popretz.mir
    M llvm/test/CodeGen/RISCV/xqccmp-cm-push-pop.mir
    M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
    M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
    M llvm/test/CodeGen/RISCV/zcmp-prolog-epilog-crash.mir
    M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
    M llvm/test/CodeGen/RISCV/zdinx-spill.ll
    M llvm/test/CodeGen/RISCV/zilsd-csr-duplicate.mir
    M llvm/test/CodeGen/RISCV/zilsd-spill.ll
    M llvm/test/CodeGen/SystemZ/frame-26.mir
    M llvm/test/CodeGen/SystemZ/frame-27.mir
    M llvm/test/CodeGen/SystemZ/frame-28.mir
    M llvm/test/CodeGen/SystemZ/scavenge-clobbered-reg.mir
    M llvm/test/CodeGen/SystemZ/tls-11.mir
    M llvm/test/CodeGen/Thumb2/fp16-stacksplot.mir
    M llvm/test/CodeGen/Thumb2/frame-index-addrmode-t2i8s4.mir
    M llvm/test/CodeGen/Thumb2/mve-stacksplot.mir
    M llvm/test/CodeGen/Thumb2/scavenge-lr.mir
    M llvm/test/CodeGen/X86/cfi-epilogue-with-return.mir
    M llvm/test/CodeGen/X86/cfi-epilogue-without-return.mir
    M llvm/test/CodeGen/X86/cfi-xmm.ll
    M llvm/test/CodeGen/X86/epilogue-cfi-fp.ll
    M llvm/test/CodeGen/X86/ipra-inline-asm.ll
    M llvm/test/CodeGen/X86/ipra-reg-usage.ll
    M llvm/test/CodeGen/X86/prologepilog_deref_size.mir
    M llvm/test/CodeGen/X86/prologue-epilogue-remarks.mir
    M llvm/test/CodeGen/X86/push-cfi.ll
    M llvm/test/CodeGen/X86/throws-cfi-fp.ll
    M llvm/test/CodeGen/X86/virtual-registers-cleared-in-machine-functions-liveins.ll
    M llvm/test/CodeGen/X86/win_coreclr_chkstk_liveins.mir
    M llvm/test/CodeGen/X86/zero-call-used-regs-debug-info.mir
    M llvm/test/DebugInfo/MIR/X86/bit-piece-dh.mir
    M llvm/test/DebugInfo/MIR/X86/no-cfi-loc.mir
    M llvm/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
    M llvm/test/DebugInfo/X86/prolog-params.mir
    M llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.yaml
    M llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.yaml
    M llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.yaml
    M llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.yaml
    M llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.yaml
    M llvm/test/tools/llvm-remarkutil/Inputs/two-remarks.bitstream
    M llvm/test/tools/llvm-remarkutil/Inputs/two-remarks.yaml
    M llvm/test/tools/llvm-remarkutil/convert.test
    M llvm/test/tools/llvm-remarkutil/size-diff/Inputs/1-func-1-instr-1-stack.yaml
    M llvm/test/tools/llvm-remarkutil/size-diff/Inputs/1-func-2-instr-2-stack.yaml
    M llvm/test/tools/llvm-remarkutil/size-diff/Inputs/2-identical-func-1-instr-1-stack.yaml
    M llvm/test/tools/llvm-remarkutil/size-diff/Inputs/inconvertible-integer.yaml
    M llvm/test/tools/llvm-remarkutil/size-diff/Inputs/no-instruction-count-remarks.yaml
    M llvm/test/tools/llvm-remarkutil/size-diff/Inputs/unexpected-key.yaml
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp

  Log Message:
  -----------
  [CodeGen] Rename prologpeilog to prolog-epilog (#207870)

This is primarily to ensure consistenct with the new pass manager where
the name of the pass is already prolog-epilog, which is more consistent
with our existing naming scheme. This is necessary to be able to run
existing llc invocations that explicitly specify prolog-epilog under the
NewPM automatically.

Assisted by Gemini.


  Commit: 0ad19f403165d8fc1596fb2fef9c940e941c54df
      https://github.com/llvm/llvm-project/commit/0ad19f403165d8fc1596fb2fef9c940e941c54df
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/shared/builtins.h
    A libc/shared/builtins/subsf3.h
    M libc/src/__support/builtins/CMakeLists.txt
    A libc/src/__support/builtins/subsf3.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_builtins_test.cpp

  Log Message:
  -----------
  [libc] add shared subsf3 builtin (#205677)

Re-exposes LLVM-libc's `__subsf3` as `shared::subsf3` for reuse by
compiler-rt's builtins.

Stacked change - merge these first:
- #200094
- #205669
- #205670
- #205671
- #205672
- #205673
- #205674
- #205675
- #205676

Part of #197824


  Commit: d49c6da56c60e3859b686ed2434fed7cab92bff9
      https://github.com/llvm/llvm-project/commit/d49c6da56c60e3859b686ed2434fed7cab92bff9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    R .github/workflows/libclang-python-tests.yml

  Log Message:
  -----------
  CI: move libclang python bindings tests to main CI (#201677)

This removes the separate python bindings CI, which run on the GitHub
free runners and take more than one hour to build libclang.

The tests are executed instead in the monolithic pipelines, whenever
clang would be tested.
That only tests whatever python version we set up for that pipeline.

This is fine in terms of resources because all the dependencies are
built anyway, and the tests themselves take less than one second to run
on the free runners.


  Commit: 1b9723b3cd661b53f8ea891204efdb95a9c1c678
      https://github.com/llvm/llvm-project/commit/1b9723b3cd661b53f8ea891204efdb95a9c1c678
  Author: Yi Zhang <cathyzhyi at google.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/unittests/ADT/APIntTest.cpp

  Log Message:
  -----------
  Fix APInt::concat for zero-width operands (#207475)

APInt::concat triggered undefined behavior (invalid shift exponent) when
concatenating a zero-width operand with a 64-bit operand on the fast
path (combined width <= 64). For example, `I0.concat(I64)` resulted in
`U.VAL << 64`, which is UB.
Fix by checking for zero-width operands early and returning the other
operand. Added regression tests to `APIntTest.cpp`.


  Commit: 5c715d56884364a3b05acb4d3e6b52a911f14667
      https://github.com/llvm/llvm-project/commit/5c715d56884364a3b05acb4d3e6b52a911f14667
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang/lib/Tooling/Tooling.cpp
    M clang/unittests/Tooling/ToolingTest.cpp

  Log Message:
  -----------
  [Tooling] Preserve backslashes in POSIX source paths (#207499)

On POSIX, backslashes are valid filename characters. Avoid converting
them to slashes when computing absolute source paths in LibTooling,
since doing so changes paths such as `a\b.cc` into `a/b.cc`.

Closes #207396


  Commit: 664e704bd5da24971bfdedee410415537e8d2e45
      https://github.com/llvm/llvm-project/commit/664e704bd5da24971bfdedee410415537e8d2e45
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Driver/bbc-implicit-use-module.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Add ability to implicitly use a module (#207824)

Add parser and semantics plumbing for configured implicit USE modules,
reusing
the normal USE-association path so public symbols and common blocks are
imported
consistently.


  Commit: c45ff74fbe38151a21e1877b7e0c703b1590f101
      https://github.com/llvm/llvm-project/commit/c45ff74fbe38151a21e1877b7e0c703b1590f101
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td

  Log Message:
  -----------
  [RISCV] Sync RISCVSystemOperands.td order/sections with priv-csrs.adoc from riscv-isa-manual. NFC (#207803)


  Commit: c392657d4992148cb7cd5ebd94f12d2ffab949b4
      https://github.com/llvm/llvm-project/commit/c392657d4992148cb7cd5ebd94f12d2ffab949b4
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    A llvm/test/CodeGen/SPIRV/pointers/array-stride-subbyte.ll

  Log Message:
  -----------
  [SPIR-V] Fix ArrayStride truncation to 0 for sub-byte element types (#207140)

addArrayStrideDecorations computed the stride as `getTypeSizeInBits/8`
which truncates to 0 for sub-byte element types such as i1

0 strides are disallowed in spec

---------

Co-authored-by: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>


  Commit: 2ef13ce61b9625080e20df1e13763aa4d4fb5964
      https://github.com/llvm/llvm-project/commit/2ef13ce61b9625080e20df1e13763aa4d4fb5964
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll

  Log Message:
  -----------
  [AMDGPU] Fix whole-wave function prologue to set EXEC to -1 (#207781)

A whole-wave function body must run with all lanes on. With no WWM
spills the prologue emitted `S_XOR_SAVEEXEC`, giving `EXEC` =
`~entryEXEC`


  Commit: b068ae9e376b1e3d721064e140e638cad076d0bc
      https://github.com/llvm/llvm-project/commit/b068ae9e376b1e3d721064e140e638cad076d0bc
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M llvm/docs/LFI.rst
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/MC/MCLFI.cpp
    M llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
    A llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.cpp
    A llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Triple.cpp
    A llvm/test/CodeGen/X86/lfi-sibcall.ll
    A llvm/test/MC/X86/LFI/abi-note.s
    A llvm/test/MC/X86/LFI/syscall.s
    A llvm/test/MC/X86/LFI/thread-pointer-errors.s
    A llvm/test/MC/X86/LFI/thread-pointer.s

  Log Message:
  -----------
  [LFI][X86] Add X86 LFI target and system instruction rewrites (#189569)

This PR introduces an x86-64 backend for Lightweight Fault Isolation
(LFI), similar to the one being developed for AArch64. LFI is a
compiler-based mechanism that enables efficient in-process sandboxing.
See the RFC from last fall for details.

This PR adds the `x86_64_lfi` target (similar to `aarch64_lfi`), sets up
reserved registers, and implements some initial rewrites for system
instructions (system calls and TLS accesses). The rewrites are done at
the MC level, using the `MCLFIRewriter` infrastructure. I have updated
the documentation to describe the x86-64 sandboxing scheme and to list
rewrites that will be implemented in future PRs (to keep each individual
PR small).

For performance and compatibility reasons, the plan is currently to use
bundling for maintaining control-flow integrity in the sandbox, which
is not yet supported. For now we are setting up the rewrites without using
bundling, but we can also use a CFI mechanism based on shadow
stack+endbr in order to have something usable while bundling is
in progress.


  Commit: a849f52b7930ead34ce6337763cff9977f5f61aa
      https://github.com/llvm/llvm-project/commit/a849f52b7930ead34ce6337763cff9977f5f61aa
  Author: rdevshp <rdevshp at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll

  Log Message:
  -----------
  [InstCombine] Fix assertion failure in `foldVariableSignZeroExtensionOfVariableHighBitExtract` (#205148)

This PR fixes crash for the following program:
```
define i16 @d(i16 %x, i4 %n) {
entry:
  %highbits = lshr i16 %x, 1
  %sub1 = sub i4 0, %n
  %z1 = zext i4 %sub1 to i16
  %shl = shl i16 %highbits, %z1
  %sub2 = sub i4 0, %n
  %z2 = zext i4 %sub2 to i16
  %ashr = ashr i16 %shl, %z2
  ret i16 %ashr
}
```
when running `opt -passes=instcombine prog.ll -S`.

Assisted-by: Codex


  Commit: fa9fac7ae909053993e96a1c2aecc981b08f70cb
      https://github.com/llvm/llvm-project/commit/fa9fac7ae909053993e96a1c2aecc981b08f70cb
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M llvm/docs/LFI.rst
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/MC/MCLFI.cpp
    M llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
    R llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.cpp
    R llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Triple.cpp
    R llvm/test/CodeGen/X86/lfi-sibcall.ll
    R llvm/test/MC/X86/LFI/abi-note.s
    R llvm/test/MC/X86/LFI/syscall.s
    R llvm/test/MC/X86/LFI/thread-pointer-errors.s
    R llvm/test/MC/X86/LFI/thread-pointer.s

  Log Message:
  -----------
  Revert "[LFI][X86] Add X86 LFI target and system instruction rewrites" (#207891)

Reverts llvm/llvm-project#189569


  Commit: 025e2adf1c774d17415b72244722aa740fe4d712
      https://github.com/llvm/llvm-project/commit/025e2adf1c774d17415b72244722aa740fe4d712
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/source/Host/freebsd/Host.cpp

  Log Message:
  -----------
  [LLDB][FreeBSD] Fix build from FileSpec change (#207819)

FileSpec now returns llvm::StringRef instead of ConstString. As a
result, we don't need to use GetCString to get the raw string. Remove it
to fix build failure.

Fixes: f9b5264523b1 (#206802)


  Commit: b838b0cc1c76c34e57d70d5d259382ac0d764cca
      https://github.com/llvm/llvm-project/commit/b838b0cc1c76c34e57d70d5d259382ac0d764cca
  Author: Ying Chen <chenying at inchitech.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
    M llvm/test/MC/RISCV/rv32zclsd-invalid.s

  Log Message:
  -----------
  [RISCV][MC] Improve diagnostics for Zclsd RV32 GPR pair operands (#207639)

Add dedicated assembler diagnostics for the RV32 GPR pair operands used
by
Zclsd compressed load/store pair instructions.

After the RISC-V asm parser started reporting multiple near-miss
reasons, these
operands still fell back to the generic "invalid operand for
instruction" note.
Give them explicit diagnostic types and messages so invalid register
pairs report
the expected pair constraints.


  Commit: 26fbd61932b41a36a1fee3bcdfbb6800ca5c09b3
      https://github.com/llvm/llvm-project/commit/26fbd61932b41a36a1fee3bcdfbb6800ca5c09b3
  Author: Ying Chen <chenying at inchitech.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M lld/test/ELF/gc-sections-keep-shared-start.s

  Log Message:
  -----------
  [ELF,test] Fix FileCheck RUN line in gc-sections-keep-shared-start.s (#207678)

Fix a malformed multiline RUN line.

---------

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: 25b205eb9413e418732d0d5b526511c3ce37c6d9
      https://github.com/llvm/llvm-project/commit/25b205eb9413e418732d0d5b526511c3ce37c6d9
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp

  Log Message:
  -----------
  [FIRToMemRef] Doc collectSliceInfoFrom, getMemrefIndices, canonicalizeIndex (#207699)

Also drops the unused `converted` parameter from getMemrefIndices. The
internal workings of these functions were not easy to understand for me
so I worked with Claude to document with examples. Hopefully, that makes
the code easier to read. I reviewed the docs and corrected some obvious
hallucinations produced by the agent.

Co-Authored-By: Claude Sonnet 4.6 noreply at anthropic.com


  Commit: 51a378885ae5f48c2b1521700fd5732a5aae00aa
      https://github.com/llvm/llvm-project/commit/51a378885ae5f48c2b1521700fd5732a5aae00aa
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/TableGen/StringToOffsetTable.cpp

  Log Message:
  -----------
  [TableGen] Separate string when digit follows octal escape (#207807)

Silence MSVC warning C4125 by separating the string literals when an
octal escape sequence is followed by a decimal char.


  Commit: cb19f2b288a94e62c93f3e862cb697c14a7326fb
      https://github.com/llvm/llvm-project/commit/cb19f2b288a94e62c93f3e862cb697c14a7326fb
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M clang/test/OffloadTools/clang-offload-bundler/zstd.c

  Log Message:
  -----------
  [clang][test][darwin] Driver/clang-offload-bundler-zstd.c fails on macOS (#207876)

Driver/clang-offload-bundler-zstd.c isn't supported on Darwin, but
neglected to list the macosx target.


  Commit: cbf8048aa1427166045a602e0bc29127c1d8274c
      https://github.com/llvm/llvm-project/commit/cbf8048aa1427166045a602e0bc29127c1d8274c
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Add codegen for packed absolute difference sum (#207314)

The pabdsumu/pabdsumau instructions compute the sum of absolute differences
of packed unsigned bytes; pabdsumau also accumulates into rd.

Add the llvm.riscv.pabdsumu and pabdsumau intrinsics. A single-GPR source is
selected directly to pabdsumu.b/pabdsumau.b with isel patterns. A 64-bit
GPRPair source on RV32 has no paired instruction, so it is split during
lowering into two v4i8 halves: reduce the low half (folding in rd when
accumulating), then accumulate the high half into that partial sum.

Cases with a target-illegal result are handled in ReplaceNodeResults:

    RV64, i32 result: reduce at i64 and truncate (a 32-bit source is
    zero-extended first).
    RV32, i64 result: reduce each half with pabdsumu.b and combine the
    partial sums with a widening add (waddu/waddau).


  Commit: 0fc9beeadf2a415553047989154a8df7f89fd8dc
      https://github.com/llvm/llvm-project/commit/0fc9beeadf2a415553047989154a8df7f89fd8dc
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxx/include/__ranges/adjacent_transform_view.h
    A libcxx/test/libcxx/ranges/range.adaptors/range.adjacent.transform/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][ranges] Applied [[nodiscard]] to `adjacent_transform_view` (#205900)

[[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.adjacent.transform

Towards https://github.com/llvm/llvm-project/issues/172124

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 8992cdf458f78c5ef9b018c92234658fc78cfd80
      https://github.com/llvm/llvm-project/commit/8992cdf458f78c5ef9b018c92234658fc78cfd80
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxx/include/__ranges/join_view.h
    A libcxx/test/libcxx/ranges/range.adaptors/range.join/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][ranges] Applied [[nodiscard]] to `join_view` (#206838)

[[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.join

Towards https://github.com/llvm/llvm-project/issues/172124


  Commit: 347e97f815e2b866aa07b8e0f6364a79280ad2fb
      https://github.com/llvm/llvm-project/commit/347e97f815e2b866aa07b8e0f6364a79280ad2fb
  Author: quic-k <kushpal at qti.qualcomm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-picolibc.c

  Log Message:
  -----------
  [Clang][Hexagon] Use flat library directory layout for Picolibc (#201326)

Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>


  Commit: a6575e8ea5a638259d4051ebfb1430bf1cc2795b
      https://github.com/llvm/llvm-project/commit/a6575e8ea5a638259d4051ebfb1430bf1cc2795b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp

  Log Message:
  -----------
  [clang][bytecode] Use `PtrView` in `CheckActive()` (#207756)


  Commit: bc2b50fbca41852434db4c3f066989e036b9b962
      https://github.com/llvm/llvm-project/commit/bc2b50fbca41852434db4c3f066989e036b9b962
  Author: David Green <david.green at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll

  Log Message:
  -----------
  [AArch64] Add a basic i128 mul cost. (#203271)

This adds a basic cost for i128 multiply instructions, which has a basic
cost of 4 and scales n^2 with bitsize.


  Commit: 08ed6acb7e0d328ee02d4c15b7b6bcdd943323e3
      https://github.com/llvm/llvm-project/commit/08ed6acb7e0d328ee02d4c15b7b6bcdd943323e3
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/File/dir.cpp
    M libc/src/__support/File/dir.h
    M libc/src/__support/File/linux/dir.cpp

  Log Message:
  -----------
  [libc] Improve Dir class safety, performance, and style (#207214)

Addressed issues in the Dir class identified during review:

* Safety: Added bounds and validation checks in Dir::read to prevent
out-of-bounds reads on corrupted input.
* Performance: Aligned the internal buffer to struct dirent to prevent
unaligned memory access, and increased the buffer size to 4096 to reduce
syscall overhead.
* Style: Replaced the system <dirent.h> include with a new proxy header
(struct_dirent.h) to avoid system dependencies, and fixed relative
includes.
* Refactoring: Moved platform-specific record length access to a
platform helper (platform_dir_reclen).
* CMake: Updated dependencies for the dir target.

Assisted-by: Automated tooling, human reviewed.


  Commit: a2031641ed0db092d7f7a5371f4710b9e260ec4a
      https://github.com/llvm/llvm-project/commit/a2031641ed0db092d7f7a5371f4710b9e260ec4a
  Author: David Green <david.green at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    R llvm/test/CodeGen/AArch64/arm64-2013-02-12-shufv8i8.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
    M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
    M llvm/test/CodeGen/AArch64/insert-subvector.ll
    M llvm/test/CodeGen/AArch64/insertshuffleload.ll
    M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
    M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
    M llvm/test/CodeGen/AArch64/neon-wide-splat.ll
    M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
    M llvm/test/CodeGen/AArch64/shuffle-extend.ll
    M llvm/test/CodeGen/AArch64/shuffle-slide-to-shift.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/shuffles.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add more shuffle test coverage. NFC (#207907)


  Commit: 39f64b9045441225f6229d3ea5502ae5a03307f8
      https://github.com/llvm/llvm-project/commit/39f64b9045441225f6229d3ea5502ae5a03307f8
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt-with-branch-with-immediates_32_eq.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt-with-branch-with-immediates_32_ne.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt-with-branch-with-immediates_32_sge.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt-with-branch-with-immediates_32_slt.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt-with-branch-with-immediates_32_uge.ll
    M llvm/test/CodeGen/RISCV/short-forward-branch-opt-with-branch-with-immediates_32_ult.ll

  Log Message:
  -----------
  [RISCV] Fix Predicates in SFB to MVccI (#207806)


  Commit: 93509a564b4dda593766f4395873175ede1a30ed
      https://github.com/llvm/llvm-project/commit/93509a564b4dda593766f4395873175ede1a30ed
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    A llvm/test/CodeGen/LoongArch/get-rounding.ll
    M llvm/test/CodeGen/LoongArch/set-rounding.ll

  Log Message:
  -----------
  [LoongArch] Support ISD::GET_ROUNDING (llvm.get.rounding) (#207319)


  Commit: c6cadf901add7de1751cb27856aec90e47849cf4
      https://github.com/llvm/llvm-project/commit/c6cadf901add7de1751cb27856aec90e47849cf4
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M flang-rt/lib/runtime/CMakeLists.txt
    M runtimes/cmake/config-Fortran.cmake

  Log Message:
  -----------
  [Fortran] Use INTERFACE targets for options and dependencies (#193469)

Use CMake INTERFACE libraries to express dependencies and common build
options.

Using INTERFACE libraries was proposed here:
https://github.com/llvm/llvm-project/pull/171610#discussion_r3122187957

Since such libraries can also propagate build options use this instead
of `target_compile_options`. Unfortunately this does not mean we can get
rid of `flang_module_target` because it also needs to set the module
output directory.

---------

Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>


  Commit: 1a5376e062e3f3b99ffce25e24e53182202e06b9
      https://github.com/llvm/llvm-project/commit/1a5376e062e3f3b99ffce25e24e53182202e06b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    A llvm/test/CodeGen/AVR/cmp-sgt-i128.ll

  Log Message:
  -----------
  [AVR] Fix overflow in SETGT lowering (#207737)

https://github.com/llvm/llvm-project/pull/182690 fixed this for the
SETUGT case, but the same issue exists for SETGT, so fix it in the same
way.

Similar to the SETUGT case this needs a i128 comparison to reproduce,
otherwise the comparison gets folded away too early.


  Commit: 47b819b866636fb1770f78da3f45ebd64d5f9875
      https://github.com/llvm/llvm-project/commit/47b819b866636fb1770f78da3f45ebd64d5f9875
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvpermi.ll

  Log Message:
  -----------
  [LoongArch] Fix vpermi.w legalization with undef elements (#207751)

For the MaskSize==8 case, the code was comparing mask elements that
could be undef (-1). This could result in a miscompile (where -1 + 4 ==
3, which crosses from the high half to the low half) or the pattern not
matching (because -1 doesn't match the other mask element).

Fix this by explicitly handling undef elements in the code. If the high
half is undef, we can just ignore. If the low half is undef, we need to
use the value from the high half shifted down by 4. If neither are
undef, use the original check.


  Commit: 5bca42d7d7cd55642e9e63fa3b4da11245d025c3
      https://github.com/llvm/llvm-project/commit/5bca42d7d7cd55642e9e63fa3b4da11245d025c3
  Author: Jaydeep Chauhan <chauhan.jaydeep.ashwinbhai at intel.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Options/Options.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    R clang/lib/Headers/amxtf32intrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Sema/SemaX86.cpp
    R clang/test/CodeGen/X86/amx_tf32.c
    R clang/test/CodeGen/X86/amx_tf32_api.c
    R clang/test/CodeGen/X86/amx_tf32_errors.c
    R clang/test/CodeGen/X86/amx_tf32_inline_asm.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAMX.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    R llvm/test/CodeGen/X86/amx-tf32-internal.ll
    R llvm/test/CodeGen/X86/amx-tf32-intrinsics.ll
    R llvm/test/MC/Disassembler/X86/AMX/x86-64-amx-tf32.txt
    R llvm/test/MC/X86/AMX/x86-64-amx-tf32-att.s
    R llvm/test/MC/X86/AMX/x86-64-amx-tf32-intel.s
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [X86] Remove AMX-TF32 (#207673)

Per Intel Architecture Instruction Set Extensions Programming Reference
rev. 62 https://cdrdv2.intel.com/v1/dl/getContent/922690 Revision
History entry for revision -062


  Commit: 5c01d66e97208cd8acf6d7db72d9cfcbb4cd883f
      https://github.com/llvm/llvm-project/commit/5c01d66e97208cd8acf6d7db72d9cfcbb4cd883f
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/win64-i128.c

  Log Message:
  -----------
  [AArch64][msvc] allow higher align than slot size in va_arg (#207591)

Fixes https://github.com/llvm/llvm-project/issues/207584

On aarch64 windows, an `__int128` argument is passed with alignment 16,
but was read with an alignment of 8. Based on the MSVC assembly and how
e.g. aarch64 darwin handles this, I think it's correct to set
`AllowHigherAlign = true`.


  Commit: 57a7e7538cfc73184b8280160e8d89cedab04c5d
      https://github.com/llvm/llvm-project/commit/57a7e7538cfc73184b8280160e8d89cedab04c5d
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/fp128-cast.ll

  Log Message:
  -----------
  [X86][Windows] use `LowerWin64_INT128_TO_FP` for `u128` to `f128` conversion (#207285)

This change fixes an ABI issue where the signed conversion passes a
`i128` different from a `u128`, and crucially different from GCC.

https://godbolt.org/z/x3daY3rej

```diff
--- <unnamed>
+++ <unnamed>
@@ -1,15 +1,15 @@
-conv_from_i128:
+conv_from_u128:
         push    rsi
-        sub     rsp, 64
+        sub     rsp, 48
         mov     rsi, rcx
-        movaps  xmm0, xmmword ptr [rdx]
-        movaps  xmmword ptr [rsp + 48], xmm0
+        mov     rax, qword ptr [rdx]
+        mov     r8, qword ptr [rdx + 8]
         lea     rcx, [rsp + 32]
-        lea     rdx, [rsp + 48]
-        call    __floattitf
+        mov     rdx, rax
+        call    __floatuntitf
         movaps  xmm0, xmmword ptr [rsp + 32]
         movaps  xmmword ptr [rsi], xmm0
         mov     rax, rsi
-        add     rsp, 64
+        add     rsp, 48
         pop     rsi
         ret
```

The signed case being correct is apparently due to a special
windows-specific path being chosen. The unsigned version bailed out too
early. So, I've changed `LowerUINT_TO_FP` to be more like
`LowerSINT_TO_FP`. In particular this moves the "Bail out when we don't
have native conversion instructions." down a bit, so that
`LowerWin64_INT128_TO_FP` is actually used.

I've then also added some testing for win64 SSE. I'm not sure if the
other target features are as relevant but I can add those too if
helpful.

This was found by running the `rust-lang/compiler-builtins` tests with a
build that includes https://github.com/llvm/llvm-project/pull/204887.


  Commit: c5026e4e3332acf88bb304c37137bd247fa12b25
      https://github.com/llvm/llvm-project/commit/c5026e4e3332acf88bb304c37137bd247fa12b25
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Architecture/CMakeLists.txt
    A lldb/source/Plugins/Architecture/RISCV/ArchitectureRISCV.cpp
    A lldb/source/Plugins/Architecture/RISCV/ArchitectureRISCV.h
    A lldb/source/Plugins/Architecture/RISCV/CMakeLists.txt
    A lldb/unittests/Architecture/CMakeLists.txt
    A lldb/unittests/Architecture/RISCV/ArchitectureRISCVTest.cpp
    A lldb/unittests/Architecture/RISCV/CMakeLists.txt
    M lldb/unittests/CMakeLists.txt

  Log Message:
  -----------
  [RISCV][LLDB] Add RISC-V Architecture plugin for trap validation (#207675)

Add a minimal `RISC-V Architecture` plugin and implement
`IsValidTrapInstruction` for trap opcodes. The plugin recognizes riscv32
and riscv64 targets and validates 32-bit `EBREAK` and 16-bit `C.EBREAK`.

On RISC-V, `EBREAK` traps with the PC still pointing at the `EBREAK`
instruction. A plain continue resumes from that same PC and traps again.
This issue was found while trying to run the `TestBuiltinDebugTrap` test
case locally on a `RISC-V QEMU`.

Added a cpp unit test to verify the behaviour of
`IsValidTrapInstruction`. I've chosen to verify `EBREAK` on `riscv32`
and `C.EBREAK` on `riscv64` so that there is some coverage for both
targets.

Assisted by gpt-5.5


  Commit: 70646dd3eda3e64fc94b44d7403f946cd7455b92
      https://github.com/llvm/llvm-project/commit/70646dd3eda3e64fc94b44d7403f946cd7455b92
  Author: lianjinfeng2003 <101249452+mygitljf at users.noreply.github.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/StmtPrinter.cpp
    M clang/unittests/AST/StmtPrinterTest.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  [clang][AST] Qualify DeclRefExpr printing (#206041)

I updated DeclRefExpr printing so fully-qualified printing consistently
uses declaration ownership rather than only the written qualifier. This
also preserves existing behavior for local names and cleaned parameter
names.
The added tests cover both the direct expression printer behavior and
the original type-printing scenario that exposed the missing
qualification.

Fixes #205925


  Commit: 64df722400e57118436776be2b897e70d12e8553
      https://github.com/llvm/llvm-project/commit/64df722400e57118436776be2b897e70d12e8553
  Author: walkerkd <keith.walker at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedC1Nano.td

  Log Message:
  -----------
  [AArch64] C1-Nano scheduler cleanup in preparation for SME [NFC] (#207738)

Change are in preparation for a forthcoming addition of SME to the
C1-Nano scheduling model. This is restructuring of the code which does
not involve the actual SME changes. By separating out these NFC changes
it will make review of the SME specific changes easier.

- Defined resource names to match the form now used in the C1-Ultra
scheduling model which has the throughput information on the end of the
name rather than in the middle:

    C1NanoWrite_1c_1r_2ALU => C1NanoWrite_1c_2ALU_1rc

- Moved definitions so that they more closely match the order they are
defined in the C1-Nano SWOG. This make it easier to match entries in the
code to the tables in the SWOG.

These changes also make the C1-Nano scheduling model more closely match
the forms and layout used in the C1-Ultra scheduling model.


  Commit: ff518705c4c5d1e6e7a94d6ab7819618708d5bcd
      https://github.com/llvm/llvm-project/commit/ff518705c4c5d1e6e7a94d6ab7819618708d5bcd
  Author: Chandana Mudda <quic_csinderi at quicinc.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/sext-mul-splat-v2i16.ll

  Log Message:
  -----------
  [Hexagon] Optimize sext + mul pattern for splatted scalar sext i16 (#206893)

Extend the existing vmpyh pattern to handle the case where one operand
of a v2i32 nsw mul is a splatted scalar sext i16 value. When the splat
is hoisted out of a loop, it arrives as assertsext v2i32, i16 in the DAG
rather than sext v2i16. The existing pattern did not match this form,
causing the multiply to expand to two scalar mpyi instructions.

Add a PatFrag assertsext_v2i32_i16 to match assertsext nodes of type
v2i32 extended from i16, and two new patterns (both operand orderings)
that recover the v2i16 using A2_combine_ll before feeding into
M2_vmpy2s_s0.


  Commit: adc3969513100367bd4b2cf6add8935cd308432b
      https://github.com/llvm/llvm-project/commit/adc3969513100367bd4b2cf6add8935cd308432b
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU] Use APFloat::getOne instead of parsing "1.0" (NFC) (#207916)


  Commit: 4e43cd6339934945e829ddc4ec3ef81c381a0423
      https://github.com/llvm/llvm-project/commit/4e43cd6339934945e829ddc4ec3ef81c381a0423
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll

  Log Message:
  -----------
  [LV][RISCV] Enable FSub reduction for scalable VFs (#207698)

#197134 introduced a change to FAdd reduction recognition, causing fsub
instructions to be classified as FSub reductions instead of FAdd
reductions. This patch fixes the regression by enabling FSub reduction
support for scalable VFs in TTI.


  Commit: ec9e62cb609a0382c817112e983c461827056dfd
      https://github.com/llvm/llvm-project/commit/ec9e62cb609a0382c817112e983c461827056dfd
  Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp

  Log Message:
  -----------
  [MLIR][XeGPU] Move arch-specific topology under uArch check (#207449)


  Commit: 503f0ca19cfcc9c0c88d6918939a2c0038ad0498
      https://github.com/llvm/llvm-project/commit/503f0ca19cfcc9c0c88d6918939a2c0038ad0498
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp

  Log Message:
  -----------
  [SPIR-V] Simplify and fix sign-extension bug in convertCharsToWord (#207769)


  Commit: 81e317971d50396fc68a602a505eb85572c51373
      https://github.com/llvm/llvm-project/commit/81e317971d50396fc68a602a505eb85572c51373
  Author: DaanishD20 <daanish.dhillip at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/constant-expression-cxx2a.cpp

  Log Message:
  -----------
  [clang] Fix constant-evaluator crash on array new with no size (#207730)

An array new-expression whose bound is neither specified nor deducible
from its initializer (for example `new int[]()`) is ill-formed and is
already diagnosed by Sema with `error: cannot determine allocated array
size from initializer`. However, the constant evaluator still tried to
evaluate the recovery expression. In
`PointerExprEvaluator::VisitCXXNewExpr`
the array size is unavailable (`E->getArraySize()` is `nullopt`), so the
allocation fell through to the scalar-new path, producing an array
`APValue` stored under a scalar type. Reading that object later asserted
in `Type::castAsArrayTypeUnsafe()` (`isa<ArrayType>(CanonicalType)`)
from
`CheckEvaluationResult`.

This patch detects an array new-expression whose size could not be
determined and bails out of constant evaluation.

Fixes #200139


  Commit: d6a4a97cb7a198121e5058d6c4c6b4552259a79d
      https://github.com/llvm/llvm-project/commit/d6a4a97cb7a198121e5058d6c4c6b4552259a79d
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [NFC][SPIRV] Remove dead helper `addStringImm(const StringRef &Str, IRBuilder<> &B, std::vector<Value *> &Args)` (#207923)

The helper was unused.


  Commit: ee2f8649c1be2702a79d2249d2e4f7a9befb115b
      https://github.com/llvm/llvm-project/commit/ee2f8649c1be2702a79d2249d2e4f7a9befb115b
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses-i64-rv32.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-i64-rv32.ll

  Log Message:
  -----------
  [RISCV] Fix interleaved + strided costs for e64 elements on rv32 (#207927)

This is the same fix as #176105 for interleaved + strided memory op
costs.

We currently compute the cost of interleaved + strided ops as N *
scalar element memory ops, but on rv32 the scalar memory access will
be on an illegal type for 64 bit elements, even with zve64x. Prevent
it from overcosting by just using TCC_Basic.


  Commit: 62cb33ee38d748e16e95bc6e90fa747ae7f6c49b
      https://github.com/llvm/llvm-project/commit/62cb33ee38d748e16e95bc6e90fa747ae7f6c49b
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h

  Log Message:
  -----------
  [RISCV] Enumerate all RecurKind cases in isLegalToVectorizeReduction. nfc (#207932)


  Commit: 5318bd4123261b716c8a0750076495b77e3614dc
      https://github.com/llvm/llvm-project/commit/5318bd4123261b716c8a0750076495b77e3614dc
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/elf.yaml
    M libc/include/llvm-libc-macros/sys-auxv-macros.h

  Log Message:
  -----------
  [libc] Add auxiliary vector and note macros to elf.h (#207914)

Added missing macros to elf.h:

* sys-auxv-macros.h: Added AT_RSEQ_FEATURE_SIZE and AT_RSEQ_ALIGN.
* elf.yaml: Added PT_AARCH64_MEMTAG_MTE, PN_XNUM, ELFCLASSNUM, EV_NUM,
and AT_* macros (via sys-auxv-macros.h). Also added NN_* and NT_* note
macros (including NT_FPREGSET and NT_SIGINFO) to match system headers.
* CMakeLists.txt: Added sys_auxv_macros dependency to elf target.

Assisted-by: Automated tooling, human reviewed.


  Commit: 6e0de1cea1c8c567304e5e539ba480cada3e28f5
      https://github.com/llvm/llvm-project/commit/6e0de1cea1c8c567304e5e539ba480cada3e28f5
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libsycl/docs/index.rst
    M libsycl/include/sycl/__impl/async_handler.hpp
    M libsycl/include/sycl/__impl/detail/obj_utils.hpp
    M libsycl/include/sycl/__impl/queue.hpp
    M libsycl/src/detail/offload/offload_topology.cpp
    M libsycl/src/detail/platform_impl.cpp
    M libsycl/src/detail/queue_impl.cpp
    M libsycl/src/detail/queue_impl.hpp
    M libsycl/src/queue.cpp
    A libsycl/test/usm/memcpy.cpp
    M libsycl/unittests/mock/helpers.cpp
    M libsycl/unittests/mock/helpers.hpp
    M libsycl/unittests/mock/mock.cpp
    M libsycl/unittests/queue/CMakeLists.txt
    A libsycl/unittests/queue/memcpy.cpp

  Log Message:
  -----------
  [libsycl] Implement memcpy API (#205369)


  Commit: fcd02ae7caf28f99357521cafaa6cc7be216ad02
      https://github.com/llvm/llvm-project/commit/fcd02ae7caf28f99357521cafaa6cc7be216ad02
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][SPIRVToLLVM] Add spirv.Unreachable to llvm.unreachable conversion (#207762)


  Commit: d8bc45049075791aa291ef0d6298061308506346
      https://github.com/llvm/llvm-project/commit/d8bc45049075791aa291ef0d6298061308506346
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp

  Log Message:
  -----------
  [lldb][Linux] Show si_addr for SIGBUS signals (#207718)

The general rule is if si_addr is the same as the PC, we don't show it
because it doesn't add any new information.

SIGBUS signals are caused by an instruction trying to do something, but
si_addr is not the address of the instruction. It's some virtual
address, which is the important bit so add it to the description.

https://man7.org/linux/man-pages/man7/signal.7.html
> SIGBUS <...> Bus error (bad memory access)

Before:
```
* thread #1, name = 'test.o', stop reason = signal SIGBUS: illegal address
  * frame #0: 0x0000aaaaaaaa0b80 test.o`main at test.c:42:13
```
After:
```
* thread #1, name = 'test.o', stop reason = signal SIGBUS: illegal address (fault address=0xfffff7ff6000)
  * frame #0: 0x0000aaaaaaaa0b80 test.o`main at test.c:42:13
```
I am not adding test cases for this because:
* They would be architecture specific.
* Reliably generating BUS_OBJERR seems difficult.
* Signal reporting has good coverage as it is, so we know that
si_code/si_addr are handled correctly.


  Commit: 3f3276ea30babdca38cbfa1188c3b8302819641f
      https://github.com/llvm/llvm-project/commit/3f3276ea30babdca38cbfa1188c3b8302819641f
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVMetadata.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [NFC][SPIRV] Use `StringRef` by value (no `const`, no `&`) (#207940)

A `StringRef` is non-modifiable and it acts as a reference, so there is
no need to declare it as `const` nor `&`.

---------

Co-authored-by: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>


  Commit: 5aa3f7d5ca15ef942e2735555724a65358d0a30d
      https://github.com/llvm/llvm-project/commit/5aa3f7d5ca15ef942e2735555724a65358d0a30d
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp
    A llvm/test/Transforms/LoopDistribute/non-lcssa-input.ll
    A llvm/test/Transforms/LoopLoadElim/non-lcssa-input.ll

  Log Message:
  -----------
  [LLE][LoopDistribution][LoopVersioning] Form LCSSA at Caller Invoking LoopVersioning Utility (#202296)

LoopVersioning utility `versionLoop()` expects the input form to be
LCSSA. However, passes like Loop distribution, Loop-load-elimination,
may invoke versioning with a non-LCSSA IR. Versioning updates exit-block
PHIs to handle both the original loop and the cloned loop. However, a
raw non-LCSSA use in the exit block (such as `switch i1 %C`) still
points to the original loop’s `%C`. On the cloned-loop path, control
reaches the exit block without executing the original `%C`, resulting in
error: `Instruction does not dominate all uses!`.

The fix is to form LCSSA at the caller pass.


  Commit: d4cf0c375dadd830c27a2b16e0283c4e31beac1a
      https://github.com/llvm/llvm-project/commit/d4cf0c375dadd830c27a2b16e0283c4e31beac1a
  Author: David Green <david.green at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-wro-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/subreg-copy.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/vararg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/widen-narrow-tbz-tbnz.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/xro-addressing-mode-constant.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update some tests to use concrete types. NFC (#207960)


  Commit: bc5d5f369d127f8b029a81e4fcd874d4b6454347
      https://github.com/llvm/llvm-project/commit/bc5d5f369d127f8b029a81e4fcd874d4b6454347
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/command-processor.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/float-loop-counter.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/std-namespace-modification.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/new-delete-overloads.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/non-copyable-objects.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-setjmp-longjmp.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-variadic-functions.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/copy-constructor-mutates-argument.cpp

  Log Message:
  -----------
  [clang-tidy][docs] Update CERT links to current SEI URLs. NFC. (#207893)


  Commit: ac60c83fc60a86c01eaaafd82bb19bc41649bcfa
      https://github.com/llvm/llvm-project/commit/ac60c83fc60a86c01eaaafd82bb19bc41649bcfa
  Author: walkerkd <keith.walker at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-streaming-cme-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-sme-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Inputs/streaming-cme-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Inputs/sve-sme-instructions.s

  Log Message:
  -----------
  [AArch64] llvm-mca C1-Ultra tests: SVE instructions added by SME when not streaming [NFC] (#207948)

In the C1-Ultra llvm-mca test, moves some instructions that were
incorrectly in the test file for "Instructions available with no SME but
will be sent to CME when in streaming SVE mode" into a file specifically
for instruction that are "SVE instructions added by SME and available
when not in Streaming SVE mode".

This is in preparation for forthcoming C1-Nano SME support to the
scheduling model that currently has no information about these
instruction due to lack of information in the C1-Nano SWOG.

This change is currently NFC because the C1-Ultra is still running the
the same tests, just from different test files.


  Commit: baddc8f7778881120a2a206de817454e13f762bc
      https://github.com/llvm/llvm-project/commit/baddc8f7778881120a2a206de817454e13f762bc
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_args.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_commands.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_cwd.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_debuggerRoot.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_failing_console.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_failing_launch_commands.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_invalid_launch_commands_and_console.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_invalid_program.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_no_lldbinit_flag.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_disabled.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_enabled.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_sourcePath.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stopOnEntry.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_terminate_commands.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_termination.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_version.py
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp

  Log Message:
  -----------
  [lldb-dap] Migrate DAP launch tests (#207023)

Migrate all the tests in `lldb-dap/launch` base directory only. Fixes
any grammar if needed.


  Commit: 7b4fd8762aa76e8b256afb51043a1508af2646fe
      https://github.com/llvm/llvm-project/commit/7b4fd8762aa76e8b256afb51043a1508af2646fe
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv

  Log Message:
  -----------
  [libc++] Mark LWG3585 as resolved (#207717)

- Close: https://github.com/llvm/llvm-project/issues/104934.
- Commit:
https://github.com/llvm/llvm-project/commit/0d3d8de014f1012dd0b2c2c077099cf6face44e5
- Test:
https://github.com/llvm/llvm-project/blob/52271a5c11f6abde1fa1221db304212b5eb8ec7c/libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp#L29-L34


  Commit: 38a4eef07180d1d9a3216a7ea9d71c50ee4f3c0e
      https://github.com/llvm/llvm-project/commit/38a4eef07180d1d9a3216a7ea9d71c50ee4f3c0e
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll

  Log Message:
  -----------
  [AMDGPU] Save entry EXEC in whole-wave prologue with no WWM spills (#207924)

PR #207781 replaced the prologue S_XOR_SAVEEXEC (which set EXEC to
~entryEXEC) with a plain S_MOV EXEC, -1, but dropped the save of the
entry EXEC that the return restores from, leaving an undefined register
read

se S_OR_SAVEEXEC to both save entry EXEC and set EXEC to -1


  Commit: 4db63ee847f2a9154a9869da51a8c575eb123923
      https://github.com/llvm/llvm-project/commit/4db63ee847f2a9154a9869da51a8c575eb123923
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-07 (Tue, 07 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/hdr/CMakeLists.txt
    A libc/hdr/inet-address-macros.h
    M libc/include/arpa/inet.yaml
    M libc/src/__support/net/CMakeLists.txt
    M libc/src/__support/net/address.cpp
    M libc/src/__support/net/address.h
    M libc/src/arpa/inet/CMakeLists.txt
    A libc/src/arpa/inet/inet_ntop.cpp
    A libc/src/arpa/inet/inet_ntop.h
    M libc/test/src/arpa/inet/CMakeLists.txt
    A libc/test/src/arpa/inet/inet_ntop_test.cpp

  Log Message:
  -----------
  [libc] Add inet_ntop (#204143)

The function converts from IPv4/6 addresses to their string forms. The
complication comes from the v6 part due to address compression and
v4-mapping.

The traditional implementation of this is to sprintf the address into a
temporary buffer. We cannot do that here due to the ban on calling other
entry points. Using the lower-level constructs is possible, but a
straight forward application of IntegerToString does not result in
particularly impressive performance: 50%-100% slower than what's in this
patch (and slower than glibc). It also doesn't make the code much
smaller as the majority of it is dedicated to v6 compression.

The IPv6 implementation uses a temporary buffer, but it also has a
fast-path which skips the buffer if its size is guaranteed to be
sufficient. The IPv4 implementation also has a fast path, but the
fallback here is to compute the precise length of the string instead
(the buffer option was slower and IPv4 makes it easier to compute the
precise length).

The v6 compression code is unrolled to make it easier to optimize. While
it is possible to write a single printing loop that handles all cases,
its branchiness does not make it amenable for optimization.

The resulting function is faster than its glibc counterpart, though the
exact ratio varies depending on the input:
- random IPv4: 15% faster
- random IPv6: 6% faster
- "::": 50% faster


  Commit: de348bcd5f7898dc7478fed6bbd95c97a1848d98
      https://github.com/llvm/llvm-project/commit/de348bcd5f7898dc7478fed6bbd95c97a1848d98
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp

  Log Message:
  -----------
  [NFC][mlir][bufferization] Align alloc/memcpy/cast options hooks to the rest (#206966)

There are three hooks that have a different, more complicated API than
the other ones: allocationFn, memCpyFn, castFn. All three are called via
"helper" functions that check whether the hooks are set to call them and
fall back to default implementations otherwise.

Other hooks (e.g. unknownTypeConverterFn) in the bufferization options
have a different "API": they are always set to some default
implementation and can be overwritten by the user. This is a simpler API
overall and seems it can be universal.

Note for LLVM integration: BufferizationOptions::{createAlloc,
createMemCpy, createCast} functions are "replaced" with direct calls to
the underlying std::function objects. At any call-site that relied on
any of the removed APIs, a call to the respective hook should now be
used instead. The exception is the `allocationFn` hook which needs an
explicit "bufferAlignment" parameter. Beforehand, it was implicitly
taken from BufferizationOptions::bufferAlignment field, so a
non-functional migration path is to go from
`options.createAlloc(builder, loc, destType, value)` to
`options.allocationFn(builder, loc, destType, value,
options.bufferAlignment)`.


  Commit: 8f7019acdd29270a0a51006a6cbdb43d6844dd20
      https://github.com/llvm/llvm-project/commit/8f7019acdd29270a0a51006a6cbdb43d6844dd20
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/typeid.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix getting typeid pointers of struct fields (#207946)

`getDeclPtr()` will return the declaration pointer, which might be
unrelated to the pointer we actually care about.


  Commit: f8defb1033fefe4a62e2f71540e3bea16c20e09f
      https://github.com/llvm/llvm-project/commit/f8defb1033fefe4a62e2f71540e3bea16c20e09f
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [NFC][SPIRV] Remove dead helper `buildOpMemberDecorate(Register, MachineInstr &, ...)` (#207952)

Another dead helper.


  Commit: b4c4fd9ee380b00000ab3fd6e71f9a8c807fb96a
      https://github.com/llvm/llvm-project/commit/b4c4fd9ee380b00000ab3fd6e71f9a8c807fb96a
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [NFC][SPIRV] Make `getVacantFunctionName` static (#207954)

The function is only used inside `SPIRVUtils.cpp`.


  Commit: 12c36c7abb1600638d976258c1c0d3517df59226
      https://github.com/llvm/llvm-project/commit/12c36c7abb1600638d976258c1c0d3517df59226
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-07 (Tue, 07 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/hdr/CMakeLists.txt
    A libc/hdr/net_if_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_ifreq.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/net-if-macros.h
    A libc/include/llvm-libc-macros/net-if-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_ifreq.h
    A libc/include/net/if.yaml
    M libc/src/CMakeLists.txt
    A libc/src/net/CMakeLists.txt
    A libc/src/net/if_indextoname.h
    A libc/src/net/if_nametoindex.h
    A libc/src/net/linux/CMakeLists.txt
    A libc/src/net/linux/if_indextoname.cpp
    A libc/src/net/linux/if_nametoindex.cpp
    M libc/test/src/CMakeLists.txt
    A libc/test/src/net/CMakeLists.txt
    A libc/test/src/net/linux/CMakeLists.txt
    A libc/test/src/net/linux/if_indextoname_test.cpp
    A libc/test/src/net/linux/if_nametoindex_test.cpp

  Log Message:
  -----------
  [libc] Implement if_nametoindex and if_indextoname (#206082)

This patch implements if_nametoindex and if_indextoname for Linux.

Both functions work by creating a temporary AF_UNIX socket and issuing
ioctl calls (SIOCGIFINDEX and SIOCGIFNAME, respectively).

The main implementation details:
- for if_nametoindex, I check that the interface name fits within
IF_NAMESIZE before issuing the ioctl
- for if_indextoname, if the kernel returns ENODEV for an unknown index,
I map it to ENXIO to comply with POSIX requirements
- added the definition of struct ifreq to support these operations.
Similar to the other net structure definitions, I'm using an anonymous
union to avoid #defining members.

Assisted by Gemini.


  Commit: 149e219bf87f31f0a209037e52b0412d0e8cb5a8
      https://github.com/llvm/llvm-project/commit/149e219bf87f31f0a209037e52b0412d0e8cb5a8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/cxx2a.cpp

  Log Message:
  -----------
  [clang][bytecode] Add more checks for pseudo dtors (#207959)

Rename the `EndLifetimePop` op (which was only used for pseudo dtors) to
`PseudoDtor` and call `checkDestructor()` in there, so we get the full
suite of checks.


  Commit: 5506a59c7ff2a3a066d1ec6c3fb0ce69754923d4
      https://github.com/llvm/llvm-project/commit/5506a59c7ff2a3a066d1ec6c3fb0ce69754923d4
  Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/barrier-signal-wait-latency.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/slsr-var-delta.ll
    A llvm/test/Transforms/StraightLineStrengthReduce/slsr-gep-sext-wrap.ll

  Log Message:
  -----------
  [SLSR] Fix slsr gep stride delta miscompile (#204278)

Signed-off-by: feng.feng <feng.feng at iluvatar.com>


  Commit: 132aa1fcb68f5bedc9e15d47a2d90b06ebf7727b
      https://github.com/llvm/llvm-project/commit/132aa1fcb68f5bedc9e15d47a2d90b06ebf7727b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-av-none.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-cluster.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-cluster.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-cluster.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-cluster.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/schedule-barrier-latency-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/tgsplit.ll
    M llvm/test/MC/AMDGPU/hsa-tg-split.s

  Log Message:
  -----------
  AMDGPU: Replace tgsplit subtarget feature with attribute (#204216)

This is a per-entrypoint property and has a corresponding
assembler directive, so it should not be baked into the
subtarget. I couldn't find much documentation on what this
actually does, so the description isn't great.

Fixes #204149

Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 8c97a2edd20343c7729f76f7b119e024eb6530cc
      https://github.com/llvm/llvm-project/commit/8c97a2edd20343c7729f76f7b119e024eb6530cc
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/PCH/dllexport-ctor-closure-copy.cpp

  Log Message:
  -----------
  [Clang] Fix null-pointer assertion reading CtorClosureDefaultArgs (#207917)

BuildCtorClosureDefaultArgs deliberately leaves the first default-arg
slot null for MS ABI copy-constructor closures (the closure itself
supplies that argument), and ASTWriterDecl.cpp serializes the null. But
e7924d50db0a deserialized it with cast<>, which asserts on null. This
only triggers under the MS C++ ABI, e.g. when throwing a class with a
non-trivial copy constructor by value across a PCH boundary, as in test

https://github.com/intel/llvm/blob/cb9b7b7/clang-tools-extra/clangd/test/sycl.test

Assisted by: Claude


  Commit: e16f4895b18d4bac812326416dbb774d5b4162ad
      https://github.com/llvm/llvm-project/commit/e16f4895b18d4bac812326416dbb774d5b4162ad
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    A llvm/test/CodeGen/SPIRV/malformed-mangled-builtin-name.ll

  Log Message:
  -----------
  [SPIR-V] Avoid crash on malformed mangled builtin name length (#207939)

Replace the assert on invalid length parsing with a graceful bail-out
since malformed names can potentially come from outside, it is not
necessarily always an error

All usages of `getOclOrSpirvBuiltinDemangledName` are being checked for
emptiness where it is needed anyway


  Commit: d8a9bfb0b39d2d331bd6e587016c779552caaffc
      https://github.com/llvm/llvm-project/commit/d8a9bfb0b39d2d331bd6e587016c779552caaffc
  Author: ayrai-gb <ayrai at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/test/CodeGen/X86/asm-modifier.ll

  Log Message:
  -----------
  [X86] Fix inline asm modifier printing across dialects (#204558)

X86AsmPrinter handles several inline asm operand modifiers differently
depending on whether the asm block uses AT&T or Intel syntax.

For `%a` and `%A`, the scalar/register operand path used AT&T
punctuation unconditionally. In Intel-dialect inline asm this could
print invalid forms such as `(rdi)` for an address operand or `*rdi` for
an indirect call operand.

For `%P`, `PrintAsmMemoryOperand` passed `"disp-only"` to both the Intel
and AT&T memory printers, but only the Intel path honored it for
global/symbol displacements with a base register. The AT&T path could
therefore print `g(%rdi)` even though `%P` requested displacement-only
output.

Make the affected X86 asm-printer paths dialect-aware/consistent:
- print Intel `%a` register operands as `[reg]`
- print Intel `%A` register operands without AT&T `*`
- make AT&T `%P` honor `"disp-only"` for global/symbol displacements,
matching the existing Intel behavior

Found via @jlebar's X86 LLVM bug-hunt / FuzzX effort.

cc @jlebar

Co-authored-by: Ayush Rai <your-email at amd.com>


  Commit: 670c3c0adc6487654d0fd857e6666fe5576f5a68
      https://github.com/llvm/llvm-project/commit/670c3c0adc6487654d0fd857e6666fe5576f5a68
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M orc-rt/CMakeLists.txt

  Log Message:
  -----------
  [orc-rt] Fix indentation in CMakeLists.txt. NFC. (#207980)


  Commit: 17d7bf22294173609c3a711a223713780055ed66
      https://github.com/llvm/llvm-project/commit/17d7bf22294173609c3a711a223713780055ed66
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode] Try to avoid temporaries in (compound) assignments (#207652)

This is only needed if the RHS has side-effects. If we can easily and
cheaply prove that it doesn't, avoid the temporary variable. This saves
memory and is slightly faster.


  Commit: 7cb8692cc1455e983bdd7312d3bcc2f2f5222760
      https://github.com/llvm/llvm-project/commit/7cb8692cc1455e983bdd7312d3bcc2f2f5222760
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve2-mull-acc.ll

  Log Message:
  -----------
  [AArch64] Select SVE2 multiply-add long from mull and add/sub (#207951)

Both multiple-add long and multiple long are part of SVE2.


  Commit: e0093262487e101d3c13773bf313cd3641544cd8
      https://github.com/llvm/llvm-project/commit/e0093262487e101d3c13773bf313cd3641544cd8
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
    A llvm/test/CodeGen/ARM/cmn-shift.ll
    M llvm/test/CodeGen/ARM/cmp-peephole.ll
    M llvm/test/CodeGen/ARM/umulo-32.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll

  Log Message:
  -----------
  [ARM] Swap sides of cmp/cmn based on folding ability (#191915)

If we can fold lsl, lsr, rotr, or asr into the right side of the
compare, we should do so.


  Commit: 9588dfe546b81a76a79c571ca0740cab494ff707
      https://github.com/llvm/llvm-project/commit/9588dfe546b81a76a79c571ca0740cab494ff707
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/select-abs-positive-mul.ll

  Log Message:
  -----------
  [InstCombine] Recognize abs through positive-K nsw multiply. (#207539)

Generalize matchSelectPattern to also consider multiplies that do not
change sign when trying to from llvm.abs.

End-to-end, this allows vectorizing with narrower element types for code
such as below. This triggers in some ffmpeg kernels on AArch64.

```
  void scaled_absdiff_u8(uint8_t * __restrict out,
                         const uint8_t * __restrict a,
                         const uint8_t * __restrict b,
                         size_t n) {
    for (size_t i = 0; i < n; ++i) {
      int32_t d = 4 * ((int32_t)a[i] - (int32_t)b[i]);
      if (d < 0) d = -d;
      if (d > 255) d = 255;
      out[i] = (uint8_t)d;
    }
  }
```

Alive2 proof:
 * Mul - https://alive2.llvm.org/ce/z/pGYQ36
 * Shl - https://alive2.llvm.org/ce/z/WBU2mw

PR: https://github.com/llvm/llvm-project/pull/207539


  Commit: 0d9f3f41d6a45e0673c04a01e64d24a76ccffe60
      https://github.com/llvm/llvm-project/commit/0d9f3f41d6a45e0673c04a01e64d24a76ccffe60
  Author: David Truby <david.truby at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M openmp/runtime/cmake/arm64x.cmake
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [openmp][arm64ec] Fix arm64x when PER_TARGET_RUNTIME_DIR=On (#207747)

This patch fixes an issue where the combination of LIBOMP_ENABLE_ARM64X
and LLVM_PER_TARGET_RUNTIME_DIR=On led to only the arm64 library being
installed. With this fix, the arm64ec and arm64 .lib files are both
installed, and the arm64x dll is the one installed to the binary dir.


  Commit: 884d9277e89834a9a76a8891de6624c791e5ee08
      https://github.com/llvm/llvm-project/commit/884d9277e89834a9a76a8891de6624c791e5ee08
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/docs/PDB/MsfFile.rst

  Log Message:
  -----------
  [docs][pdb] Fix description of FileMagic (#207972)

There are no spaces around the slash:

https://github.com/microsoft/microsoft-pdb/blob/master/PDB/msf/msf.cpp#L962

Fixes #158492


  Commit: d847e2f19b7dfb63c4f73fefcc69cf328b9c18d7
      https://github.com/llvm/llvm-project/commit/d847e2f19b7dfb63c4f73fefcc69cf328b9c18d7
  Author: Cyrus Ding <91178148+dingcyrus at users.noreply.github.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/IdentifierTable.h

  Log Message:
  -----------
  [Clang] Renumber TokenKey enum values to close gap left by KEYNOZOS removal (#207906)

The previous commit (#207132) removed the unused KEYNOZOS flag
(0x4000000) but left a gap between KEYZOS (0x2000000) and KEYHLSL
(0x8000000). This patch renumbers the subsequent TokenKey values to
close the gap:

  KEYHLSL:       0x8000000  -> 0x4000000
  KEYFIXEDPOINT: 0x10000000 -> 0x8000000
  KEYDEFERTS:    0x20000000 -> 0x10000000
  KEYNOHLSL:     0x40000000 -> 0x20000000

The ~0x4000000u exclusion in KEYALL and the associated reserved-bit
comment are removed, since the renumbering eliminates the orphaned bit.

This is a follow-up to #207132, as suggested by @perry-ca.

AI assistance was used for code review analysis and CI failure
debugging.

Co-authored-by: Chenguang Ding <dingchenguang at kylinos.cn>


  Commit: 91578461e8a112941afeed18679efb168b81f796
      https://github.com/llvm/llvm-project/commit/91578461e8a112941afeed18679efb168b81f796
  Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    A clang/test/CodeGen/builtin-cpu-is-cputype.c
    A clang/test/CodeGen/builtin-cpu-is-subtype.c
    A clang/test/CodeGen/builtin-cpu-is-vendor.c
    R clang/test/CodeGen/builtin-cpu-is.c
    A clang/test/CodeGen/builtin-cpu-supports-all.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/TargetParser/X86TargetParser.h
    M llvm/lib/TargetParser/X86TargetParser.cpp

  Log Message:
  -----------
  [X86] Sync compiler-rt cpu subtypes and vendors with libgcc and refactor internal cpu type tables in LLVM (#171172)

This is a continuation of previous PR:
https://github.com/llvm/llvm-project/pull/168750

compiler-rt was synced with libgcc on ProcessorVendor and
ProcessorSubtype fields and so was llvm. Cpu type, subtype and vendor
entries in X86TargetParser.def were refactored to use ABI_VALUE.

LLVM doesn't set the ABI_VALUE for its enums -- clang now takes care of
that by reading the ABI_VALUE.

I've removed and added some comments to better explain what is going on.

While at it, I've added tests to check that right values are passed for
vendor, subtypes, types and features (the last ones weren't added in
feature sync PR: https://github.com/llvm/llvm-project/pull/168750)

Parts of the PR (test) have been realized using Claude Code


  Commit: 5343b204252d7bf5bdfcacd664e78e9f7f9fd745
      https://github.com/llvm/llvm-project/commit/5343b204252d7bf5bdfcacd664e78e9f7f9fd745
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxxabi/src/CMakeLists.txt

  Log Message:
  -----------
  [libcxxabi] Don't enable -fvisibility=hidden on Windows (#207943)

This option is supported (and hence gets added by the
target_add_compile_flags_if_supported function) on Windows, but if using
dllexport, there's no point in using hidden visibility. (However if
building both static and shared libraries at the same time, it could be
beneficial to have hidden visibilty in the static libraries.)

In asserts enabled builds of Clang, building with -fvisibility=hidden
caused errors like this:

    dllexport GlobalValue must have default or protected visibility
    ptr @_ZTIv
    [...]
    fatal error: error in backend: Broken module found, compilation aborted!

Normally, combining -fvisibility=hidden with dllexport is not a problem,
but specifically for `__cxxabiv1:: __fundamental_type_info` it does make
Clang trigger an inconsistency, visible in asserts enabled builds of
Clang - see https://github.com/llvm/llvm-project/issues/207963.

This fixes Windows builds with Clang with asserts enabled, after
cb942d009a5ed029ce20d9b75b3604f551f0cb56.


  Commit: 849d90b64e2a91892d45d2fa75f405fa075d3c3d
      https://github.com/llvm/llvm-project/commit/849d90b64e2a91892d45d2fa75f405fa075d3c3d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaType.cpp
    M clang/test/C/C23/n3007.c
    M clang/test/Parser/c2x-auto.c

  Log Message:
  -----------
  [C23] Allow deducing restrict and _Atomic qualifiers (#207994)

We were limiting the logic to __auto_type when it should apply to auto
as well.

Fixes #207466


  Commit: 980f51a9b264a836b1a145366f17cd1b6d843f7c
      https://github.com/llvm/llvm-project/commit/980f51a9b264a836b1a145366f17cd1b6d843f7c
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPostRAHandleQFP.cpp

  Log Message:
  -----------
  [Hexagon] Don't use reserved identifiers (#207967)

All identifiers that begin with an underscore followed by a capital
letter or by another underscore are reserved.


  Commit: 90dd76bf36f5d8c5ab4dccabee444229e461e7be
      https://github.com/llvm/llvm-project/commit/90dd76bf36f5d8c5ab4dccabee444229e461e7be
  Author: Barbara Mitic <bmitic at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
    A llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll

  Log Message:
  -----------
  [AMDGPU] Select the high-half 16-bit packing idiom to v_lshl_or_b32 (#206058)

The (hi << 16) | z high-half packing idiom is not fused by the existing
(or (shl x, y), z) selection. By the time it reaches ISel the DAG
combiner has rewritten (ext i16) << 16 into bitcast(build_vector (i16
0), hi), so there is no shl node left to match and the build_vector and
or are selected separately.

Add ISel patterns that match the build_vector form directly. On the
non-real-true16 path the high-half source is a VGPR_32, so fold into
v_lshl_or_b32. On the real-true16 path the high-half source is a VGPR_16
and 16-bit ops are native, so OR it into the high half of the other
operand with v_or_b16 and assemble the result with a REG_SEQUENCE.

Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>


  Commit: 0ac35389e9d47fb9aa2934cbfab274aa69d05317
      https://github.com/llvm/llvm-project/commit/0ac35389e9d47fb9aa2934cbfab274aa69d05317
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix `getDynamicDecl()` wrt. multiple base classes (#207722)

The previous code did not consider that the base class we're getting
might not be on the path from `TypePtr` to `TypePtr.stripBaseCasts()` at
all, because of multiple bases.


  Commit: 9f4c43747f86f29efa397ad7f172d21dee5ecbe1
      https://github.com/llvm/llvm-project/commit/9f4c43747f86f29efa397ad7f172d21dee5ecbe1
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f64.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Fix orphaned SDAG/GISEL check prefixes in tests (#207964)


  Commit: 5db2a39854f32632fb406b1b25a4b0df4842630e
      https://github.com/llvm/llvm-project/commit/5db2a39854f32632fb406b1b25a4b0df4842630e
  Author: unexpectedlydefined <91391114+unexpectedlydefined at users.noreply.github.com>
  Date:   2026-07-07 (Tue, 07 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/CMakeLists.txt
    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:
  -----------
  Reapply: [llvm-dwarfdump][LineCov 3/3] Add IR analysis for variable coverage (#207974)

Reapplies 5f4940ef. The original patch caused failures on buildbots due to
adding uses of functions defined in LLVMCore and LLVMIRReader without
adding those libraries to the dwarfdump link components.

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: 17c9f2ea943cb65e1afd02d60c67f7928c9b36c2
      https://github.com/llvm/llvm-project/commit/17c9f2ea943cb65e1afd02d60c67f7928c9b36c2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/semanticly-same.ll

  Log Message:
  -----------
  [SLP][NFC]Add a new test for fadd/fsub combination, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208004


  Commit: d1cd1de72a8f88c3b44c2eacb18146ffd3adee2e
      https://github.com/llvm/llvm-project/commit/d1cd1de72a8f88c3b44c2eacb18146ffd3adee2e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/X86/apx/peephole-fold-subreg-tied-copy.mir

  Log Message:
  -----------
  X86: Fix mishandling subregisters in ndd memory fold (#207997)

Defends against regressions in a future change.


  Commit: 3c7727f1269e5986915aacf4ee1ae117843bd573
      https://github.com/llvm/llvm-project/commit/3c7727f1269e5986915aacf4ee1ae117843bd573
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/src/spawn/linux/CMakeLists.txt
    M libc/src/spawn/linux/posix_spawn.cpp

  Log Message:
  -----------
  [libc] Use the dup2 syscall wrapper in posix_spawn (#207879)

posix_spawn's local dup2 helper fell back to a bare dup3 on targets
without SYS_dup2. dup3 fails with EINVAL when oldfd == newfd, where dup2
must instead return oldfd if it is valid, so
posix_spawn_file_actions_adddup2 with equal fds misbehaved on those
targets. linux_syscalls::dup2 already implements the correct fallback,
so call it directly and drop the local helper.


  Commit: e16c737a52fa9c5144299282f4da519e898af2a5
      https://github.com/llvm/llvm-project/commit/e16c737a52fa9c5144299282f4da519e898af2a5
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/instructions/phi-aggregate-call.ll
    A llvm/test/CodeGen/SPIRV/instructions/phi-aggregate-with-overflow-zeroinitializer.ll
    A llvm/test/CodeGen/SPIRV/instructions/phi-aggregate-with-overflow.ll
    A llvm/test/CodeGen/SPIRV/instructions/select-freeze-aggregate-with-overflow.ll

  Log Message:
  -----------
  [SPIRV] Expand aggregate instructions with mutated-type uses (#206835)

This is a workaround for the problem in GH issue
https://github.com/llvm/llvm-project/issues/203586.

The problem is that we need to mutate aggregate-typed PHI nodes to
`i32`, however that means all incoming values need to have a matching
type, but we can't always easily mutate the incoming types to i32, as in
the case in the GH issue with a math intrinsic that returns a struct
by-value.

We do the same mutation for some other cases like `freeze`, the
workaround is the same.

The workaround is to expand the incoming values to a form that will also
be mutated to i32 so the types match. An example transformation is
below:

Before
```
...
bb1:                                              ; preds = %entry
  %0 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %a, i64 %b)
  br label %epilog
...
  %2 = phi { i64, i1 } [ %1, %bb0 ], [ %0, %bb1 ]
```

After
```
...
bb1:                                              ; preds = %entry
  %0 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %a, i64 %b)
  %1 = extractvalue { i64, i1 } %0, 0
  %2 = insertvalue { i64, i1 } poison, i64 %1, 0
  %3 = extractvalue { i64, i1 } %0, 1
  %4 = insertvalue { i64, i1 } %2, i1 %3, 1
  br label %epilog
...
  %10 = phi { i64, i1 } [ %9, %bb0 ], [ %4, %bb1 ]
```

`insertvalue` get replaced with a SPIR-V intrinsic later in the pass
which is also type-mutated, so the IR is correct:

```
...
bb1:                                              ; preds = %entry
  %0 = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %a, i64 %b)
  call void @llvm.spv.value.md(metadata !0)
  call void (...) @llvm.fake.use({ i64, i1 } %0)
  %1 = extractvalue { i64, i1 } %0, 0
  call void @llvm.spv.assign.type.i64(i64 %1, metadata i64 poison)
  call void @llvm.spv.assign.type.i32(i32 undef, metadata { i64, i1 } poison)
  %2 = call i32 (i32, i64, ...) @llvm.spv.insertv.i64(i32 undef, i64 %1, i32 0)
  call void @llvm.spv.assign.type.i32(i32 %2, metadata { i64, i1 } poison)
  %3 = extractvalue { i64, i1 } %0, 1
  call void @llvm.spv.assign.type.i1(i1 %3, metadata i1 poison)
  %4 = call i32 (i32, i1, ...) @llvm.spv.insertv.i1(i32 %2, i1 %3, i32 1)
  call void @llvm.spv.assign.type.i32(i32 %4, metadata { i64, i1 } poison)
  br label %epilog
...
  %10 = phi i32 [ %9, %bb0 ], [ %4, %bb1 ]
```

This is the simplest change I could come up with, my other ideas were
much more complicated and/or risky.

This fix is important for us because this pattern comes up in libc's
implementation on FMA, so this is blocking SPIR-V libc support.

Fixes: https://github.com/llvm/llvm-project/issues/203586

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: cb668bb3632d06bbcd736ec8999811c8b6b06dd5
      https://github.com/llvm/llvm-project/commit/cb668bb3632d06bbcd736ec8999811c8b6b06dd5
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/SPIRV/capability-Int64Atomics-weak-cmpxchg.ll

  Log Message:
  -----------
  [SPIR-V] Add missing Int64Atomics requirement for OpAtomicCompareExchangeWeak (#207965)


  Commit: 250a554f05e54f2bf4f2c2ba736ed2e06429aba2
      https://github.com/llvm/llvm-project/commit/250a554f05e54f2bf4f2c2ba736ed2e06429aba2
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpeq.ll

  Log Message:
  -----------
  [AArch64][InstCombine] Fold xor(cmpeq, pg) to cmpne (#207759)

Extend the existing xor(cmpne(pg, lhs, rhs), pg) fold to also handle
cmpeq to cmpne


  Commit: 999b3cfbe21747aa952f79814e7dfd1a7b3fd891
      https://github.com/llvm/llvm-project/commit/999b3cfbe21747aa952f79814e7dfd1a7b3fd891
  Author: Ankit Kumar Tiwari <141545455+ankit-cybertron at users.noreply.github.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-add-constant-fold.ll

  Log Message:
  -----------
  [SelectionDAG] Fold VECREDUCE_ADD of a constant BUILD_VECTOR (#207560)

This PR implements constant folding for ISD::VECREDUCE_ADD when the
input is a BUILD_VECTOR of integer constants. The fold computes the sum
at compile time using APInt arithmetic and returns a folded constant
scalar, instead of emitting real vector materialization and reduction
instructions for a value that's already known.

Folding is skipped if any element is undef or opaque, since the result
can't be assumed at compile time in that case.

Fixes #206743


  Commit: 047b145c0cfe2ebcf73694f0ab39a0fc11dc9d09
      https://github.com/llvm/llvm-project/commit/047b145c0cfe2ebcf73694f0ab39a0fc11dc9d09
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/shared/builtins.h
    A libc/shared/builtins/mulsf3.h
    M libc/src/__support/builtins/CMakeLists.txt
    A libc/src/__support/builtins/mulsf3.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_builtins_test.cpp

  Log Message:
  -----------
  [libc] add shared mulsf3 builtin (#205678)

Re-exposes LLVM-libc's `__mulsf3` as `shared::mulsf3` for reuse by
compiler-rt's builtins.

Stacked change - merge these first:
- #200094
- #205669
- #205670
- #205671
- #205672
- #205673
- #205674
- #205675
- #205676
- #205677

Part of #197824


  Commit: 2f7a3a032cb0ff5347135c59914733fc04b20d35
      https://github.com/llvm/llvm-project/commit/2f7a3a032cb0ff5347135c59914733fc04b20d35
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/signed_arithmetic_overflow.ll

  Log Message:
  -----------
  [SPIR-V] Fix crash on direct aggregate return of an intrinsic call result (#206491)


  Commit: 012523d96b30a9a6d7148825fe307919a9c4753c
      https://github.com/llvm/llvm-project/commit/012523d96b30a9a6d7148825fe307919a9c4753c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll

  Log Message:
  -----------
  [VPlan] Support VPInstruction for intrinsic calls in live-in folding. (#207836)

Use getIntrinsicID in getOpcodeOrIntrinsicID. This enables constant
folding for VPInstructions calling intrinsics.

PR: https://github.com/llvm/llvm-project/pull/207836


  Commit: 3a6d3f77960b4dded18d15e28eaa3f953be18faa
      https://github.com/llvm/llvm-project/commit/3a6d3f77960b4dded18d15e28eaa3f953be18faa
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][LLVM] Add arithmetic fence intrinsic op (#207975)

Add a generated LLVM dialect op for llvm.arithmetic.fence, including
LLVM IR import and export coverage for scalar and vector floating-point
forms.

Assisted-by: Codex


  Commit: 43ccdbc84774da0ae4cb5131f2245a9633d977b9
      https://github.com/llvm/llvm-project/commit/43ccdbc84774da0ae4cb5131f2245a9633d977b9
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/test/Fir/FirToSCF/do-loop.fir

  Log Message:
  -----------
  [FIRToSCF] propagate acc.par_dims during fir.do_loop conversion (#207973)

Copy any OpenACC parallel dimensions from the fir.do_loop to the scf op


  Commit: 35db7fd565138b4756193b36750f052e27359baf
      https://github.com/llvm/llvm-project/commit/35db7fd565138b4756193b36750f052e27359baf
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addo.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bitcast_38_i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpext.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy-scc-vcc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.atomic.cmpxchg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform-in-vgpr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mad.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/or.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/subo.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomic-cmpxchg.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/add.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-sgpr-no-vgprs.mir
    M llvm/test/CodeGen/AMDGPU/agpr-csr.ll
    M llvm/test/CodeGen/AMDGPU/always-uniform.ll
    M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/and.ll
    M llvm/test/CodeGen/AMDGPU/andorn2.ll
    M llvm/test/CodeGen/AMDGPU/any_extend_vector_inreg.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
    M llvm/test/CodeGen/AMDGPU/bfi_int.ll
    M llvm/test/CodeGen/AMDGPU/bitreverse.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.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-pointer-atomicrmw-usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
    M llvm/test/CodeGen/AMDGPU/build_vector.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/copy-overlap-sgpr-kill.mir
    M llvm/test/CodeGen/AMDGPU/copy-overlap-vgpr-kill.mir
    M llvm/test/CodeGen/AMDGPU/copy-phys-reg-implicit-operand-kills-subregs.mir
    M llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/d16-write-vgpr32.ll
    M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/ds_read2.ll
    M llvm/test/CodeGen/AMDGPU/ds_write2.ll
    M llvm/test/CodeGen/AMDGPU/ds_write2_a_v.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
    M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fabs.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fceil64.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f64.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fence-lds-read2-write2.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fminnum.ll
    M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
    M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx942.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/fshl.ll
    M llvm/test/CodeGen/AMDGPU/fshr.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
    M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bvh8_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bpermute.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dual_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.simple.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1251.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-f32.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-single-wave-workgroup-memops.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
    M llvm/test/CodeGen/AMDGPU/no-folding-imm-to-inst-with-fi.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/or.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-dynamic-idx-bitcasts-llc.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/ptradd-sdag.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/AMDGPU/saddo.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-phys-copy.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-update-only-slot-indexes.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll
    M llvm/test/CodeGen/AMDGPU/siloadstoreopt-misaligned-regsequence.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/ssubo.ll
    M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
    M llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
    M llvm/test/CodeGen/AMDGPU/sub.ll
    M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
    M llvm/test/CodeGen/AMDGPU/swdev380865.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/trunc.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
    M llvm/test/CodeGen/AMDGPU/umin-sub-to-usubo-select-combine.ll
    M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll
    M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
    M llvm/test/CodeGen/AMDGPU/valu-i1.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/AMDGPU/xor.ll

  Log Message:
  -----------
  [AMDGPU] Stop adding implicit def of superreg in copyPhysReg (#125255)

Previously when copyPhysReg expanded a COPY into multiple MOV
instructions it added an implicit def of the destination superreg to the
first MOV. Removing these does not cause any liveness verification
problems and still passes Vulkan CTS for correctness testing.


  Commit: 863be135eb5261fc85007492a5f26de926802a81
      https://github.com/llvm/llvm-project/commit/863be135eb5261fc85007492a5f26de926802a81
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/src/stdio/printf_core/float_hex_converter.h

  Log Message:
  -----------
  [libc] Fix build failure with ASSUME_ROUND_NEAREST_ONLY (#207991)

Commit 03c62ca40d19ba0 moved some local variables of
`convert_float_hex_exp` into a struct called `properties`, but didn't
edit the #ifdef branch for `LIBC_MATH_HAS_ASSUME_ROUND_NEAREST_ONLY`, so
builds with that definition failed.


  Commit: 5ee85101a70dd2628d5b65a6a8a1e5d697d6c757
      https://github.com/llvm/llvm-project/commit/5ee85101a70dd2628d5b65a6a8a1e5d697d6c757
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/mul-shl-nsw-intmin.ll

  Log Message:
  -----------
  [SLP][NFC]Add tests with mul to shl transformations, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208020


  Commit: 31fc40b0904861d33b926dfd6ea04432e7690c49
      https://github.com/llvm/llvm-project/commit/31fc40b0904861d33b926dfd6ea04432e7690c49
  Author: Benjamin Luke <benjamin.luke at sony.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/X86/mmx-inline-asm-error.c
    A clang/test/CodeGen/target-avx-abi-diag-knr.c
    M clang/test/CodeGen/target-builtin-error-3.c
    M clang/test/CodeGen/target-features-error-2.c
    A clang/test/CodeGenCXX/target-avx-abi-diag.cpp
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  [clang][X86] Emit AVX level mismatch psABI warnings on function definitions (#199091)

Emit -WpsABI for x86_64 function definitions whose return type or
parameter type uses a vector wider than 128 bits without the required
ABI feature enabled. 256-bit vectors require avx, and 512-bit vectors
require avx512f.

Previously this diagnostic was only emitted at call sites, so
definitions with wide vector signatures could be introduced without a
warning until they were called. Use the function feature map so
attribute(target("avx/avx512f")) definitions are accepted, and emit no
warnings for prototype-only declarations.


  Commit: e702ecb84930e1d7d8ed1869c713566de2262a63
      https://github.com/llvm/llvm-project/commit/e702ecb84930e1d7d8ed1869c713566de2262a63
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    R llvm/test/Transforms/SLPVectorizer/X86/mul-shl-nsw-intmin.ll

  Log Message:
  -----------
  Revert "[SLP][NFC]Add tests with mul to shl transformations, NFC"

This reverts commit 5ee85101a70dd2628d5b65a6a8a1e5d697d6c757, incorrect
checks in the test

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208022


  Commit: e390e6b7a64353c72dbe1ff3f4bd3382412daca5
      https://github.com/llvm/llvm-project/commit/e390e6b7a64353c72dbe1ff3f4bd3382412daca5
  Author: sohail <sohailraj.satapathy at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/docs/headers/stdfix.rst
    R libc/src/stdfix/bitusk.cpp
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/IdivFxTest.h
    R libc/test/src/stdfix/IdivTest.h
    M libc/test/src/stdfix/idivk_test.cpp
    M libc/test/src/stdfix/idivlk_test.cpp
    M libc/test/src/stdfix/idivlr_test.cpp
    M libc/test/src/stdfix/idivr_test.cpp
    M libc/test/src/stdfix/idivuk_test.cpp
    M libc/test/src/stdfix/idivulk_test.cpp
    M libc/test/src/stdfix/idivulr_test.cpp
    M libc/test/src/stdfix/idivur_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Fix idiv* doc table, rename idivfx test helpers and remove duplicate bitsuk source (#206729)

Two small cleanups in libc/src/stdfix.

1. `idiv*` in `stdfix.rst` was marked as implemented for all 12 type
variants but only the 8 non-short width variants (ur, r, ulr, lr, uk, k,
ulk, lk) exist in the directory and are built. Updated the table to
match.
2. Removed `bitusk.cpp` which is an orphaned duplicate of `bitsuk.cpp`
with a typo in the file name. It isn't referenced in the CMakeLists.txt
and has no corresponding .h file.
3. Rename the idivfx test header and helpers.


  Commit: c1822d6104d7b2cb2093a5273d6ceccd9ebb2fb1
      https://github.com/llvm/llvm-project/commit/c1822d6104d7b2cb2093a5273d6ceccd9ebb2fb1
  Author: Yanzuo Liu <zwuis at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaCXXScopeSpec.cpp

  Log Message:
  -----------
  [clang][Sema][NFC] Improve readability in `computeDeclContext` (#208010)

Split off from #190495.

Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>


  Commit: 93ff6992c68766a1def33a8a074f9bce544fc102
      https://github.com/llvm/llvm-project/commit/93ff6992c68766a1def33a8a074f9bce544fc102
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/mul-shl-nsw-intmin.ll

  Log Message:
  -----------
  [SLP][NFC]Add tests with mul to shl transformations, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208027


  Commit: cde011852d0b7d08c820f7d623655e5f354a50c8
      https://github.com/llvm/llvm-project/commit/cde011852d0b7d08c820f7d623655e5f354a50c8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/mul-shl-nsw-intmin.ll

  Log Message:
  -----------
  [SLP] Drop nsw when mul by INT_MIN is converted to shl

mul nsw X, INT_MIN is valid, but shl X, BW-1 is not nsw-safe. Drop nsw on
the vector shl when a mul lane with INT_MIN is unified into shl during
opcode interchange.

Fixes #207990

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208028


  Commit: 94a8d4cbf13810e9f4fee03488312dee8869c074
      https://github.com/llvm/llvm-project/commit/94a8d4cbf13810e9f4fee03488312dee8869c074
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/test/CodeGen/AMDGPU/sched.barrier.inverted.mask.ll

  Log Message:
  -----------
  [AMDGPU] Clear DS aggregate in inverted sched_barrier mask when LDSDMA allowed (#207779)

The DS clause was missing the LDSDMA check that the VMEM clause has


  Commit: 6053d19eb3bc2391fcab76eb20a8ea0462568224
      https://github.com/llvm/llvm-project/commit/6053d19eb3bc2391fcab76eb20a8ea0462568224
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/long-non-power-of-2.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-reused-with-bv-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutable-node-with-non-sched-parent.ll
    M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-subvectors-insert.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/recalc-copyable-operand-deps-shared-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-ordered-values-update.ll

  Log Message:
  -----------
  [SLP] Retune look-ahead scores for constants

Rescale LookAheadHeuristics scores and add ScoreSameConstants /
ScoreConstantScaleFactor so identical constants no longer score the
same as same-opcode instruction matches, fixing suboptimal operand
reordering around repeated constants (shift amounts, splat values).
Also retry a SplitVectorize alt-shuffle build for copyable-element
bundles when scheduling fails, instead of always falling back to a
gather, to fix regressions.

Reviewers: hiraditya, bababuck, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/207548


  Commit: a00f7be392d9468779af59d86bed12d17aa578c0
      https://github.com/llvm/llvm-project/commit/a00f7be392d9468779af59d86bed12d17aa578c0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/poor-throughput-seeds.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP]Use poor-throughput instructions as vectorization seeds

Seed vectorization from expensive poor-throughput ops (fdiv/frem/fsqrt
and target-expensive calls) even when they do not feed a store or reduction.

Compile time effect https://llvm-compile-time-tracker.com/compare.php?from=8cdf6346f46c505928a9fb9d3ef9e8ce125a2108&to=27a3f0a5c0489c91bf386e480289fdcc9dc9c8b7&stat=instructions:u

These compile time regressions are the side effects of the vectorization
vectorization gains and cannot be reduced further (note Bullet).

Fixes #38780

Reviewers: hiraditya, bababuck, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/206518


  Commit: 29f1a71a8d3f12232ccd53bca2442e35396a11a3
      https://github.com/llvm/llvm-project/commit/29f1a71a8d3f12232ccd53bca2442e35396a11a3
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M openmp/runtime/src/kmp_dispatch.h

  Log Message:
  -----------
  [OpenMP] Remove internal linkage from __kmp_wait template (NFC) (#207983)

__kmp_wait in kmp_dispatch.h is a static function template in a header,
so any TU that includes it without instantiating it trips
-Wunused-template (kmp_runtime.cpp, kmp_affinity.cpp, kmp_global.cpp,
kmp_settings.cpp). It is used by kmp_dispatch.cpp and
kmp_dispatch_hier.h. Drop static, which the comment above it already
suggests.

Part of #202945


  Commit: 72e1037c32e22759b682a0e973af6b95b0630a01
      https://github.com/llvm/llvm-project/commit/72e1037c32e22759b682a0e973af6b95b0630a01
  Author: AnthonyCalandraGeotab <anthonycalandra at geotab.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/include/__configuration/attributes.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/mutex
    M libcxx/include/shared_mutex
    A libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_scoped_lock.pass.cpp
    A libcxx/test/extensions/clang/thread/thread.mutex/thread_safety_scoped_lock.verify.cpp

  Log Message:
  -----------
  [libc++][ThreadSafety] Add thread safety annotations for variadic std::scoped_lock (#204462)

The thread safety annotations on std::scoped_lock were previously only
applied to the empty and single-mutex specializations. The general
variadic specialization carried no annotations, so -Wthread-safety
considered none of the mutexes held inside a multi-mutex scoped_lock
block and reported the guarded data accessed there as unprotected.

Now that Clang supports pack expansion inside thread safety attributes
(landed for Clang 21), annotate the variadic scoped_lock with
acquire_capability/requires_capability on its constructors,
release_capability on its destructor, and scoped_lockable on the class.

Fixes #42000.

Co-authored-by: Anthony Calandra <anthony at anthony-calandra.com>


  Commit: e4e2a9346b60e3805b63cec888f6de022db5b271
      https://github.com/llvm/llvm-project/commit/e4e2a9346b60e3805b63cec888f6de022db5b271
  Author: Jacob Crawley <jacob.crawley at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/CodeGen/AArch64/sve-interleave-low-vf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-interleave-low-vf-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-access-low-vf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll

  Log Message:
  -----------
  [AArch64][LV] Cost low-VF interleaved access (#205844)

Adds a case to getInterleavedMemoryOpCost to cost scalable interleaved
memory accesses where the interleave factor is larger than the VF.

Previously for these cases, memory operations would be costed as
individual gathers and scatters, which may result in the LoopVectorizer
choosing a wider VF than necessary.

This changes proposes an alternative approach of using a contiguous
load/store of the interleaved vector followed by shuffles to get
the elements into place.


  Commit: 1045d1ebca559d7e6dee49b002142e52bb61b49e
      https://github.com/llvm/llvm-project/commit/1045d1ebca559d7e6dee49b002142e52bb61b49e
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxx/include/__ranges/zip_view.h
    M libcxx/test/libcxx/ranges/range.adaptors/range.zip.transform/nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.zip/nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range_adaptor_types.h

  Log Message:
  -----------
  [libc++][ranges] Applied `[[nodiscard]]` to `zip_view` (#207667)

`[[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

Towards #172124


  Commit: 3046fb3de4b067179bcb8f933942aafea2c0d46f
      https://github.com/llvm/llvm-project/commit/3046fb3de4b067179bcb8f933942aafea2c0d46f
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    A offload/test/Inputs/declare-target-common-block-sub.f90
    A offload/test/offloading/fortran/declare-target-common-block-2.f90
    A offload/test/offloading/fortran/declare-target-common-block-main.f90

  Log Message:
  -----------
  [Flang][OpenMP][Offload] Add Flang offload tests for common block and declare target (#202949)

This PR adds a couple of tests revolving around the usage of common
block with declare target in Fortran OpenMP.


  Commit: 3b3f6b56dba47ce53afa6340b27355a94a483e8c
      https://github.com/llvm/llvm-project/commit/3b3f6b56dba47ce53afa6340b27355a94a483e8c
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp

  Log Message:
  -----------
  [AMDGPU] SIFoldOperands: Print instructions/operands in debug output (NFC) (#207945)

Print instructions/operands instead of their addresses in debug output.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: da9377fad1764dd7f654676aba1fef49205ccc6d
      https://github.com/llvm/llvm-project/commit/da9377fad1764dd7f654676aba1fef49205ccc6d
  Author: UebelAndre <github at uebelandre.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock

  Log Message:
  -----------
  [bazel] Sort bazel_deps into 'compat floor' and 'latest' sections (#207605)

Some dependencies have big knock-on effects and to the benefit of
consumers should best be tracked as min-supported-version. This change
divides the `MODULE.bazel` file into two sections where one contains
known sensitive dependencies that should only be bumped as needed and
the second are flex dependencies that can freely be updated with minimal
impact to external consumers.


  Commit: 2bb0c2d1e86c6bd008c3dc23040fb9081289deff
      https://github.com/llvm/llvm-project/commit/2bb0c2d1e86c6bd008c3dc23040fb9081289deff
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp

  Log Message:
  -----------
  PPC: Use SmallVector for tracking operands instead of DenseMap (#208034)

This is just tracking registers by operand index, which doesn't
need a heavy map.


  Commit: 301060211315e9eadb39e17872c2b9d696d72fd6
      https://github.com/llvm/llvm-project/commit/301060211315e9eadb39e17872c2b9d696d72fd6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp

  Log Message:
  -----------
  PPC: Fix querying TargetInstrInfo from PPCInstrInfo (#208030)


  Commit: 3a9778bbf2d78d95bd1d330390187922c6956c78
      https://github.com/llvm/llvm-project/commit/3a9778bbf2d78d95bd1d330390187922c6956c78
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/bindings/python/get-python-config.py

  Log Message:
  -----------
  Revert "[lldb] Change Python site-packages path" (#207910)

Reverts llvm/llvm-project#207771.

`/usr/lib/pythonN.M/site-packages` is a standard path that everyone uses
to install python modules on posix systems. There is no such thing as
`/usr/lib/site-packages`. This change breaks lldb packaging for Linux
distros.


  Commit: 17e8068444b58be6935b05200961c984e52989cb
      https://github.com/llvm/llvm-project/commit/17e8068444b58be6935b05200961c984e52989cb
  Author: Ivo Popov <popov.ivo at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ASTContext.cpp
    A clang/test/Modules/modules-using-enum-class-scope.cppm

  Log Message:
  -----------
  [clang][Modules] Support ODR merging of `UsingEnumDecl` (#207071)

Fixes https://github.com/llvm/llvm-project/issues/207066.

`UsingEnumDecl` (representing C++20 `using enum` declarations)
was not handled in `ASTContext::isSameEntity`. 
Consequently, identical class definitions containing
a `using enum` statement failed to merge, resulting in spurious ODR
mismatch errors such as: `error: 'MyStruct::MyEnum' from module
'ModuleB' is not present in definition of 'MyStruct' in module
'ModuleA'`.

This patch implements merging support for `UsingEnumDecl` in
`ASTContext::isSameEntity` by comparing the nested-name-specifier
qualifiers and the underlying `EnumDecl` target.

---------

Co-authored-by: ipopov <ipopov at google.com>


  Commit: 87a5682c92f69c87704487670d49db4ca65db21c
      https://github.com/llvm/llvm-project/commit/87a5682c92f69c87704487670d49db4ca65db21c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll

  Log Message:
  -----------
  [SLP][NFC]Update test checks, add some more tests, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208048


  Commit: 221cd6295224c93bed2bdfcc113eba5b64325c06
      https://github.com/llvm/llvm-project/commit/221cd6295224c93bed2bdfcc113eba5b64325c06
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    A llvm/test/CodeGen/WebAssembly/f128-minmax.ll

  Log Message:
  -----------
  [WebAssembly] support `f{min, max}imum.f128` and `f{min, max}imumnum.f128` (#207160)

fixes https://github.com/llvm/llvm-project/issues/207100

As far as I can see `wasi-libc` does not currently export the dedicated
libcalls, so I went with a custom expansion. It emits more code, but
will work without any linker errors etc.

The `long double` type is actually `f128` for webassembly, so at least
the libcalls should work.


  Commit: 24688c6a67dc5293c2e75ca9ec991dd0c2a23e59
      https://github.com/llvm/llvm-project/commit/24688c6a67dc5293c2e75ca9ec991dd0c2a23e59
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp

  Log Message:
  -----------
  PPC: Fix querying TargetRegisterInfo in PPCInstrInfo (#208031)

Use the direct PPCRegisterInfo member


  Commit: 9e22a5950e51ace7f50729d7f556ca99d06fa8bb
      https://github.com/llvm/llvm-project/commit/9e22a5950e51ace7f50729d7f556ca99d06fa8bb
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Analysis/MemorySSA/invariant-load-intrinsic.ll
    M llvm/test/Transforms/GVN/invariant-load-intrinsic.ll
    M llvm/test/Transforms/InstCombine/invariant-load-like-sink.ll
    M llvm/test/Transforms/Sink/invariant-load.ll
    A llvm/test/Verifier/invariant-load-metadata-invalid.ll

  Log Message:
  -----------
  [llvm] Support invariant.load on readonly intrinsics (#205916)

Update passes and analyses that look at invariant.load (ex. MemorySSA)
to also consider the possibility that `!invariant.load` may be present
on intrinsic calls.

Updates the verifier to indicate that `!invariant.load` is only legal
for loads and readonly intrinsics (and moves the definition of the
metadata out of the definition of `load`).

This has not been extended to arbitrary function calls since it's less
clear what the semantics of !invariant.load on them would be.
Furthermore, extension to read/write intrinsics like memcpy() is planned
as a followup.

This PR also deletes tests that were pre-committed in
https://github.com/llvm/llvm-project/pull/205894 but that become invalid
with the verifier changes in this PR

AI disclosure: I've reviewed the code but all the actual generation was
done by AI.

---------

Co-authored-by: Codex <codex at openai.com>


  Commit: dda9dc50945006189f5fabe08a165640c289f0e7
      https://github.com/llvm/llvm-project/commit/dda9dc50945006189f5fabe08a165640c289f0e7
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M .github/workflows/libcxx-run-benchmarks.yml

  Log Message:
  -----------
  [libc++] Use a median-of-3 for the A/B comparison benchmarking job (#208023)

After a bit of testing, I think this provides a good tradeoff between
resource utilization and noise reduction. Furthermore, the comparison
script (which produces the output) will be augmented to surface the
variability of the results in a separate PR.


  Commit: 0fba09ca6c856f7ec043689c62198166a0b0321e
      https://github.com/llvm/llvm-project/commit/0fba09ca6c856f7ec043689c62198166a0b0321e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/ashr-main-opcode-copyables.ll

  Log Message:
  -----------
  [SLP][NFC]Add an extra test with ashr vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208057


  Commit: 100a1fb9d628dc9969ca8f7aef774f61e168f9e9
      https://github.com/llvm/llvm-project/commit/100a1fb9d628dc9969ca8f7aef774f61e168f9e9
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-dsa.h
    M flang/lib/Semantics/openmp-dsa.cpp
    M flang/lib/Semantics/resolve-directives.cpp

  Log Message:
  -----------
  [flang][OpenMP][NFC] Share SetSymbolDSA between semantics and lowering (#207826)

Move the DSA helper from the private OmpAttributeVisitor::SetSymbolDSA
into the public openmp-dsa header next to GetSymbolDSA, and share the
DSA flag set through a single GetDataSharingAttributeFlags().

This lets an upcoming metadirective lowering change reuse the helper to
set the predetermined DSA of the loop induction variables of a selected
variant. A loop-associated variant is resolved during lowering, so the
usual semantic DSA resolution never runs on its loop nest and lowering
must set those flags itself.

Assisted with Copilot.


  Commit: 5da6b3c590792a069c40d8982c8b0fb3557f241a
      https://github.com/llvm/llvm-project/commit/5da6b3c590792a069c40d8982c8b0fb3557f241a
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/source/Target/DynamicRegisterInfo.cpp

  Log Message:
  -----------
  [lldb] DynamicRegisterInfo::Dump should take a Stream argument (#207863)

Otherwise, it creates its own Stream dumping to stdout.


  Commit: 29495e193f67cb88704f97bae906c21464148c7d
      https://github.com/llvm/llvm-project/commit/29495e193f67cb88704f97bae906c21464148c7d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    A .github/workflows/libcxx-pr-benchmark.yml
    R .github/workflows/libcxx-run-benchmarks.yml

  Log Message:
  -----------
  [libc++][NFC] Rename workflow file for libc++ A/B performance comparisons (#208070)

I want to introduce another workflow that allows running benchmarks on
historical commits of libc++ for LNT submission, so having an
unambiguous name is desirable.


  Commit: 6d1566cecf40143012674376f5c9250316c29634
      https://github.com/llvm/llvm-project/commit/6d1566cecf40143012674376f5c9250316c29634
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/Index/IndexingContext.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/test/AST/ast-dump-templates-pattern.cpp
    M clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/CodeGenCXX/default-arguments.cpp
    M clang/test/CodeGenCXX/explicit-instantiation.cpp
    M clang/test/SemaCXX/GH195416.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/member-class-11.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/friend-template.cpp
    M clang/test/SemaTemplate/instantiate-scope.cpp
    M clang/test/Templight/templight-default-func-arg.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  Revert "[clang] Reland: fix getTemplateInstantiationArgs" (#208064)

Reverts llvm/llvm-project#207825 since it's causing a crash in Clang.


  Commit: 585f04f2bf11c84367641f62a5e280a0241a71de
      https://github.com/llvm/llvm-project/commit/585f04f2bf11c84367641f62a5e280a0241a71de
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Support/CrashRecoveryContext.cpp

  Log Message:
  -----------
  [Support] Add missing include for MacOS defines (#208065)

https://github.com/llvm/llvm-project/pull/142733 removed several
includes, including
llvm/Support/ProgramStack.h. This was indirectly including headers that
defined
PRIO_DARWIN_THREAD and PRIO_DARWIN_BG.

Add back sys/resource.h to define them locally.


  Commit: d8f56af5fecb3d431efa801b80a87a6547638fd8
      https://github.com/llvm/llvm-project/commit/d8f56af5fecb3d431efa801b80a87a6547638fd8
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp
    M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp

  Log Message:
  -----------
  [lldb] Support MS style `struct`/`class` in C++ name parser (#196525)

If a type is declared as a `class` or a `struct` is part of the mangled
name in the Microsoft ABI. This is also reflected in the demangled name.
There, it shows up before the qualified name. For example, you could
have `class ns1::ns2::MyClass`. It will show up like this in return
types and function/template arguments.

This adds a check in `CPlusPlusNameParser::ParseFullNameImpl` for these
cases.


  Commit: c098e41b8de197330454afd5ce8cf05ee8e57b39
      https://github.com/llvm/llvm-project/commit/c098e41b8de197330454afd5ce8cf05ee8e57b39
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Use StepVector without operands, VPBuilder in C++ tests (NFC) (#208075)

Update unit tests construction VScale for VPInstructions without
operands to use StepVector where possible. When VScale is needed,
construct with VPBuilder. Also update constructing other recipes in same
function to use VPBuilder, for consistency.

Split off from approved https://github.com/llvm/llvm-project/pull/207541


  Commit: eba2fde4d5409ae861587552ddc8c6837de2ad82
      https://github.com/llvm/llvm-project/commit/eba2fde4d5409ae861587552ddc8c6837de2ad82
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M llvm/docs/LFI.rst
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/MC/MCLFI.cpp
    M llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
    A llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.cpp
    A llvm/lib/Target/X86/MCTargetDesc/X86MCLFIRewriter.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/TargetParser/Triple.cpp
    A llvm/test/CodeGen/X86/lfi-sibcall.ll
    A llvm/test/MC/X86/LFI/abi-note.s
    A llvm/test/MC/X86/LFI/syscall.s
    A llvm/test/MC/X86/LFI/thread-pointer-errors.s
    A llvm/test/MC/X86/LFI/thread-pointer.s

  Log Message:
  -----------
  Reland: [LFI][X86] Add X86 LFI target and system instruction rewrites (#207892)

Reintroduction of #189569 using the MCRegisterClass accessor API, which
was recently modified and caused a build error when the previous PR
was merged since it was not rebased onto the latest commit.


  Commit: 9a1f5b76b4af5c99f4c60456abcc95f5640b35df
      https://github.com/llvm/llvm-project/commit/9a1f5b76b4af5c99f4c60456abcc95f5640b35df
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.h
    M flang/lib/Optimizer/OpenACC/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.cpp
    M flang/unittests/Optimizer/CMakeLists.txt
    A flang/unittests/Optimizer/OpenACC/FIROpenACCSupportAnalysisTest.cpp
    M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
    A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsType.h
    M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
    M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
    A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsType.cpp
    M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
    A mlir/unittests/Dialect/OpenACC/OpenACCUtilsTypeTest.cpp

  Log Message:
  -----------
  [mlir][acc][flang] Add type sizing utilities (#208074)

Add a general acc utility for computing the size and alignment of a
type. It works for simple scalar types as well as nested and aggregate
types like arrays, tuples, and structures.

Because some types come from other dialects, the utility can hand those
off to a specialized helper that understands them. This lets sizing work
seamlessly even for mixed types, such as an aggregate whose members come
from a different dialect.

Add a Fortran-specific helper so Fortran types are sized correctly,
falling back to the general utility for everything else.

Include unit tests covering a range of scenarios, including scalars,
arrays, aggregates, and mixed-dialect types.


  Commit: 9ff1d7a21e6d23088eb5dac38f95edd4329c50b7
      https://github.com/llvm/llvm-project/commit/9ff1d7a21e6d23088eb5dac38f95edd4329c50b7
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    R llvm/test/Transforms/SampleProfile/icp_target_feature.ll

  Log Message:
  -----------
  Revert "[PGO][ICP] Prevent indirect call promotion to functions with incompatible target features" (#208079)

Reverts llvm/llvm-project#192142

Now that https://github.com/llvm/llvm-project/pull/205113 has landed, we
will not inline functions with incompatible target features, even if the
callee is marked `alwaysinline`, so we can promote calls to such
functions while also removing the extra complexity from ICP.


  Commit: 6d34e50b88ecce3d5e9ef7e0ed0b54e8f9818019
      https://github.com/llvm/llvm-project/commit/6d34e50b88ecce3d5e9ef7e0ed0b54e8f9818019
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/source/Utility/FileSpec.cpp
    M lldb/source/Utility/FileSpecList.cpp

  Log Message:
  -----------
  [lldb] Remove uses of ConstString in FileSpec methods (#206851)

After this, FileSpec only uses ConstString for storage. In a subsequent
commit, I will change FileSpec's storage.


  Commit: ee745070b05e2474ea27f2268b5e7d52be933c4e
      https://github.com/llvm/llvm-project/commit/ee745070b05e2474ea27f2268b5e7d52be933c4e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py

  Log Message:
  -----------
  [lldb] Give Wasm stack frames a synthetic call frame address (#208061)

UnwindWasm reported a call frame address of zero for every Wasm frame.
StackID orders frames by their CFA, assuming the stack grows downward so
that a younger frame compares below its caller. With every CFA equal to
zero that ordering collapsed, and CompareCurrentFrameToStartFrame
treated a step into a function as a step out, which silently disabled
step-in avoid-regexp and confused other thread plans.

WebAssembly keeps its call stack inside the engine and exposes no
linear-memory frame address, so synthesize a CFA from each frame's
distance to the outermost frame. That distance is invariant as frames
are pushed and popped above it, so a given frame keeps a stable, ordered
CFA across steps.


  Commit: c7d45caea0faba51223feb08e2224bf845724b17
      https://github.com/llvm/llvm-project/commit/c7d45caea0faba51223feb08e2224bf845724b17
  Author: Adam Nemet <anemet at apple.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    A llvm/test/CodeGen/ARM/unaligned_load_store_no_aeabi.ll
    M llvm/utils/UpdateTestChecks/asm.py

  Log Message:
  -----------
  [ARM] Don't try to emit AEABI libcalls for non-AEABI targets (#207813)

PR #172672 added ARMTargetLowering::LowerAEABIUnalignedLoad/Store which
lowers some of the unaligned i32/i64 stores to
__aeabi_u{read,write}{4,8}. The libcall is emitted unconditionally, with
no check whether the target environment actually has these AEABI
helpers.

We don't have it for Apple/MachO which leads to a compiler crash.

rdar://175136625


  Commit: 8fbf94a21b69770091c73381be24fff43e89d93e
      https://github.com/llvm/llvm-project/commit/8fbf94a21b69770091c73381be24fff43e89d93e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/Lex/LiteralSupport.cpp

  Log Message:
  -----------
  Silence a signed/unsigned mismatch diagnostic; NFC (#208088)


  Commit: d2888890b513e757916e8e20c06146d2b9b6b4a0
      https://github.com/llvm/llvm-project/commit/d2888890b513e757916e8e20c06146d2b9b6b4a0
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md

  Log Message:
  -----------
  Update AMD DWARF ext doc headers to only have a single title-level header (#208103)

This ensures no leakage of individual headings on the page to the global
TOC, see https://github.com/llvm/llvm-project/pull/184440


  Commit: 4c93275445c698b4290ef48f98f256adf2a90f39
      https://github.com/llvm/llvm-project/commit/4c93275445c698b4290ef48f98f256adf2a90f39
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libc/src/__support/CPP/string.h
    M libc/test/src/__support/CPP/string_test.cpp

  Log Message:
  -----------
  [libc][cpp::string] Fix off-by-one bug in resize and a memory leak (#208077)

AFAICT, `cpp::string` is only used in tests, so these bugs were mostly
inconsequential.


  Commit: 448b57d52e77950e0cfc9d81fb0e65f7143c27d1
      https://github.com/llvm/llvm-project/commit/448b57d52e77950e0cfc9d81fb0e65f7143c27d1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-trunc.ll

  Log Message:
  -----------
  [X86] vector-trunc.ll - regenerate checks to add missing ADD constant pool comments (#207827)


  Commit: 73867dce09789f8de6d38edcfa8101f2ae2138e4
      https://github.com/llvm/llvm-project/commit/73867dce09789f8de6d38edcfa8101f2ae2138e4
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    A clang/test/Driver/arm64x.c
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [clang][ARM64X] Support compiling both native and EC objects with -marm64x (#207612)

When -marm64x is used during the assembly phase, construct jobs for both
native and EC targets and merge their outputs using llvm-objcopy.

Allow passing ArchName to computeTargetTriple on non-Darwin targets to
enable BindArchAction on other platforms. Additionally, allow passing
multiple inputs to ObjcopyJobAction and use this capability to construct
ARM64X merge jobs.


  Commit: 8b93782d2da3d651a1774f96acf747c5b2181cd4
      https://github.com/llvm/llvm-project/commit/8b93782d2da3d651a1774f96acf747c5b2181cd4
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md

  Log Message:
  -----------
  Add explicit anchors to deep headers for AMD DWARF ext doc (#208110)

Anchors get auto-generated only upto level 6, and
https://github.com/llvm/llvm-project/pull/208103 added another level,
causing sphinx to complain about no targets for these anchors.


  Commit: 39dcb0ff91b312bb269334168d5e32be78b60417
      https://github.com/llvm/llvm-project/commit/39dcb0ff91b312bb269334168d5e32be78b60417
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
    M clang/test/CodeGen/lto-newpm-pipeline.c
    M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
    M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
    M lld/test/ELF/lto/devirt_vcall_vis_public.ll
    M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Bitcode/BitcodeReader.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/GlobalObject.h
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/Passes/PassBuilder.h
    A llvm/include/llvm/Transforms/Utils/AssignGUID.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/ConstantMerge.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    A llvm/lib/Transforms/Utils/AssignGUID.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneModule.cpp
    M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    R llvm/test/Analysis/CtxProfAnalysis/flatten-prethinlink-requires-guid-metadata.ll
    M llvm/test/Assembler/index-value-order.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
    M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
    M llvm/test/Linker/funcimport2.ll
    M llvm/test/Other/new-pm-O0-defaults.ll
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
    M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
    M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
    M llvm/test/ThinLTO/X86/deadstrip.ll
    M llvm/test/ThinLTO/X86/devirt_function_alias.ll
    M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
    M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
    M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
    M llvm/test/ThinLTO/X86/distributed_import.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
    M llvm/test/ThinLTO/X86/globals-import.ll
    M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
    M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
    M llvm/test/ThinLTO/X86/import-ro-constant.ll
    M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
    M llvm/test/ThinLTO/X86/index-const-prop.ll
    M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
    M llvm/test/ThinLTO/X86/memprof-dups.ll
    M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
    M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
    M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
    M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
    M llvm/test/ThinLTO/X86/visibility-elf.ll
    M llvm/test/ThinLTO/X86/visibility-macho.ll
    M llvm/test/ThinLTO/X86/weak_resolution.ll
    M llvm/test/ThinLTO/X86/windows-vftable.ll
    M llvm/test/ThinLTO/X86/writeonly.ll
    A llvm/test/Transforms/AssignGUID/assign_guid.ll
    M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
    M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
    M llvm/test/Transforms/EmbedBitcode/embed.ll
    M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    A llvm/test/Transforms/GlobalMerge/guid.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
    M llvm/test/Transforms/LowerTypeTests/export-icall.ll
    M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
    M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
    M llvm/test/Transforms/SampleProfile/ctxsplit.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
    M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
    M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-interposable.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
    M llvm/test/tools/gold/X86/thinlto_weak_library.ll
    M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
    M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  Reland "Compute GUIDs once and store in metadata" (#184065)  (#201849)

This reverts #201194, thus relanding @orodley's PR #184065 (and
#200323):

> This allows us to keep GUIDs consistent across compilation phases
which may change the name or linkage type.
> See
https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801

The CFI issues that triggered the original revert are fixed by #201370,
together with the addressing of the TODOs in `LowerTypeTests.cpp` left
in the latter. The [graphite
diff](https://app.graphite.com/github/pr/llvm/llvm-project/201849/Reland-%23184065)
between this change's V1 and V2 shows what's been added:

- the `TODO`s from #201370 are done
- in LowerTypeTests.cpp, passing `!guid` when creating a new declaration
and when converting a definition to a declaration.
- `llvm/test/Transforms/LowerTypeTests/export-icall.ll` tests also the
above def->decl conversion
- removed
`test/Analysis/CtxProfAnalysis/flatten-prethinlink-requires-guid-metadata.ll`
introduced in #194383 (this was between the revert and this PR), as now
the general expectation is that GUID assignment happens appropriately
and all passes use `getGUID`, so there's no reason for `CtxProfAnalysis`
to do something different.

Currently, we reassign GUIDs when CFI promotes internal linkage symbols,
which is counter to the goal of the RFC. This is addressed in PR
#203171. The reason for this split fix can be explained on
`compiler-rt/test/cfi/icall/wrong-signature-mixed-lto.c`. Here, a module
with the exact same source path is compiled twice, under different
conditional compilation, to produce 2 objects. Each object defines an
internal linkage symbol with the same name (this is
`install_trap_loop_detection` from
`compiler-rt/test/cfi/trap_loop_signal_handler.inc` which is
`-include`\-d by both - see how `%clang_cfi` is defined). The ThinLTO
GUID of this symbol will be the same. Its name won't be - because CFI
promotes it and renames it using a hash that is based on the IR Module
content (rather than the source path). During thinlink,
`LTO::addThinLTO`will mark each of the 2 exported symbols as prevailing
in their corresponding modules. But that is done by associating their
GUID to the module. So whichever comes last wins. The other symbol will
be marked available externally and its body DCEd later in backend. But
each module will refer to its copy of `install_trap_loop_detection`, and
so we end up with a linker error.

As mentioned, the fix is in PR #203171, and this relanding PR just
maintains the existing ThinLTO behavior by rewriting the GUIDs. Since we
haven't yet leveraged the GUID mechanics for e.g. simplifying PGO, this
aspect of this change is essentially NFC.

Co-authored-by: Owen Rodley <orodley at google.com>


  Commit: 2a8e0e1abbdc558f3a4b43d5a9432c07b5d01387
      https://github.com/llvm/llvm-project/commit/2a8e0e1abbdc558f3a4b43d5a9432c07b5d01387
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll

  Log Message:
  -----------
  [SLP][NFC]Add tests with some preferred reassociation, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208118


  Commit: cc27a240be812f854801c24aefbea1243c5efde8
      https://github.com/llvm/llvm-project/commit/cc27a240be812f854801c24aefbea1243c5efde8
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/Policy.h
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/IRInterpreter.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/Policy.cpp
    M lldb/unittests/Utility/PolicyTest.cpp

  Log Message:
  -----------
  [lldb] Push ExpressionEvaluation policy and remove identity check fallbacks (#195775)

Push `PolicyStack::Get().PushPublicStateRunningExpression()` at all
three expression evaluation entry points
(`LLVMUserExpression::DoExecute`, `FunctionCaller::ExecuteFunction`,
`IRInterpreter`). This policy sets `can_run_breakpoint_actions=false`,
preventing recursive breakpoint callback execution during expression
eval.

Push `PolicyStack::Get().PushPrivateState()` unconditionally for all
PSTs in `RunPrivateStateThread` (not just overrides), giving every PST
the private view while keeping frame providers and recognizers enabled
for normal stop processing. Override PSTs use
`PushPrivateStateRunningExpression()` which additionally disables
providers and recognizers.

With all PSTs and expression eval sites now covered by the policy,
remove all host thread identity check fallbacks:
  - `CurrentThreadPosesAsPrivateStateThread()` in `Process::GetState()`
  - `CurrentThreadIsPrivateStateThread()` in `Target::GetAPIMutex()`
  - `IsOnThread()` in `PrivateStateThread::GetRunLock()`
- `CurrentThreadPosesAsPrivateStateThread()` in
`SelectMostRelevantFrame()`
  - `IsRunningExpression()` in `StopInfoBreakpoint::PerformAction()`

`SelectMostRelevantFrame` now checks `!can_run_frame_recognizers`
instead of `View::Private`, so recognizers run during normal PST stop
processing but are skipped during expression evaluation.

----

The following PRs are related to the Policy feature:
- #195762
- #195771
- #198897
- #195774
- #195775

rdar://176223894

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: d1ad52f0ca135b972f352b38fbc813404efb91ac
      https://github.com/llvm/llvm-project/commit/d1ad52f0ca135b972f352b38fbc813404efb91ac
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Common/constexpr-bitset.h
    M flang/include/flang/Common/idioms.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/fold-designator.h
    M flang/include/flang/Evaluate/fold.h
    M flang/include/flang/Evaluate/intrinsics.h
    M flang/include/flang/Evaluate/rewrite.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/TextDiagnostic.h
    M flang/include/flang/Lower/Allocatable.h
    M flang/include/flang/Lower/CUDA.h
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Lower/ConvertExprToHLFIR.h
    M flang/include/flang/Lower/ConvertType.h
    M flang/include/flang/Lower/DirectivesCommon.h
    M flang/include/flang/Lower/HostAssociations.h
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Lower/OpenMP.h
    M flang/include/flang/Lower/Runtime.h
    M flang/include/flang/Lower/Support/Utils.h
    M flang/include/flang/Lower/SymbolMap.h
    M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/MIFCommon.h
    M flang/include/flang/Optimizer/Builder/Runtime/Character.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Builder/Todo.h
    M flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
    M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
    M flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h
    M flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/CUDA/CUFAllocationConversion.h
    M flang/include/flang/Optimizer/Transforms/CUFGPUToLLVMConversion.h
    M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
    M flang/include/flang/Optimizer/Transforms/MIFOpConversion.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Parser/char-block.h
    M flang/include/flang/Parser/char-buffer.h
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Parser/parse-state.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/token-sequence.h
    M flang/include/flang/Parser/unparse.h
    M flang/include/flang/Parser/user-state.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/CUDA/kernel.h
    M flang/include/flang/Runtime/array-constructor-consts.h
    M flang/include/flang/Runtime/random.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/support.h
    M flang/include/flang/Semantics/attr.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/include/flang/Semantics/runtime-type-info.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/type.h
    M flang/include/flang/Semantics/unparse-with-symbols.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Decimal/decimal-to-binary.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/host.h
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Frontend/CodeGenOptions.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/Mangler.cpp
    M flang/lib/Lower/MultiImageFortran.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/Atomic.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Lower/Runtime.cpp
    M flang/lib/Lower/SymbolMap.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Builder/MIFCommon.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PassDetail.h
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/PropagateFortranVariableAttributes.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCAttributes.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
    M flang/lib/Optimizer/OpenMP/DeleteUnreachableTargets.cpp
    M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Support/DataLayout.cpp
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.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/CUDA/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
    M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Optimizer/Transforms/ConvertComplexPow.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/MemRefDataFlowOpt.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
    M flang/lib/Optimizer/Transforms/OptimizeArrayRepacking.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp
    M flang/lib/Optimizer/Transforms/StackReclaim.cpp
    M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
    M flang/lib/Parser/basic-parsers.h
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/expr-parsers.cpp
    M flang/lib/Parser/message.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/program-parsers.cpp
    M flang/lib/Parser/source.cpp
    M flang/lib/Parser/token-parsers.h
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-case.cpp
    M flang/lib/Semantics/check-data.cpp
    M flang/lib/Semantics/check-data.h
    M flang/lib/Semantics/check-deallocate.cpp
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-if-stmt.cpp
    M flang/lib/Semantics/check-nullify.cpp
    M flang/lib/Semantics/check-select-rank.cpp
    M flang/lib/Semantics/check-select-type.cpp
    M flang/lib/Semantics/check-stop.cpp
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-labels.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names-utils.h
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/lib/Semantics/scope.cpp
    M flang/lib/Support/LangOptions.cpp
    M flang/lib/Support/Version.cpp
    M flang/lib/Testing/fp-testing.cpp

  Log Message:
  -----------
  [flang][NFC] Remove unnecessary #include directives across flang (#207640)

Audit of every #include directive in flang/lib/ and
flang/include/flang/:

- Remove 423 #include directives (293 from lib/ translation units, 23
from lib-private headers, 107 from public headers) that are not needed:
no entity declared by the removed header is used - directly or in any
conditional-compilation branch (Windows, macOS, ARM/PowerPC,
REAL(16)/REAL(2) configuration macros) - in the including file, and for
headers no consumer in flang/lib, flang/tools, flang/unittests, or
flang-rt relies on the include as a re-export. Load-bearing includes
were examined and retained: textual .inc/.def expansions, tablegen
pass-header declaration/definition pairings, dialect headers carrying
generated-op interface dependencies, config-macro providers (e.g.
float128.h ahead of matmul-instances.inc guards), and ADL formatting
machinery (Evaluate/formatting.h).

- Add 5 missing direct #includes in lib translation units that used
entities only via now-removed transitive includes, and drop one
vestigial 'using namespace Fortran::runtime;' whose declaring header no
longer arrives transitively (nothing namespace-qualified from it was
used), per the include rules in flang/docs/C++style.md.

Assisted-by: AI


  Commit: aaeac36566967650fcd63797a10da065eaedd90f
      https://github.com/llvm/llvm-project/commit/aaeac36566967650fcd63797a10da065eaedd90f
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/target-rewrite-arg-position.fir

  Log Message:
  -----------
  [flang][TargetRewrite] Keep argument attributes consistent after ABI arg shift (#208124)

When target-rewrite expands an argument into several arguments
(for example splitting a complex value into two scalars),
the arguments after it shift to the right.
Argument attributes were only moved for a shift introduced
by result lowering, so an attribute on a later argument
(e.g. fir.host_assoc) could stay on its old index and end up
on an unrelated argument. Remap every saved argument
attribute to the new index of its argument.

This is a consistency fix and may not cause a miscompile today.


  Commit: d6c0a0a6a5c762fd327001c177490ee4c49ca718
      https://github.com/llvm/llvm-project/commit/d6c0a0a6a5c762fd327001c177490ee4c49ca718
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt

  Log Message:
  -----------
  [libc][complex] Add basic complex ops including carg/cabs for GPU (#207887)

This PR adds carg and cabs for AMD GPU and also add all other basic
complex ops for NV GPU.

Signed-off-by: jinge90 <ge.jin at intel.com>


  Commit: 478bbbeb0bdd7d186f308dccfa634280afaf0c00
      https://github.com/llvm/llvm-project/commit/478bbbeb0bdd7d186f308dccfa634280afaf0c00
  Author: hev <wangrui at loongson.cn>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/xvexth.ll
    A llvm/test/CodeGen/LoongArch/lsx/vexth.ll

  Log Message:
  -----------
  [LoongArch][NFC] Add vector widening extends tests (#207315)


  Commit: e60dc90e3134975afb1a951f792b71d4b648877f
      https://github.com/llvm/llvm-project/commit/e60dc90e3134975afb1a951f792b71d4b648877f
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/test/CodeGen/Hexagon/shadow-call-stack.ll

  Log Message:
  -----------
  [Hexagon] Disable restore stubs when ShadowCallStack is active (#206302)

The returning restore stubs (e.g.
__restore_r16_through_r17_and_deallocframe) perform deallocframe+jumpr
r31 internally, returning via the on-stack return address. This is
incompatible with ShadowCallStack, which must restore r31 from the
shadow stack before returning.

Fix by having useRestoreFunction() return false when the ShadowCallStack
attribute is present, forcing inline callee-saved restores so the SCS
epilogue is properly emitted.


  Commit: 4708581453ead90685a55e343cc5ace1e1ddabb1
      https://github.com/llvm/llvm-project/commit/4708581453ead90685a55e343cc5ace1e1ddabb1
  Author: hev <wangrui at loongson.cn>
  Date:   2026-07-08 (Wed, 08 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/xvexth.ll
    M llvm/test/CodeGen/LoongArch/lsx/vexth.ll

  Log Message:
  -----------
  [LoongArch] Add DAG combines for vector widening extends (#207316)

Lower:

```
  SEXT/ZEXT(High-Half-128-Bit-Lanes(vec))
```

to:

```
  LSX:  VEXTH.H.B, VEXTH.W.H, VEXTH.D.W
        VEXTH.HU.BU, VEXTH.WU.HU, VEXTH.DU.WU

  LASX: XVEXTH.H.B, XVEXTH.W.H, XVEXTH.D.W
        XVEXTH.HU.BU, XVEXTH.WU.HU, XVEXTH.DU.WU
```


  Commit: 63122f54df24161899609449e92589f3db556bf4
      https://github.com/llvm/llvm-project/commit/63122f54df24161899609449e92589f3db556bf4
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h

  Log Message:
  -----------
  [NFC][ELF] Don't reimplement addReloc in MipsGotSection::addConstant (#208130)

This is a repeat of d48eb719d240 ("[NFC][ELF] Don't reimplement addReloc
in GotSection::addConstant") but for MipsGotSection. Unfortunately,
9fb61d972213 ("[NFCI][ELF][Mips] Refactor MipsGotSection to avoid
explicit writes (#178561)") was put up for review before, and was landed
after, that commit, and I did not think to update it, so it ended up
copying the old GotSection code. Although there's no motivation to
support CHERI in this code (even though CHERI-MIPS existed it never used
the highly-specialised MipsGotSection to hold capabilities), it's still
better to use our own abstractions, and to be consistent.

Fixes: 9fb61d972213 ("[NFCI][ELF][Mips] Refactor MipsGotSection to avoid
explicit writes (#178561)")


  Commit: 5a924bf3962c7f0c84e2de46172cd1d01ae3a67d
      https://github.com/llvm/llvm-project/commit/5a924bf3962c7f0c84e2de46172cd1d01ae3a67d
  Author: Orphic Dreamer <160723353+Siya-05 at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    A clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
    A clang/test/CIR/CodeGenCUDA/surface.cu

  Log Message:
  -----------
  [CIR][CUDA] Support built-in CUDA surface type (#196079)

Related: #179278

This patch adds initial support for CUDA built-in surface types in CIR
for device-side compilation.

CUDA surface references are lowered to the NVPTX device-handle
representation (`i64`), matching existing Clang CodeGen behavior.

Changes
* Add `getCUDADeviceBuiltinSurfaceDeviceType()` target hook to
`TargetCIRGenInfo`
* Implement NVPTX surface lowering in `NVPTXTargetCIRGenInfo`
* Handle CUDA built-in surface types in `CIRGenTypes::convertType`
* Add CIR CUDA test coverage for device-side surface lowering

Notes

* This patch only implements device-side surface type lowering support
* Texture types remain unsupported
* TBAA handling for surface/texture types is left for follow-up work

---------

Co-authored-by: mencotton <mencotton0410 at gmail.com>
Co-authored-by: David Rivera <davidriverg at gmail.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: 1cefbacdaa0156880d8363b24ae04638a8fd31c8
      https://github.com/llvm/llvm-project/commit/1cefbacdaa0156880d8363b24ae04638a8fd31c8
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M libcxx/src/include/overridable_function.h

  Log Message:
  -----------
  [libc++] Replace the of use custom sections for detecting overriden functions (#175896)

This is a follow up to #133876 and an alternative to #120805 which
doesn't rely on aliases and works across both ELF and Mach-O. This
mechanism is preferable in baremetal environments since it doesn't
require special handling of the custom sections.


  Commit: 333edde4e80e02d6fe5e866abf317969b66c0b8e
      https://github.com/llvm/llvm-project/commit/333edde4e80e02d6fe5e866abf317969b66c0b8e
  Author: yonghong-song <yhs at fb.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/Targets/BPF.cpp
    A clang/test/CodeGen/bpf-struct-return-regs.c
    A clang/test/CodeGen/bpf-struct-return.c
    A llvm/test/CodeGen/BPF/aggr_ret_regs.ll

  Log Message:
  -----------
  [BPF] Return small aggregates directly in registers (#206876)

Previously the BPF ABI always returned aggregate (struct/union) types
indirectly through an sret pointer, regardless of size. This is
inconsistent with how classifyArgumentType() already passes small
aggregates: arguments up to 128 bits are coerced into one or two 64-bit
registers, while only larger aggregates use an indirect reference.

Make classifyReturnType() mirror that convention by factoring the shared
aggregate handling into a classifyAggregateType() helper used by both:

  - empty aggregates (0 bits) are ignored;
- aggregates up to 64 bits are returned directly, coerced to an integer
of the padded size;
  - aggregates of 65..128 bits are returned directly as [2 x i64];
  - aggregates larger than 128 bits are returned indirectly via sret.

This keeps each returned value within the backend's two-register return
convention and avoids an unnecessary memory round-trip for small
structs.

This also aligns BPF with the general-purpose C ABIs of other targets:
both x86-64 (System V, RAX:RDX) and AArch64 (AAPCS64, X0:X1) return
aggregates up to 16 bytes in a pair of registers and only fall back to
an indirect sret pointer for larger ones.

Co-authored-by: Yonghong Song <yonghong.song at linux.dev>


  Commit: 2b080317511d3285c7376e25ee9668edcc41c06e
      https://github.com/llvm/llvm-project/commit/2b080317511d3285c7376e25ee9668edcc41c06e
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/OpenACC/Analysis/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 9a1f5b76b4 (#208126)


  Commit: 6eb35326147077a18f6fc56540059d779d7e3d4b
      https://github.com/llvm/llvm-project/commit/6eb35326147077a18f6fc56540059d779d7e3d4b
  Author: Shreeyash Pandey <shrpand at qti.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libunwind/test/aarch64_za_unwind.pass.cpp

  Log Message:
  -----------
  [libunwind] include alloca.h in test/aarch64_za_unwind.pass.cpp (#207376)

Glibc provides the alloca function as a part of stdlib.h when
_GNU_SOURCE is declared (which is the case with standard linux builds).
[1]

On non-glibc systems, this may not be the case (for example, picolibc).
These libraries may not implicitly include alloca.h as a part of the
standard lib.

[1]
https://github.com/bminor/glibc/blob/04e750e75b73957cf1c791535a3f4319534a52fc/stdlib/stdlib.h#L728

Signed-off-by: Shreeyash Pandey <shrpand at qti.qualcomm.com>


  Commit: 7ca17050c766ff1a1bd4bc74525f018ba1d9a104
      https://github.com/llvm/llvm-project/commit/7ca17050c766ff1a1bd4bc74525f018ba1d9a104
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-elide.cpp
    M clang/test/CodeGenCoroutines/coro-halo.cpp
    M clang/test/CodeGenCoroutines/pr65018.cpp

  Log Message:
  -----------
  [CodeGen] Set attributes on coroutine wrapper functions (#207961)

Call SetInternalFunctionAttributes() so that target feature attributes
get set. This ensures that inlining works without having to reason about
target-specific inline compatibility logic.


  Commit: e6525149c347a4787dd82ce5d2663bc577afd4a3
      https://github.com/llvm/llvm-project/commit/e6525149c347a4787dd82ce5d2663bc577afd4a3
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-implicit-delete.cpp

  Log Message:
  -----------
  [clang-tidy] Fix AllowImplicitlyDeletedCopyOrMove missing-move false positive (#207586)

The documentation for `cppcoreguidelines-special-member-functions` says
that `AllowImplicitlyDeletedCopyOrMove` suppresses diagnostics for
classes which implicitly delete copy or move operations.

In practice, the move operations are missing because the user-declared
destructor prevents their implicit declaration. This commit suppresses
that missing-move diagnostic when both copy operations are implicitly
deleted and no move operation is user-declared.

Godbolt: https://clang-tidy.godbolt.org/z/h1nT84Tee
Closes https://github.com/llvm/llvm-project/issues/196615


  Commit: 70df3ccef10d336d3644df293fddb2adcb36e097
      https://github.com/llvm/llvm-project/commit/70df3ccef10d336d3644df293fddb2adcb36e097
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libcxx/src/include/overridable_function.h

  Log Message:
  -----------
  Revert "[libc++] Replace the of use custom sections for detecting overriden functions" (#208157)

Reverts llvm/llvm-project#175896 since it broke the build of internal
symbolizer used by sanitizers.


  Commit: e7195d5d23adf9336555e7244e2fcf397111c57e
      https://github.com/llvm/llvm-project/commit/e7195d5d23adf9336555e7244e2fcf397111c57e
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    A llvm/test/Transforms/LoopInterchange/debug-record-after-phi.ll

  Log Message:
  -----------
  [LoopInterchange] Fix crash when dbg_value exists right after PHI (#208147)

When enabling reduction2mem with `-loop-interchange-reduction-to-mem`
and the input IR contains `dbg_value`s immediately after a certain PHI
node, assertion failure could be triggered due to the insertion position
of newly created PHI node. This patch fixes the issue by changing
IRBuilder ctor to be called. TBH, I'm not entirely sure what the
difference is between `IRBuilder::IRBuilder(Instruction *)` and
`IRBuilder::IRBuilder(BasicBlock *, BasicBlock::iterator)`, but judging
from the generated code, the behavior with this patch seems reasonable.

Taken over from #183273


  Commit: c279890c85da307abe34f10333442bbf72a60644
      https://github.com/llvm/llvm-project/commit/c279890c85da307abe34f10333442bbf72a60644
  Author: Haibo Jiang <jianghaibo9 at huawei.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/AArch64/icp-inline.c
    A bolt/test/AArch64/icp.c
    M bolt/test/AArch64/unsupported-passes.test

  Log Message:
  -----------
  [BOLT][AArch64] Support call ICP (#208158)

* extends MCPlusBuilder with comparision between registers.
* updates the ICP pass to request a scavenged register for AArch64
callsites.
* wires ICP code generation on AArch64.


  Commit: 475f7026055c77007d19c708ed13465a4206dfee
      https://github.com/llvm/llvm-project/commit/475f7026055c77007d19c708ed13465a4206dfee
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaTemplate/fun-template-def.cpp

  Log Message:
  -----------
  [Clang] No longer reject call expression whose type is a not-yet-deduced auto type. (#208007)

This fixes a regression introduced in #139246

Fixes #207565


  Commit: 62907d4a3bb330f79f41f548bfa836223c12735e
      https://github.com/llvm/llvm-project/commit/62907d4a3bb330f79f41f548bfa836223c12735e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/test-issue-98598.ll

  Log Message:
  -----------
  [PowerPC] Fix combineSignExtendSetCC() for large/small types (#207721)

The code should reject larger types (like i128) and zero-extend smaller
types (like i8 and i16). Consolidate the handling based on being
smaller/larger than OpVT to reduce the number of PPC64 conditions.


  Commit: 35678db1b4dbf7e14ad5238eee5590bf32aebb87
      https://github.com/llvm/llvm-project/commit/35678db1b4dbf7e14ad5238eee5590bf32aebb87
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-07-08 (Wed, 08 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

  Log Message:
  -----------
  [Clang][RISCV] packed absolute difference sum intrinsics (#207936)

Add the __riscv_pabdsumu/pabdsumau_* header wrappers over new
__builtin_riscv_* builtins, lowering to the
llvm.riscv.pabdsumu/pabdsumau intrinsics.


  Commit: ea6d5c6a2e37705688c74167990115e535058065
      https://github.com/llvm/llvm-project/commit/ea6d5c6a2e37705688c74167990115e535058065
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Fix blocking pass for scf.if distribution (#207060)


  Commit: b5ed0ae6bc70792cb9749444b2803c3fa72276e4
      https://github.com/llvm/llvm-project/commit/b5ed0ae6bc70792cb9749444b2803c3fa72276e4
  Author: Javed Absar <javed.absar at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationEnums.td
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    A mlir/include/mlir/Dialect/Bufferization/Transforms/StaticMemoryPlanning.h
    M mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
    A mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlanning.cpp
    A mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-best-fit.mlir

  Log Message:
  -----------
  [mlir][bufferization] Add best-fit algorithm to static memory planner (#207403)

Introduces an algorithm selection option to the static memory planner
pass and adds a best-fit algorithm that reuses memory from expired allocations by
finding the smallest suitable gap.

I have tested the correctness of the best-fit algorithm with an
independent randomized verifier.

Signed-off-by: mabsar <mabsar at qti.qualcomm.com>


  Commit: f02b48182be73c531fb83312da15c85031fadde3
      https://github.com/llvm/llvm-project/commit/f02b48182be73c531fb83312da15c85031fadde3
  Author: Krisitan Erik Olsen <kristian.erik at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/AssumptionCache.cpp
    A llvm/test/Transforms/DropUnnecessaryAssumes/duplicate-affected-value.ll

  Log Message:
  -----------
  [AssumptionCache] Deduplicate affected values in removeAffectedValues (#205441)

removeAffectedValues can encounter duplicate entries in the Affected
list when a separate_storage bundle uses the same pointer for both
arguments (e.g. "separate_storage"(ptr %p, ptr %p)). The duplicate
entries share both the same value and the same bundle index. The first
iteration handles the value completely and may erase the AffectedValues
entry, causing the second iteration to fail the assertion.

This patch deduplicates entries in removeAffectedValues by (Value *,
Index) pair, matching the deduplication already done in
updateAffectedValues. This also fixes the ExpectedMatches counting in
the debug logic added by #205275, which otherwise miscounts when
duplicates are present.

Fixes #205378.


  Commit: 063ac503e44ff17dda84698375091fa5b8b53557
      https://github.com/llvm/llvm-project/commit/063ac503e44ff17dda84698375091fa5b8b53557
  Author: lrzlin <linrunze at loongson.cn>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-any-ext.ll
    M llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll

  Log Message:
  -----------
  [LoongArch] Lower ANY_EXTEND to ZERO_EXTEND under LASX to avoid scalarization (#201099)

Some integer/floating-point conversion will generate ANY_EXTEND under
LASX, lowering it to ZERO_EXTEND to avoid scalarization.


  Commit: 459cadfaf12cde6b1fda2fde932b277f1630c124
      https://github.com/llvm/llvm-project/commit/459cadfaf12cde6b1fda2fde932b277f1630c124
  Author: Emmett <emmettzhang2020 at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__chrono/duration.h
    M libcxx/include/chrono
    A libcxx/test/std/time/time.duration/duration.verify.cpp

  Log Message:
  -----------
  [libc++][chrono] Implement LWG 4481: Disallow `chrono::duration<const T, P>` (#207558)


  Commit: 006423944b8efdb115d8fd001cffca888605cd7f
      https://github.com/llvm/llvm-project/commit/006423944b8efdb115d8fd001cffca888605cd7f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
    M mlir/test/Conversion/ArithToSPIRV/fast-math.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Lower arith.maxnumf/minnumf to spirv.GL.NMax/NMin (#205975)

The previous lowering targeted spirv.GL.FMax/FMin + NaN guards

spirv.GL.NMax/NMin natively treat NaN as missing, matching
arith.maxnumf/minnumf exactly (no guards required)


  Commit: 1d387731334d04f677804a09f29e0863ca977e0c
      https://github.com/llvm/llvm-project/commit/1d387731334d04f677804a09f29e0863ca977e0c
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-vscale-x-UF-step.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [LV] Allow setting scalable VFs for `-epilogue-vectorization-force-VF` (#205081)

Follow up to #204953. This allows replacing a unit test with an IR test.


  Commit: 736771b6a017b5a18c03819a3348ff793c473261
      https://github.com/llvm/llvm-project/commit/736771b6a017b5a18c03819a3348ff793c473261
  Author: Chirag Patel <chirag198838 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp

  Log Message:
  -----------
   [DAG] Adding MVT::widenIntegerElementType to widen both Scalar and Vectors of integer type. (#207148)

Adding MVT::widenIntegerElementType to widen both Scalar and Vectors of
integer type. e.g. i16 -> i32, v8i32->v8i64.

fixes #206730


  Commit: e1187834d342ae7890884dbc1ef69de7b5d9fdc1
      https://github.com/llvm/llvm-project/commit/e1187834d342ae7890884dbc1ef69de7b5d9fdc1
  Author: zip-stack-debug <doremyalt at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/div-i256.ll
    M llvm/test/CodeGen/AArch64/sbc-add-constant.ll

  Log Message:
  -----------
  [AArch64][DAG] Port adde and sube combine to AArch64 (#202227)

Same principles apply in AArch64 as they do in ARM.


  Commit: 529c7d563bac018b8ea43ea8017c113ee384c004
      https://github.com/llvm/llvm-project/commit/529c7d563bac018b8ea43ea8017c113ee384c004
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/PassManagerInternal.h

  Log Message:
  -----------
  [IR][NFC] Make PassConcept immovable (#208167)

PassConcept is only ever created as a unique_ptr when added to the pass
list of a pass manager. The instances are never copied or moved. Due to
inheritance, this also wouldn't work anyway. Explicitly forbid
copying/moving and remove the dead functions.

Preliminary work for removing the vtable from PassConcept/PassModel.


  Commit: 32d06af3ea6d05c0f8b5820da3f651d4e03bb80d
      https://github.com/llvm/llvm-project/commit/32d06af3ea6d05c0f8b5820da3f651d4e03bb80d
  Author: David Green <david.green at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/Thumb2/vqabs.ll
    M llvm/test/CodeGen/Thumb2/vqneg.ll

  Log Message:
  -----------
  [ARM][MVE] Tests for new sqabs and sqneg tests. NFC (#208180)


  Commit: 3451dd23d9b098e8cf7201ab303874dab2d88c19
      https://github.com/llvm/llvm-project/commit/3451dd23d9b098e8cf7201ab303874dab2d88c19
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-fp128.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
    M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll

  Log Message:
  -----------
  [AArch64] Fold any/sign-extend of CSET. (#207414)

This is useful to enable selecting i64 CSETM when legalisation places an
extend between a CSET and sext_inreg.


  Commit: 302f7aa18e0d68d9db74c2586bd66ef8e4d98e53
      https://github.com/llvm/llvm-project/commit/302f7aa18e0d68d9db74c2586bd66ef8e4d98e53
  Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops-i1.ll

  Log Message:
  -----------
  [VectorCombine] Fold concat(binop(a,c), binop(b,d)) -> binop(concat(a,b), concat(c,d)) for i1 vectors (#206087)

Fixes #205707 

`VectorCombine::foldShuffleOfBinops` rewrites `shuffle(binop(a,c),
binop(b,d))` into `binop(shuffle(a,b), shuffle(c,d))` but only when the
new form is strictly cheaper. For concat shuffles of i1 vectors, both
forms have equal cost, so the transform was silently rejected.

This fix allows the equal-cost transform when both binops are single-use
`BinaryOperators` (not icmps, to avoid widening narrow AVX-512
comparisons), canonicalising the IR to a wider binop.

The motivating case is AVX-512 mask operations: `NOT(concat(XOR(a,c),
XOR(b,d)))` becomes `NOT(XOR(concat(a,b), concat(c,d)))`, which the
backend naturally selects as `kxnorq`, reducing `kxord + kxord +
kunpckdq + knotq` (4 instructions) to `kunpckdq + kunpckdq + kxnorq` (3
instructions).


  Commit: 764645b5ef49b18b2ca7c3efc3ca6954e1337f1b
      https://github.com/llvm/llvm-project/commit/764645b5ef49b18b2ca7c3efc3ca6954e1337f1b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
    M llvm/test/CodeGen/X86/vector-narrow-binop.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmul-fast.ll

  Log Message:
  -----------
  [SDAG][X86] Support shrinking target-independent nodes (#206721)

X86 generally tries to shrink operations to work on smaller vector sizes
if possible. This happens in
SimplifyDemandedVectorEltsForTargetNode() for target-specific opcodes,
but it's currently not possible to do this for generic opcodes.

This introduces a getPreferredShrunkVectorSize() TLI hook to allow
shrinking generic ops based on demanded elements.

The primary motivation for this is to avoid regressions due to
https://github.com/llvm/llvm-project/pull/188489, which uplifts a
previously x86-specific node to become target-independent.

This PR enables the shrinking for fsub and fmul as examples.
Unfortunately, for many other ops we get various regressions, mostly
because horizontal operations are no longer formed.


  Commit: 3fc15b50c6e5b79332023fe7ccacb35b2ed5614e
      https://github.com/llvm/llvm-project/commit/3fc15b50c6e5b79332023fe7ccacb35b2ed5614e
  Author: Sean Clarke <sclarke at tenstorrent.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/HashRecognize.cpp
    M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
    M llvm/test/Transforms/LoopIdiom/cyclic-redundancy-check.ll

  Log Message:
  -----------
  [HashRecognize] Make `LHSAux` null if it is dead (#207231)

HashRecognize detects big-endian CRC loops with auxiliary data where the
bitwidth of `LHS` exceeds that of `LHSAux`. However, in this case,
`LHSAux` is zero-extended for the most significant bit check in each
iteration, and as such is effectively dead. Later optimization may even
miscompile in this case: for example, in the included
`crc16.be.tc8.zext.data` and `crc16.be.tc8.misalign` test cases,
`optimizeCRCLoop` emits `lshr i8 %crc.data.indexer, 8`, thereby creating
poison.

Since `LHSAux` is dead in this case, the user should receive a null
`LHSAux` instead.


  Commit: 475cef62595255a34b795472bba330a60058abb0
      https://github.com/llvm/llvm-project/commit/475cef62595255a34b795472bba330a60058abb0
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/function-returns.ll

  Log Message:
  -----------
  [SelectionDAG][AMDGPU] Preserve known bits for demoted sret pointers (#203468)

AMDGPU marks sret pointers with high-zero known bits so stores can be
folded into MUBUF base+offset addressing. Explicit sret arguments keep
this information through an AssertZext, but implicit sret lowering
passes the hidden return pointer through `DemoteRegister` as a
`CopyToReg/CopyFromReg` pair, where the fact is not visible to
SelectionDAG known-bits queries.

Add a `TargetLowering` hook for sret pointer known bits and use a shared
helper to materialize those bits as an `AssertZext` for both explicit
and demoted sret pointers.


Validated with llvm-test-depends, the AMDGPU function-returns test, and
the full llvm/test/CodeGen suite.

Assisted-by: Codex

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>


  Commit: 29553517d044e1864b6dd00b0236006ae999d043
      https://github.com/llvm/llvm-project/commit/29553517d044e1864b6dd00b0236006ae999d043
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-reverse.ll

  Log Message:
  -----------
  [RISCV][P-ext] Improve codegen for packed reverse intrinsics (#207575)

This patch improves the codegen for vector reverse for RVP.


  Commit: 74e44e433a8e1da3da263833e32adde77889f734
      https://github.com/llvm/llvm-project/commit/74e44e433a8e1da3da263833e32adde77889f734
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/test/tools/llvm-ar/arm64x-hybridobj.yaml
    M llvm/test/tools/llvm-lib/arm64x-hybridobj.yaml
    M llvm/test/tools/llvm-readobj/COFF/arm64x-hybridobj.yaml

  Log Message:
  -----------
  [llvm-readobj][llvm-ar][COFF] Use exclude for .obj.arm64ec section in tests (NFC) (#208116)

For consistency with #207612.


  Commit: cab8bab9642c33ea42355806730ed431d5cbf205
      https://github.com/llvm/llvm-project/commit/cab8bab9642c33ea42355806730ed431d5cbf205
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Forbid CSE'ing writes (NFC) (#207443)

CSE'ing two identical writes does not consider the fact that there could
be another write that writes an aliasing memory location. Fix the
potential miscompile. Note that there is currently no miscompile, as we
never remove a write, but the patch has the benefit of not processing
writes unnecessarily.


  Commit: 17b27e7c2cb6267695733969bfca2d5ebb4a0c23
      https://github.com/llvm/llvm-project/commit/17b27e7c2cb6267695733969bfca2d5ebb4a0c23
  Author: David Green <david.green at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/mul.ll

  Log Message:
  -----------
  [AArch64] Increase the relative cost of vector i64 multiply on Neoverse V3ae. (#207723)

The throughput of vector nxv2i64 multiplies on neoverse v3ae is 1/2, compared
to the throughput of 2 for integer multiplies. This large difference can mean
it is more profitable than normal to use scalar loops as opposed to vectorization.

This adds a subtarget feature that increases the cost multiple by 4 for 64bit
vector multiplies for specific CPUs. The cost model of llvm does not mean that
we can model throughputs correctly, but this should help. The same feature is
added to N2 as it has a similar difference between vector and scalar multiply
cost throughputs.


  Commit: 9ab13dc4f7ff3c536e493947781ae344bb4be69a
      https://github.com/llvm/llvm-project/commit/9ab13dc4f7ff3c536e493947781ae344bb4be69a
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
    M mlir/test/Conversion/ComplexToSPIRV/complex-to-spirv.mlir

  Log Message:
  -----------
  [mlir][ComplexToSPIRV] Add lowering for complex.eq and complex.neq (#206279)


  Commit: e1f7b53881066bfd6b6d1628e873002bd8ff99a7
      https://github.com/llvm/llvm-project/commit/e1f7b53881066bfd6b6d1628e873002bd8ff99a7
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lld/COFF/Driver.cpp
    A lld/test/COFF/arm64x-hybridobj.s

  Log Message:
  -----------
  [LLD][COFF] Add support for multi-arch ARM64X object files (#207868)


  Commit: eb4690c251141b7d4ef31f321acc6fb3dc09a1bf
      https://github.com/llvm/llvm-project/commit/eb4690c251141b7d4ef31f321acc6fb3dc09a1bf
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    A flang/test/Lower/split-sum-expression-tree-lowering.f90

  Log Message:
  -----------
  [flang][Lower] Add alternative real expression lowering (#207371)

This is opt-in by an engineering option and disabled by default.

In section 10.1.5.2.4 of the 2023 Fortran standard "Evaluation of
numerical intrinsic operations", the standard explicitly allows
alternate mathematically equivalent lowerings. For example the source
expression X + Y + Z could be evaluated (X + Y) + Z, X + (Y + Z) or even
(X + Z) + Y, etc.

The open source benchmark SNBone shows significantly better results with
classic flang because classic flang emits real arithmetic expressions in
a different order. In the case of this benchmark it reduces dependency
depth for instructions issued to the vector unit, allowing for more of
the arithmetic to be parallelised over multiple vector execution units
in the ALU.

The lowering added by this patch tries to mimic the way classic flang
orders instructions for these expressions. I did not read any classic
flang source when writing this patch. There is still a notable
difference in that classic flang uses FMA intrinsics whereas LLVM Flang
relies on the rest of the pipeline to introduce FMA when it is safe to
do so.

This is a much less aggressive optimisation than simply enabling reassoc
in the fast-math flags because it does not allow reassociation between
Fortran language statements. This is why I implemented it in lowering.

The new option enables an experimental lowering path for scalar real
top-level addition chains. When enabled with
-enable-split-sum-expression-tree-lowering, eligible sums are split
after the first two terms and rebuilt as a right-associated tail plus
head. This lets the independent tail terms be evaluated before the
assignment-related head, giving the backend a different expression tree
while leaving the default lowering unchanged.

The transform is deliberately narrow. It only applies to scalar real RHS
expressions in assignments and rejects cases with vector subscripts,
parentheses, subtraction, procedure references, or volatile/asynchronous
symbols on either side of the assignment. Subtraction is left out
because the split would need to carry signed terms; division stays
within an individual additive term and does not change the top-level
chain.

In testing I have found some tests in the Fujitsu test suite miscompare
due to small changes in floating point rounding. There are no failures
or regressions in SPEC2017 or SPEC2026. I think it would be legal
according to the Fortran standard to enable this by default, but I am
not proposing that here, and will not consider it until after the LLVM
release branch point.

Assisted-by: Codex


  Commit: dcf1b8f2c00b38777f71297afc7b575cd2d9300a
      https://github.com/llvm/llvm-project/commit/dcf1b8f2c00b38777f71297afc7b575cd2d9300a
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/ASTStructuralEquivalence.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
    A clang/test/CXX/temp/temp.decls/temp.friend/p6.cpp
    M clang/test/Parser/cxx2c-variadic-friends.cpp
    M clang/test/SemaCXX/many-template-parameter-lists.cpp
    M clang/test/SemaTemplate/GH71595.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp
    M clang/test/SemaTemplate/ctad.cpp
    M clang/test/SemaTemplate/friend-template.cpp

  Log Message:
  -----------
  [Clang] support friend declarations with a dependent nested-name-specifier (#191268)

Fixes #104057

---

This patch adds support for friend declarations with a dependent NNS


  Commit: 293a55ce46a56accc10965712e77f4ba09f15322
      https://github.com/llvm/llvm-project/commit/293a55ce46a56accc10965712e77f4ba09f15322
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir

  Log Message:
  -----------
  [GlobalISel][AArch64] Remove IRs from inline-{memcpy,memmove} tests (NFC) (#208066)


  Commit: cd854821ae5550350431146b8fe88005b29da257
      https://github.com/llvm/llvm-project/commit/cd854821ae5550350431146b8fe88005b29da257
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
    M llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.mir

  Log Message:
  -----------
  [AArch64] Add missing arithmetic to arith+cb(n)z clustering (#203721)

This patch adds a few missing opcodes for arithmetic+CB(N)Z clustering.
Most of them complement an already existing rr/rs variant for
pre/post-RA coverage. The only one which is completely new is ORN which
I think can be reasonably expected to behave similarly on AArch64
targets.


  Commit: dd37265910a290887a16696de6f0dea1731ab4c8
      https://github.com/llvm/llvm-project/commit/dd37265910a290887a16696de6f0dea1731ab4c8
  Author: Jolyon <yangjian.c at bytedance.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/Local.cpp

  Log Message:
  -----------
  [CodeGenPrepare] Cache known-live PHIs when deleting dead PHI chains (#207191)

This patch fixes a compile-time issue in CodeGenPrepare for huge
functions.

`DeleteDeadPHIs` may repeatedly prove overlapping PHI chains non-dead.
For very large functions, many PHIs can share the same non-dead def-use
suffix, causing the same suffix to be scanned many times.

Add an `KnownNonDeadPHIs` cache to `RecursivelyDeleteDeadPHINode`
and `DeleteDeadPHIs`. When a chain is proven non-dead, visited PHIs are
recorded so later queries can stop once they reach one of them.

This reduces the pathological CodeGenPrepare case from ~30mins to ~30s.


  Commit: d582a7d2196077d98b97e74a537ec56120d7704c
      https://github.com/llvm/llvm-project/commit/d582a7d2196077d98b97e74a537ec56120d7704c
  Author: David Truby <david.truby at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang-rt/lib/runtime/io-api-server.cpp

  Log Message:
  -----------
  [flang-rt] Fix io-api-server when building for arm64ec (#207998)


  Commit: 5f33a29bebe42a032a163a80e311d8ba305de3f6
      https://github.com/llvm/llvm-project/commit/5f33a29bebe42a032a163a80e311d8ba305de3f6
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Introduce VPConstant VPIRValue (NFC) (#207387)

There a gap in the VPIRValue class hierarchy, where constant live-ins
are absent, when this is in fact a very common case. The motivation of
introducing this new class is to refine optimizations to account for the
fact that non-constant live-ins need broadcast.


  Commit: 2f07e6be216858d15e691b2a59514aa73db0f8dc
      https://github.com/llvm/llvm-project/commit/2f07e6be216858d15e691b2a59514aa73db0f8dc
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp

  Log Message:
  -----------
  [Clang] Fix missing vtable for `dynamic_cast<FinalClass &>(*this)` in a function template (#207349)

This is a follow-up to #202594, which fixed a pointer cast, but not
a reference cast. Surprisingly, `CXXDynamicCastExpr::getType()`
for a reference cast is a `RecordType` and not a `ReferenceType`.

How this happens:
In `Sema::BuildCXXNamedCast`, a `CastOperation Op` variable
is constructed. The `CastOperation` constructor initializes
`ResultType(destType.getNonLValueExprType(S.Context))`
where `QualType::getNonLValueExprType` turns a `ReferenceType` into
a `RecordType`. `Sema::BuildCXXNamedCast` then passes `Op.ResultType`
to `CXXDynamicCastExpr::Create`.


  Commit: 024a691e7784e7ebe3783ddaf557ee07a127d934
      https://github.com/llvm/llvm-project/commit/024a691e7784e7ebe3783ddaf557ee07a127d934
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll

  Log Message:
  -----------
  [VPlan] Pull out reverses and splice.lefts from elementwise operations (#199234)

InstCombine pulls reverses up and out of operations, e.g.
`binop(reverse(x), reverse(y)) -> reverse(binop(x,y))`. This reduces the
overall number of reverses, and also allows the `reverse(reverse(x))`
combine to kick in much more.

This implements the same canonicalization in VPlan which allows for more
vectorization due to cost model improvements, and generally handles more
cases when there's predication involved. 

If we have a reversed load and reversed store whose stores are now
eliminated, we will be left with just two reversed masks on the load and
store. But with EVL tail folding this will leave behind a
`splice.right(ops(splice.left(...)))` pair on the value from memory.

InstCombine can fold away a pair of `vp.reverse(ops(vp.reverse(...)))`,
but it can't fold a pair of splices. So to prevent regressions we also
have to pull splice.lefts like `ops(splice.left(poison, x, evl)) ->
splice.left(poison, ops(x), evl)`. The `splice.right(splice.left(x)) ->
x` VPlan transform will then kick in and remove it. We don't need to
pull splice.rights since they are only emitted at stores.


  Commit: 4ddfd96314507b6a829b1df5afc5455f345ba38d
      https://github.com/llvm/llvm-project/commit/4ddfd96314507b6a829b1df5afc5455f345ba38d
  Author: ayrai-gb <ayrai at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/IR/Instruction.cpp
    M llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll

  Log Message:
  -----------
  [IR] Preserve !nofpclass in dropUBImplyingAttrsAndMetadata (#208186)

`!nofpclass` is a poison-generating metadata kind, so it should be
preserved by dropUBImplyingAttrsAndMetadata().


  Commit: 9a465c3f2493bbdca2becb79450d4ee33306bd5d
      https://github.com/llvm/llvm-project/commit/9a465c3f2493bbdca2becb79450d4ee33306bd5d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M orc-rt/CMakeLists.txt

  Log Message:
  -----------
  [orc-rt] Refactor CMakeLists.txt for readability. NFCI. (#208156)

Groups related options, adds comments and separators.


  Commit: 0f174998859cfaa48e848bb44400522acd0c4dc3
      https://github.com/llvm/llvm-project/commit/0f174998859cfaa48e848bb44400522acd0c4dc3
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [CodeGen][NFC] Remove stray SDag BFI computation with NewPM (#208181)

This looks like an accident -- there's no need to compute the
BlockFrequencyInfo unconditionally and then discarding it. After this,
enabling the NewPM CodeGen pipeline is faster than the legacy PM.


  Commit: c1fd542e61749f3c6765f4d8293094e7064ebb18
      https://github.com/llvm/llvm-project/commit/c1fd542e61749f3c6765f4d8293094e7064ebb18
  Author: Ayaan <138162656+def3r at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/rotate.ll
    A llvm/test/Transforms/InstCombine/zext-sub-trunc.ll

  Log Message:
  -----------
  [InstCombine] Fold zext(sub(0, trunc(X))) to and(sub(0, X), mask) (#207564)

Problem: vector rotate and funnel shift fails to fold for vectors > 16
bytes on AVX-512. This is because of the `trunc` and `zext`
instructions.

Example:
```llvm
define dso_local <8 x i64> @baz(<8 x i64> %0, <8 x i64> %1) local_unnamed_addr {
Entry:
  %2 = trunc <8 x i64> %1 to <8 x i6>
  %3 = sub <8 x i6> zeroinitializer, %2
  %4 = zext <8 x i6> %3 to <8 x i64>
  %5 = shl <8 x i64> %0, %4
  %6 = and <8 x i64> %1, splat (i64 63)
  %7 = lshr <8 x i64> %0, %6
  %8 = or <8 x i64> %5, %7
  ret <8 x i64> %8
}
```   

Solution; Canonicalize the transformation `zext(sub(0, trunc(X))) ->
and(sub(0, X), mask)` for scalars and vectors.

Closes #165306


  Commit: 76f49f834e057c028a9f42fddca7e3f522e1dda1
      https://github.com/llvm/llvm-project/commit/76f49f834e057c028a9f42fddca7e3f522e1dda1
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    A llvm/test/Transforms/DFAJumpThreading/br-debuglocs.ll
    A llvm/test/Transforms/DFAJumpThreading/br-debuglocs2.ll

  Log Message:
  -----------
  [DFAJumpThreading] Propagate DebugLocs to branches in select unfolding (#205851)

When DFAJumpThreading replaces a select with control flow, it generates
new blocks, new branches in those blocks, and potentially replaces the
branch in an existing block. Prior to this patch, none of these branches
were assigned debug locations; this patch replaces them as follows:

For the case where we generate two new blocks between the select block
and use block, and use a PHI of those blocks to replace the select, we
use the select's debug location for the branch instructions, since they
are doing the work of the select.

For the case where we generate one new block and replace the
unconditional branch from the select block with a conditional branch to
the new block and the use block, we treat the new branches as replacing
both the select and the original branch, so each branch takes the merged
location of the original select+br.

This patch also ensures that when we create a new path which would end
with a switch statement, such that the switch statement can be safely
replaced with an unconditional branch, we propagate the switch's debug
location to the replacing unconditional branch.


  Commit: 5166fea278a64988e166ae6d669b955d07544f13
      https://github.com/llvm/llvm-project/commit/5166fea278a64988e166ae6d669b955d07544f13
  Author: David Green <david.green at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Use integer types in applySimplifyUADDO (#207962)

This avoids creating some scalar types in the IR, using integer types
for constants from a uaddo combine instead.


  Commit: b4b9fbb56271236f6415403b562c46fcb64016d5
      https://github.com/llvm/llvm-project/commit/b4b9fbb56271236f6415403b562c46fcb64016d5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/sa_family_t.h
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/bind_test.cpp
    M libc/test/src/sys/socket/linux/connect_accept_test.cpp
    M libc/test/src/sys/socket/linux/sockaddr_storage_helper.cpp
    M libc/test/src/sys/socket/linux/sockaddr_storage_test.cpp
    M libc/test/src/sys/socket/linux/sockname_test.cpp

  Log Message:
  -----------
  [libc] Add a proxy header for sa_family_t (#207736)

This patch adds `hdr/types/sa_family_t.h` and updates socket tests and
helpers to use it instead of directly including `<sys/socket.h>` or
`include/llvm-libc-types/sa_family_t.h`.

The patch also adds a couple of includes of `hdr/types/socklen_t.h` for
files that are using the type, but not including it directly.

Assisted by Gemini.


  Commit: 2d829f66147850c1fa9cd49c207b40c69aff5f17
      https://github.com/llvm/llvm-project/commit/2d829f66147850c1fa9cd49c207b40c69aff5f17
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/include/llvm/Transforms/Utils/Debugify.h
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp

  Log Message:
  -----------
  [Debugify] Simplify debugify for locations (#207374)

This patch attempts to improve the performance of debugify for
locations, by relying on coverage tracking to replace most of the
functionality provided via the DILocations map, in exchange for losing
the ability to distinguish between "dropped" and "not-generated" bugs,
and requiring coverage tracking to determine when new bugs appear in a
pass instead of reporting the same bug repeatedly across passes.

This patch is not without cost; the justifications for using it are
that:
- Debugify locations is incredibly expensive; on a local build, without
using any coverage-tracking, this patch takes the build time for sqlite3
down from ~15 minutes to ~10 seconds.
- The difference between "dropped" and "not-generated" is a minor detail
of a bug - besides helping to determine the cause of the bug, which
origin-tracking can do with more accuracy, there's no fundamental
difference in the correctness of either. Furthermore, almost no
"dropped" bugs appear in the compiler anymore (since the debug location
coverage tracker bot has been online).
- Requiring coverage tracking to prevent repeated bugs is a loss, but
coverage tracking is not a very expensive feature to enable compared to
using debugify itself, and the only public automated tests that use
debugify already enable coverage tracking.


  Commit: 95eef8c4b209036bc2fdce0891b43cb9170a46c5
      https://github.com/llvm/llvm-project/commit/95eef8c4b209036bc2fdce0891b43cb9170a46c5
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp

  Log Message:
  -----------
  [IR][NFC] Add LoadStoreProperties to copy load/store attrs (#206470)

Introduce a small `LoadStoreProperties` struct plus get/setAttributes on
`LoadInst` and `StoreInst` so volatile/align/ordering/syncscope can be
copied together instead of one field at a time. Switch the obvious load->load
and store->store clone sites over to it.


  Commit: 179badc020b48f736341408fdb01537ada3eedfb
      https://github.com/llvm/llvm-project/commit/179badc020b48f736341408fdb01537ada3eedfb
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/docs/FAQ.md

  Log Message:
  -----------
  [flang][docs] Add a mention about -fsafe-trampoline to FAQ.md (#207656)

Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>


  Commit: 047011710642a63471fcdba64f009a0125f715bf
      https://github.com/llvm/llvm-project/commit/047011710642a63471fcdba64f009a0125f715bf
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
    A llvm/test/CodeGen/AArch64/sve-pred-ldst.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Make use of predicate load/store "mul vl" addressing mode. (#206997)


  Commit: 2abc19543d802780eadd1450f0aa0c28fed080af
      https://github.com/llvm/llvm-project/commit/2abc19543d802780eadd1450f0aa0c28fed080af
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libc/fuzzing/arpa/inet/CMakeLists.txt
    A libc/fuzzing/arpa/inet/inet_ntop_differential_fuzz.cpp

  Log Message:
  -----------
  [libc] Add a differential fuzzer for inet_ntop (#207977)

The first byte of the input is used to select the address class and the
size of the output buffer. The rest is used as the input.

We compare the results and also check that our implementation does not
overflow the buffer.

Assisted by Gemini.


  Commit: 6008f6735309d3efafa8680df04f486b0819d34d
      https://github.com/llvm/llvm-project/commit/6008f6735309d3efafa8680df04f486b0819d34d
  Author: David Green <david.green at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-abds.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-abdu.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-abs.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-ashr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-assertzext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-concat.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-const.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-ctls.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-cttz.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-extract-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-fshl-fshr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-rotl-rotr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sadde.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-saddo.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sdiv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-shl.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-shuffle.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-smulh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-stepvector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sub.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sve-splat.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-trunk.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-uadde.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-uaddo.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-udiv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-umulh.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-unmerge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-urem.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-zext.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update scalar types in knownbits tests. NFC (#208199)


  Commit: 7205d7c676c8f90a0cf89484c1a9687fa601b867
      https://github.com/llvm/llvm-project/commit/7205d7c676c8f90a0cf89484c1a9687fa601b867
  Author: Kristina Bessonova <ch.bessonova at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/ABIVersions.def
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/dtor-local-lambda-mangle.cpp
    M clang/test/CodeGenCXX/mangle-lambdas-gh88906.cpp
    A clang/test/CodeGenCXX/mangle-lambdas-in-dmi-local-class.cpp

  Log Message:
  -----------
  [clang][ItaniumMangle] Fix mangling of lambdas in default member initializers of local classes (#206740)

Lambdas appearing in default member initializers of members of local
classes were previously mangled as if they belonged only to the class
scope, ignoring the enclosing function-local context.

This caused different (but same-named) local classes to produce
identical closure type mangling and corresponding RTTI/IR collisions.

Consider the following example:
```
  void foo() {
    {
      struct T {
        std::function<void()> a = [](){ std::cout << "a"; };
      } t;
      t.a();
    }
    {
      struct T {
        std::function<void()> a = [](){ std::cout << "b"; };
      } t;
      t.a();
    }
  }
```

The expected output is `ab` (and GCC-compiled code behaves accordingly),
while clang previously printed `bb` because the first `T::a` definition
is overridden by the second one due to the missing `<local-name>`
encoding and discriminator required to distinguish the two local `T`
definitions.


  Commit: 852286d8169ce8522cccddaaf5356c62a1b7a8a2
      https://github.com/llvm/llvm-project/commit/852286d8169ce8522cccddaaf5356c62a1b7a8a2
  Author: Chirag Patel <chirag198838 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp

  Log Message:
  -----------
  Fix unused variable build failure in Release build (#208195)

Fixes build failure introduced by commit [736771b]
(https://github.com/llvm/llvm-project/commit/736771b6a017b5a18c03819a3348ff793c473261)
into llvm:main

Ref : https://github.com/llvm/llvm-project/pull/207148
Failure : https://lab.llvm.org/buildbot/#/builders/228/builds/4056


  Commit: ac1af12027ee0e2787400a896f67dc3f154b3d16
      https://github.com/llvm/llvm-project/commit/ac1af12027ee0e2787400a896f67dc3f154b3d16
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/apx/ccmp.ll

  Log Message:
  -----------
  [X86][CCMP] Lower select(and/or(setcc,...), T, F) as a CCMP chain (#207929)

Fixes: #207886

Assisted-by: Claude Sonnet 4.6


  Commit: adfb3be9d098e4c12895957f9ac3fc9d892b45a9
      https://github.com/llvm/llvm-project/commit/adfb3be9d098e4c12895957f9ac3fc9d892b45a9
  Author: Rito Takeuchi <licht-t at outlook.jp>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/mulhu-v4i64-umul-lohi-guard.ll
    M llvm/test/CodeGen/X86/srem-vector-lkk.ll
    M llvm/test/CodeGen/X86/urem-vector-lkk.ll
    M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
    M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll

  Log Message:
  -----------
  [X86] Add vXi64 MULHU/MULHS lowering, keeping full-width products scalar (#206983)

Based on the discussion in the PR #169819. 
This lands the unsigned (`MULHU`) and signed (`MULHS`)
`vXi64` high-multiply lowering, plus a guard so full 128-bit products
stay scalar.

### What this does

1. **Lower `ISD::MULHU` for `v4i64`/`v8i64`** via `forceExpandMultiply`
(a `vpmuludq` schoolbook), as in #169819.
2. **Lower `ISD::MULHS` for `v4i64`/`v8i64`, gated on AVX512DQ.** The
signed low multiply is `vpmullq`, so `MULHS` is only marked `Custom`
when DQ (and VL for `v4i64`) is available.
3. **Guard the full-width-product case.** When the *low* half of the
product is also used (a `wyhash`-style `lo ^ hi`), vectorizing just the
high half is redundant with the low half's wide multiply. So, this guard
let a single scalar multiply per lane yield both halves, likewise the
unpatched target already did.
This is done by marking `UMUL_LOHI`/`SMUL_LOHI` `v4i64`/`v8i64` `Custom`
(unrolled), which lets the existing DAGCombiner check decline to narrow
`trunc(srl(mul(ext,ext)))` to `MULHU`/`MULHS` when the wide multiply's
low half is used.

### Performance

Same-IR A/B (identical IR, stock vs patched `llc`), EC2 metal,
per-target `-march`/`-mtune`, turbo off, one pinned core. ns/elem,
`stock → patched (ratio)`. Full matrix:
https://github.com/llvm/llvm-project/pull/206983#issuecomment-4871421534.

| kernel (AVX-512 256b) | Cascade | Ice Lake | SPR | Zen 4 |
|---|---|---|---|---|
| `udiv` (MULHU) | 1.71x | 1.71x | 1.78x | 1.88x |
| `div` (MULHS) | 1.18x | 1.25x | 1.31x | 2.04x |
| full-128 `lo ^ hi` (guarded) | 1.00x | 1.00x | 1.00x | 1.00x |

### Testing

- New `test/CodeGen/X86/mulhu-v4i64-umul-lohi-guard.ll`:
`umul_lohi_both_halves` (both halves used → scalarizes) and
`mulhu_high_only` (high only → vectorizes), on AVX2 and AVX-512.
- Existing `vector-idiv-{udiv,sdiv}-{256,512}.ll`, `urem-vector-lkk.ll`,
`srem-vector-lkk.ll` show the `MULHU`/`MULHS` vectorization (the signed
ones only on AVX512DQ RUN lines).
- No regressions across `test/CodeGen/X86`.

### AI Usage Disclosure
This PR was prepared with the assistance of Claude Code.

Fixes #37771


  Commit: b5fa9eee6798b678fc7cb5f2b42a977932b708f9
      https://github.com/llvm/llvm-project/commit/b5fa9eee6798b678fc7cb5f2b42a977932b708f9
  Author: inquisitivecrystal <thoughtsoflifeandlight17 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG3918: copy elision in `std::uninitialized_move/_n` (#207692)

This implements [LWG3918](https://wg21.link/LWG3918), which guarantees
copy elision for rvalues in `std::uninitialized_move/_n`. It also
implements [LWG4452](https://wg21.link/LWG4452), a minor correction that
makes the helper added by LWG3918 constexpr.

This additionally fixes a bug in `std::uninitialized_move/_n` where they
could create and then access dangling references. The previous
implementation used the following lambda as an implementation detail:
```c++
[](auto&& __iter) -> decltype(auto) { return std::move(*__iter); }
```
When `__iter` is a prvalue, this creates a temporary object within the
lambda's body and `std::move` then returns a reference to that object.
The reference dangles as soon as control leaves the lambda. This
behavior was not permitted by the standard even before LWG3918.

The new implementation fixes the bug by using a helper,
`std::__deref_move(__iter)`, which returns `*__iter` directly when
`*__iter` is already an rvalue.

Resolves #118339.
Resolves #171416.


  Commit: fd86339aa29c096855b9cfba4a44c539a013ba15
      https://github.com/llvm/llvm-project/commit/fd86339aa29c096855b9cfba4a44c539a013ba15
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Fix AMDGPU Target-IDs linking in improper order (#207853)

Summary:
These target IDs are supposed to be ordered from most to least specific,
but we had no such ordering. The changes basically sort the input from
least to most specific using the target-id presence, then ensures that
their entries are listed first.

Fixes: https://github.com/llvm/llvm-project/issues/207835


  Commit: 3ec5229fb7e0631119059fd1b50bef3c3d9bb24d
      https://github.com/llvm/llvm-project/commit/3ec5229fb7e0631119059fd1b50bef3c3d9bb24d
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lld/test/ELF/compressed-debug-level.test

  Log Message:
  -----------
  [lld][ELF][test] Accept zlib-ng compressed size (#206880)

zlib-ng 2.3.2 deflates slightly differently from zlib; the level-1
default is 0x20, just outside the LEVEL1 pattern. Widen it to accept
0x20.

Assisted-by: claude-opus


  Commit: 646dcad77c7aec076dbc1c6d99d4b4fb1d63df3b
      https://github.com/llvm/llvm-project/commit/646dcad77c7aec076dbc1c6d99d4b4fb1d63df3b
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M offload/test/lit.cfg

  Log Message:
  -----------
  [offload] Add cuda to the PATH for nvptx tests (#208101)

To execute the JIT tests, ptxas needs to be in PATH. This also makes
sure we use ptxas from the same cuda path that we use when compiling.


  Commit: f6976c8e7be28eae61f4c636370caef124a65f57
      https://github.com/llvm/llvm-project/commit/f6976c8e7be28eae61f4c636370caef124a65f57
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Lower/Support/ReductionProcessor.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    A flang/test/Lower/OpenMP/reduction-array-element.f90

  Log Message:
  -----------
  [Flang][OpenMP] Correct ArrayElements in Reduction Clause (#196094)

Currently, when an ArrayElement is used within a Reduction clause, it
will be lowered with the reduction referencing the box containing the
array, not just the element.

To address this, adjust Flang lowering to track expressions alongside
symbol to ensure that the Array Element context is not lost and
considered when lowering a reduction with Array Element. This ensures
that, when represented in HLFIR, it will be just the element's type,
rather than the full array.

Currently this excludes DO CONCURRENT as it excludes Array Elements, and
is limited to Array Elements but there are options to expand this into
Array Sections in the future.

Assisted-by: Codex


  Commit: 961ab7a3696701f9cc0c82a4cde7fc9937141b01
      https://github.com/llvm/llvm-project/commit/961ab7a3696701f9cc0c82a4cde7fc9937141b01
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/vec-strict-cmp-128.ll

  Log Message:
  -----------
  [SDAG][X86] Uplift pseudo fmin/fmax from X86 (#188489)

X86 has pseudo fmin/fmax operations that implement `x olt y ? x : y` and
`x ogt y ? x : y` respectively. There are other targets that also
support these operations, including wasm and s390x.

On wasm (where I've adopted the "pseudo" terminology from), we currently
create these ops, but incorrectly (wrt signed zero handling). On s390x
we don't, but should to avoid regressions from fixing incorrect
minnum/maxnum formation.

I figured it would make sense to uplift the existing support form X86,
so other targets can benefit from it by just marking the operations
legal.


  Commit: 6a151b618696a484adb9c848debb9ccc742a0867
      https://github.com/llvm/llvm-project/commit/6a151b618696a484adb9c848debb9ccc742a0867
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M orc-rt/include/orc-rt-c/Compiler.h

  Log Message:
  -----------
  [orc-rt] Add an ORC_RT_C_FORMAT_PRINTF macro for format-string checking (#208209)

Add a macro to annotate a function that takes a printf-style format
string, so that supporting compilers can check the format string against
the function's arguments at compile time.

This will be used by the upcoming logging API to type-check log format
strings, including at call sites that are compiled out.


  Commit: 5fd64bb8f4878dcc002a5ba1bde3c23f0f2714ac
      https://github.com/llvm/llvm-project/commit/5fd64bb8f4878dcc002a5ba1bde3c23f0f2714ac
  Author: Vladimir Suvorov <svfly at yandex.ru>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix regression in  mlir StableHLO tests due to PR #203583 (#207995)

StableHLO tests have regression due to use of additional op parameter in
verifyBlockScaledTensorType

This adjusts https://github.com/llvm/llvm-project/pull/203583 and fixes
many of stablehlo/tests

Signed-off-by: Vladimir Suvorov <suvorovv at google.com>


  Commit: 188702eeb742a66b8cf32722ca4d8a8d64e77f83
      https://github.com/llvm/llvm-project/commit/188702eeb742a66b8cf32722ca4d8a8d64e77f83
  Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/smax-allones.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/WebAssembly/fpclamptosat.ll
    M llvm/test/CodeGen/X86/combine-smax.ll
    M llvm/test/CodeGen/X86/combine-smin.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/probe-stack-eflags.ll

  Log Message:
  -----------
  [DAGCombiner] Fold smax(X, -1)/smin(X, 0) to bitwise shift forms (#206242)

Fixes #206153

`smax(X, -1) = or(X,  ashr(X, BW-1))`
`smin(X,  0) = and(X, ashr(X, BW-1))`

`ashr(X, BW-1)` sign-extends the sign bit to all bits 0 for X≥0, -1 for
X<0. OR-ing with X yields X or -1 = smax(X,-1), AND-ing yields 0 or X =
smin(X,0). Both replace a `compare+cmov` with two cheap bitwise
instructions.

The fold is unconditional (not gated on code size), firing whenever the
target has no native `SMAX/SMIN` instruction for the type
(`isOperationExpand`), the type is legal (`isTypeLegal`), and the input
is not a min/max chain (preserving RISCV-P `sati` saturation patterns).


  Commit: bb55d6c3c26640f2a0fdb33005e6221ddcdfd18c
      https://github.com/llvm/llvm-project/commit/bb55d6c3c26640f2a0fdb33005e6221ddcdfd18c
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/lib/Lower/MultiImageFortran.cpp

  Log Message:
  -----------
  [flang][MIF] Fix ucobounds given in mif.alloc_coarray #207858 (#207935)

This PR provide a manior fix to issue #207858 when the `ucobound` array
is passed to mif.alloc_coarray. This array was built from the values in
`lcobound`.


  Commit: f05387745e53a1fe298b4b45d66f40517ec7ace6
      https://github.com/llvm/llvm-project/commit/f05387745e53a1fe298b4b45d66f40517ec7ace6
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M orc-rt/CMakeLists.txt
    M orc-rt/include/CMakeLists.txt
    A orc-rt/include/orc-rt-c/Logging.h
    M orc-rt/include/orc-rt-c/config.h.in
    M orc-rt/unittests/CMakeLists.txt
    A orc-rt/unittests/LoggingTest.cpp

  Log Message:
  -----------
  [orc-rt] Add a configurable logging API with a no-op backend (#208214)

Adds ORC_RT_LOG(Level, Category, Fmt, ...), a compile-time-configurable
logging facility for the ORC runtime, along with the default "none"
backend.

The backend is chosen at build time via the ORC_RT_LOG_BACKEND CMake
option (none, printf, os_log), and the lowest level to be compiled in
via ORC_RT_LOG_LEVEL.

The "none" backend implemented here compiles every log site out to
nothing (but still type-checks the format string and arguments in an
unevaluated context so disabled sites cannot bit-rot). Levels are Error,
Warning, Info, and Debug; categories are a typo-safe enum.

The printf and os_log backends are stubbed with #error and will follow.


  Commit: 44858419d766322d9c51d85f4ac83501a5181597
      https://github.com/llvm/llvm-project/commit/44858419d766322d9c51d85f4ac83501a5181597
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/StmtVisitor.h
    M llvm/include/llvm/Support/Compiler.h

  Log Message:
  -----------
  Revert "[clang][AST] Inline StmtVisitor fallback methods" for STMT macro in debug builds (#208106)

This partially reverts commit 8b50847a31f927d258cf22953035db206d42fc5d.

The LLVM_ATTRIBUTE_ALWAYS_INLINE on STMT macro fallback methods caused
stack overflow in debug builds when processing deeply nested
expressions.
The test many-logical-ops.c with 2000+ logical AND operators would crash
in SequenceChecker due to excessive stack consumption.

Introduce LLVM_ATTRIBUTE_ALWAYS_INLINE_UNLESS_DEBUG which expands to
LLVM_ATTRIBUTE_ALWAYS_INLINE in release builds (preserving the binary
size optimization) but to plain `inline` in debug builds (avoiding stack
overflow).

Apply this to the STMT macro while keeping LLVM_ATTRIBUTE_ALWAYS_INLINE
on BINOP_FALLBACK, CAO_FALLBACK, and UNARYOP_FALLBACK.

Fixes regressions in debug builds only:
   Clang :: C/C99/n590.c
   Clang :: Index/index-many-logical-ops.c
   Clang :: Sema/deep_recursion.c
   Clang :: Sema/many-logical-ops.c

Co-Authored-By: Claude Sonnet 4.5 <noreply at anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>


  Commit: 2681879121986aea419cc19421dc04f3f1bc3eb1
      https://github.com/llvm/llvm-project/commit/2681879121986aea419cc19421dc04f3f1bc3eb1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-toolchain-device-only.hip

  Log Message:
  -----------
  [HIP] Use complete toolchain in --offload-device-only (#205243)

Summary:
Since https://github.com/llvm/llvm-project/pull/201457 these targets
defaulted to LTO. However, this caused the default for
`--offload-device-only` to now be LLVM-IR. This is a regression from
prior behavior, so we special case it out. Honestly this would probably
be correct if the behavior started like this, but we shouldn't break
existing code.


  Commit: c4b3d1d51da2570de41fbfab9784ca31558641a8
      https://github.com/llvm/llvm-project/commit/c4b3d1d51da2570de41fbfab9784ca31558641a8
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-07-08 (Wed, 08 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/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
    M llvm/test/CodeGen/SystemZ/zos-ada.ll
    M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
    M llvm/test/CodeGen/SystemZ/zos-stack-protector.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Emit prolog length (#208069)

The PPA1 contains fields recording the length of the prolog and the
offset to the instruction updating the stack pointer register. The
implementation consists of the following parts:
- the end of the prolog is marked with a FENCE instruction which
prevents scheduling from moving instructions across the barrier.
- when emitting the PPA1, the FENCE instruction along with other stack
update instructions are used to calculate the length and the offset.

Co-authored-by: Tony Tao <tonytao at ca.ibm.com>


  Commit: 4c6f664cc78a2c2ad2fd511a5adf9fc988f2d933
      https://github.com/llvm/llvm-project/commit/4c6f664cc78a2c2ad2fd511a5adf9fc988f2d933
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
    M llvm/test/CodeGen/AMDGPU/implicit-arg-block-count.ll

  Log Message:
  -----------
  [AMDGPU] Guard block-count upgrade against volatile/atomic grid-size … (#208068)

…loads

AMDGPULowerKernelAttributes upgrades the pre-COV5 pattern
  udiv(grid_size_x, group_size_x)
to a direct load of hidden_block_count_x from the implicit args. The
m_Load() pattern matcher does not check whether the matched load is
volatile or atomic, so a volatile or atomic grid_size load would have
been silently deleted and replaced -- dropping its observable side
effects in violation of the LangRef.

Fix: after the pattern match succeeds, cast the matched value to
LoadInst and bail out if !isSimple() (i.e., volatile or atomic).

Add a test case num_blocks_x_volatile_grid_size in
implicit-arg-block-count.ll to verify the volatile load and udiv are
preserved unchanged.


  Commit: 1f0dca704ab4b59de9377e21813c18f1bb5899d8
      https://github.com/llvm/llvm-project/commit/1f0dca704ab4b59de9377e21813c18f1bb5899d8
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-fast.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr-fast.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll

  Log Message:
  -----------
  [AMDGPU] Gate fold_pow(x, ±0.5)->sqrt/rsqrt on nsz+ninf fast-math flags (#205592)

AMDGPULibCalls::fold_pow rewrote pow(x, 0.5)->sqrt(x) and pow(x,
-0.5)->rsqrt(x) unconditionally, firing before the
isUnsafeFiniteOnlyMath guard. This is incorrect for two IEEE corner
cases:

  pow(-Inf, 0.5) == +Inf  but  sqrt(-Inf) == NaN
  pow(-0.0, 0.5) == +0.0  but  sqrt(-0.0) == -0.0

Guard the fold on hasNoSignedZeros() && (IsPowr || hasNoInfs()), where
IsPowr is true for powr/powr_fast. The OpenCL spec requires x >= 0 for
powr, so -Inf is undefined behaviour and the ninf check can be skipped;
-0.0 is a valid input for powr since -0.0 >= 0 by IEEE comparison, so
nsz is still required for all variants. afn alone is not sufficient
since it only permits approximate results and says nothing about the
treatment of infinities or signed zeros.

Update the four autogenerated test files to reflect the new semantics:
- Add nsz (and ninf for pow) to existing afn-only ±0.5 call sites so
those tests continue to exercise the fold as intended. powr tests use
nsz only, documenting that ninf is not required.
- Add afn-only (no nsz/ninf) ±0.5 tests in pow-fast.ll and powr-fast.ll
to document that afn alone does not trigger the fold.


  Commit: 56f655fafabc5ff98aee687c4e03f4c6b57c496e
      https://github.com/llvm/llvm-project/commit/56f655fafabc5ff98aee687c4e03f4c6b57c496e
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [NFC][SPIR-V] Dedupe getConstInt metadata helper into SPIRVUtils (#208194)


  Commit: 8b4e74e02ededfdb64258a13f2d2a584b79eec2c
      https://github.com/llvm/llvm-project/commit/8b4e74e02ededfdb64258a13f2d2a584b79eec2c
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/corev/XCValu-invalid.s
    M llvm/test/MC/RISCV/corev/XCVbitmanip-invalid.s
    M llvm/test/MC/RISCV/corev/XCVmac-invalid.s
    M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
    M llvm/test/MC/RISCV/corev/XCVsimd-invalid.s
    M llvm/test/MC/RISCV/insn-invalid.s
    M llvm/test/MC/RISCV/insn_c-invalid.s
    M llvm/test/MC/RISCV/insn_xqci-invalid.s
    M llvm/test/MC/RISCV/priv-invalid.s
    M llvm/test/MC/RISCV/rv32c-invalid.s
    M llvm/test/MC/RISCV/rv32i-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zbb-invalid.s
    M llvm/test/MC/RISCV/rv32zcmop-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zbb-invalid.s
    M llvm/test/MC/RISCV/rvc-hints-invalid.s
    M llvm/test/MC/RISCV/rvv/zvvfmm-invalid.s
    M llvm/test/MC/RISCV/rvv/zvvmm-invalid.s
    M llvm/test/MC/RISCV/rvv/zvvmtls-invalid.s
    M llvm/test/MC/RISCV/rvv/zvvmttls-invalid.s
    M llvm/test/MC/RISCV/rvzicond-invalid.s
    M llvm/test/MC/RISCV/rvzihintntl-invalid.s
    M llvm/test/MC/RISCV/rvzihintntlc-invalid.s
    M llvm/test/MC/RISCV/smrnmi-invalid.s
    M llvm/test/MC/RISCV/tlsdesc.s
    M llvm/test/MC/RISCV/xmips-invalid.s
    M llvm/test/MC/RISCV/xqci-access-pseudos.s
    M llvm/test/MC/RISCV/xqciint-invalid.s
    M llvm/test/MC/RISCV/xqcisim-invalid.s
    M llvm/test/MC/RISCV/xqcisync-invalid.s
    M llvm/test/MC/RISCV/xtheadcmo-invalid.s
    M llvm/test/MC/RISCV/xtheadcondmov-invalid.s
    M llvm/test/MC/RISCV/xtheadsync-invalid.s

  Log Message:
  -----------
  [RISCV] Report "unexpected extra operand" for surplus operands in AsmParser (#207142)

This improves upon the shared near-miss reporting infrastructure added
in #205721 by handling a case that was deferred during that PR's review.

Assisted-by: claude-opus


  Commit: 29f8993fa216b7661795923e375f55ba5c814408
      https://github.com/llvm/llvm-project/commit/29f8993fa216b7661795923e375f55ba5c814408
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang-rt/lib/runtime/time-intrinsic.cpp
    M flang-rt/unittests/Runtime/tools.h

  Log Message:
  -----------
  [flang-rt] Fix -Wunused-template in time intrinsics and test helpers (NFC) (#207979)

`time-intrinsic.cpp` implements the timing intrinsics as SFINAE overload
sets (preferred/fallback per platform), so on any given platform some
overloads are intentionally never instantiated and trip
-Wunused-template. Mark all variants [[maybe_unused]].

`StoreElement` and `MakeArray` in `unittests/Runtime/tools.h` are static
function templates in a header, so any test TU that includes it without
using all of them trips the warning.

Part of #202945


  Commit: b3e6e6dabdc02153552a64fc74ff5c7532447eed
      https://github.com/llvm/llvm-project/commit/b3e6e6dabdc02153552a64fc74ff5c7532447eed
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libcxx/include/__locale_dir/support/no_locale/characters.h
    M libcxx/include/__locale_dir/support/no_locale/conversions.h

  Log Message:
  -----------
  [libcxx][NFC] Move guards outside namespace (#208089)

Libc++ has a warning that triggers on empty namespaces. When
_LIBCPP_BUILDING_LIBRARY is not defined, the __locale namespace was
empty. This PR moves the #ifdef to surround the namespace and fix the
warning.


  Commit: 51b007f070b2b0f46da1c4e968600fa90fd0ceee
      https://github.com/llvm/llvm-project/commit/51b007f070b2b0f46da1c4e968600fa90fd0ceee
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [NFC][clang][Serialization] Outline LangOptions mismatch diagnostics (#202843)

Outline language-option mismatch diagnostic construction into two
`noinline` helpers. Generated comparisons remain direct and ordered as
before, so successful imports add no indirect calls and the serialized
format is unchanged.

Linked `clang` and `clangd` shrink by 35,264 and 29,216 bytes
respectively; `ASTReader.cpp.o` shrinks by 62,712 bytes with 1,347 fewer
relocations, while linked fixups are unchanged.

PCH, PCM, and BMI outputs and mismatch diagnostics are byte-identical,
focused module/PCH tests pass, and batched PCH and module imports show
no significant performance change.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: 059554a0130cc85a0b754b95f73b6ff1b207a4b0
      https://github.com/llvm/llvm-project/commit/059554a0130cc85a0b754b95f73b6ff1b207a4b0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [VPlan] Introduce VPlan-based requiresScalarEpilogue helper. (NFC) (#207784)

Add requiresScalarEpilogue(Plan, VF) that directly checks if a scalar
epilogue is required for a VPlan. In that case, the middle block (i.e.
first predecessor of the scalar ph) unconditionally branches to the
scalar preheader.

For now added to LoopVectorizationPlanner, so we can assert that the
result of the VPlan check matches the legacy result, to catch any
potential divergences.

The helper should be moved to VPlan directly and the assertion dropped
when no divergences have been found for a while, to make it independent
of the cost mode.

PR: https://github.com/llvm/llvm-project/pull/207784


  Commit: 7b2e9db8e19e8b9ab1949fa476335c4c87075c58
      https://github.com/llvm/llvm-project/commit/7b2e9db8e19e8b9ab1949fa476335c4c87075c58
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp

  Log Message:
  -----------
  AMDGPU: Remove unnecessary lookup of function from machineinstr (#208222)

The function is already a shadowed member of the class.


  Commit: ae281befbf52aca9522c50f1ab3ddebdf0ac2cb9
      https://github.com/llvm/llvm-project/commit/ae281befbf52aca9522c50f1ab3ddebdf0ac2cb9
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/unittests/Support/raw_ostream_test.cpp

  Log Message:
  -----------
  Use existing encoding when writing to an existing file (#198873)

Clang lit test `Sema/warn-lifetime-safety-suggestions.cpp` is failing
because the encoding for the new contents of the source file don't match
the file tag on the file.

This change ensures the contents of a file are written in the same code
page as the existing file.

- The copyFileTagAttributes() function will change the auto conversion
to the code page of the file tag when writing a new version of a file.
- When writing to an existing file (eg. appending), use the file tag as
the code page for auto conversion. Don't assume 1047.


  Commit: cd9eeb176ebd9322a02aab2357ee5e9b4840b2c7
      https://github.com/llvm/llvm-project/commit/cd9eeb176ebd9322a02aab2357ee5e9b4840b2c7
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libsycl] Add tool dependencies in runtimes mode (#205384)

The libsycl runtime depends on multiple clang tools.
We should ensure that these tools are built.

---------

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


  Commit: 7a57458221c99e649ba002505b0b2e4d9c9b5912
      https://github.com/llvm/llvm-project/commit/7a57458221c99e649ba002505b0b2e4d9c9b5912
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M .github/workflows/test-suite.yml
    M .github/workflows/test-suite/x86_64.cmake

  Log Message:
  -----------
  [GitHub] Change /test-suite x86_64 configuration to test x86-64-v3 (#208228)

It would be good to see codegen changes for AVX.


  Commit: 974fc1319640cce76523bcee48d003421ec7c163
      https://github.com/llvm/llvm-project/commit/974fc1319640cce76523bcee48d003421ec7c163
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/test/Frontend/compiler-options-dump.cpp

  Log Message:
  -----------
  [clang][Frontend] Table-drive compiler option dumping (#203161)

`Features.def` currently expands 228 feature formatting expressions and
49 extension formatting expressions in
`DumpCompilerOptionsAction::ExecuteAction`. This stores the names in
NUL-separated character blobs, evaluates the predicates into local
`bool` arrays, and formats both arrays with `writeCompilerOptionValues`.

In a Release arm64 build, standalone clang decreases by 49,256 bytes
unstripped and 49,520 bytes stripped, while the LLVM multicall binary
decreases by 49,264 bytes unstripped and 49,528 bytes stripped; linked
`__text` decreases by 52,696 bytes and linked fixups decrease by 7.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: b7091e67a1d027d8db62a2e84b070dd23f85bda4
      https://github.com/llvm/llvm-project/commit/b7091e67a1d027d8db62a2e84b070dd23f85bda4
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonXQFloatGenerator.cpp
    M llvm/test/CodeGen/Hexagon/autohvx/xqf-assertion1.ll
    M llvm/test/CodeGen/Hexagon/autohvx/xqf-check-qf-instrs.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-compliant-ieee-mul-qf16.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-compliant-ieee-mul-qf32.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-convert-elim.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-lossy-mul-qf16.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-lossy-mul-qf32.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-v81/xqf-v81-compliant-ieee-mul-qf32.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-v81/xqf-v81-lossy-mul-qf32.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-v81/xqf-v81-vsub.ll
    A llvm/test/CodeGen/Hexagon/autohvx/xqf-vsub.ll

  Log Message:
  -----------
  [Hexagon] Add XQFloat extraneous conversion removal pass (#207236)

Introduce VectorConvertRemove to remove extraneous qf->sf/hf conversions
after XQFloat code generation. Off by default, enabled with
-enable-rem-conv.

Co-authored-by: Santanu Das <quic_santdas at qti.qualcomm.com>


  Commit: 4f339eedfce6cc7bf8ea9f6737224629dd6e7d0b
      https://github.com/llvm/llvm-project/commit/4f339eedfce6cc7bf8ea9f6737224629dd6e7d0b
  Author: Qi Ye <qi.ye at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_arithmetic/bfloat16-ocl-ext.ll

  Log Message:
  -----------
  [SPIR-V] Add SPV_INTEL_bfloat16_arithmetic for Opencl.std instructions with bfloat16 type (#205128)

For `OpExtInst`, add check for bfloat16 type when it's an OpenCL.std
extended instruction, and add requirements for
SPV_INTEL_bfloat16_arithmetic if so.

Add such check and extension requirement since OpenCL.std extended
instruction set can operate on IEEE-754 FP types only, as per the
revision from [OpenCL.std
spec](https://registry.khronos.org/SPIR-V/specs/unified1/OpenCL.ExtendedInstructionSet.100.html#_changes_from_version_1_0_revision_8)

---------

Co-authored-by: Viktoria Maximova <viktoria.maksimova at intel.com>


  Commit: 81b2e47b0d29526a7bb8a7674af61acff019a5a4
      https://github.com/llvm/llvm-project/commit/81b2e47b0d29526a7bb8a7674af61acff019a5a4
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/tcgen05-ld.ll
    M llvm/test/CodeGen/NVPTX/tcgen05-st.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Dialect/LLVMIR/nvvm_check_target_sm.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-ld.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-st.mlir

  Log Message:
  -----------
  [SDAG][NVPTX] Enable custom legalization of v1 type for Intrinsic results and operands (#203237)

This commit enables custom legalization for v1 types for intrinsic results and operand by calling CustomLowerNode which gives the target a chance to custom handle the node before scalarizing

To demonstrate, I have used tcgen05.ld/st intrinsics which previously used a scalar i32 type while all wider variants used vector types

Assisted by: Claude Code


  Commit: 3a85687f4bd34e10e43b65c6ce6b29b980705efc
      https://github.com/llvm/llvm-project/commit/3a85687f4bd34e10e43b65c6ce6b29b980705efc
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/thread.h
    M llvm/lib/Support/Unix/Threading.inc

  Log Message:
  -----------
  [Support] Teach llvm::thread about thread-id handling in LLVM-libc. (#207918)

This PR matches the libc++ update from
https://github.com/llvm/llvm-project/pull/198595 and applies similar
changes to `llvm::thread` class. Please see the discussion in that PR
(and linked references to other PRs) for more background / discussions.

`llvm::thread` has methods for extracting integer IDs from running
threads, and as such it needs to know what types are used to represent
those integer IDs - something that e.g. pthreads or C11 threads don't
specify. It assumes that `pthread_t` can be used both as a handle and as
a thread-id on most platforms, with the exception of zOS, where the
custom code is written. In LLVM-libc `pthread_t` is not an integral
type, but today it provides `pthread_id_np_t` type and
`pthread_getunique_np` / `pthread_getthreadid_np` methods as extensions
to extract the integer IDs. Use these methods when building against
LLVM-libc.

This is one of few remaining blockers for building LLVM+Clang on top of
LLVM-libc (https://github.com/llvm/llvm-project/issues/97191).


  Commit: 00b2f81418233397e601afaeea6d62c47a6c368a
      https://github.com/llvm/llvm-project/commit/00b2f81418233397e601afaeea6d62c47a6c368a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/cmake/modules/ClangConfig.cmake.in
    A cmake/Modules/GetTripleCMakeSystemName.cmake
    A cmake/Modules/NormalizeTriple.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/runtimes/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Reapply "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133) (#205522)

This reverts commit 08c728e8528c9584bc1fe0f46bbdd657e368be91.

Reapply after runtimes build fixes on platforms without shared
libraries.


  Commit: 8a94ef9467a4be014ab088c01fbe3a15e8a43823
      https://github.com/llvm/llvm-project/commit/8a94ef9467a4be014ab088c01fbe3a15e8a43823
  Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/LoopVectorize/early-exit-umin-trip-count.ll
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp

  Log Message:
  -----------
  [SCEV] Prove umin(Ops) u< RHS by checking individual operands (#207729)

Teach IsKnownPredicateViaMinOrMax to handle ICMP_ULT/UGT for
SCEVUMinExpr. Since umin(Ops) u<= each Op by definition, proving Op u<
RHS for any single operand is sufficient to establish umin(Ops) u< RHS
by transitivity.

This unblocks loop vectorization for early-exit loops whose trip count
is a umin of a buffer length and an iteration bound.

Fixes https://github.com/llvm/llvm-project/issues/196935

Alive2 proof: https://alive2.llvm.org/ce/z/9DjA2f


  Commit: 006429da6ab9527e34c63df3f84517d385c30ef2
      https://github.com/llvm/llvm-project/commit/006429da6ab9527e34c63df3f84517d385c30ef2
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/fshl-fshr-i32-mask.ll
    M llvm/test/CodeGen/Hexagon/funnel-shift.ll
    M llvm/test/CodeGen/Hexagon/rotate.ll

  Log Message:
  -----------
  [Hexagon] Fix 32-bit funnel shift miscompilation with register shift amounts (#205489)

The register-variable 32-bit funnel shifts and the i32 rotates that
lower through them, realize the shift as a 64-bit asl/lsr of the {hi,lo}
combine and take one word of the result. That identity only holds for a
shift amount in [0, 31], and llvm.fshl/fshr define the amount to be
taken modulo 32. The register-form variable shift does not reduce the
amount modulo the operand width, it treats the low 7 bits as a signed
amount in [-64, 63]. So the raw, unreduced amount must be masked with
#31 before the 64-bit shift.

Without the mask, counts >= 32 or "negative" counts are miscompiled: a
count of 63 shifts left by 63, 64 becomes -64 and shifts the value out
entirely, and -1 becomes an arithmetic right shift by 1. In-range counts
0..31 come out correct, which is why a test that only sweeps 0..31 does
not catch it. This is exactly the i32.rotl/i32.rotr miscompile that
caused the WAMR Wasm spec-test suites (which invoke rotates with counts
of 32, 33, and -1) to be skipped on Hexagon.

Fix by masking the amount with (A2_andir $Ru, 31), mirroring the masking
the 64-bit patterns already use. This completes the 32-bit case left
unaddressed by 4fffee037520 ("[Hexagon] Fix 64-bit funnel shift
miscompilation with register shift amounts", #183669), which fixed only
the FShl64r/FShr64r width.


  Commit: 38aa43fd96dc15092246a94c8a45c1c0a78217cc
      https://github.com/llvm/llvm-project/commit/38aa43fd96dc15092246a94c8a45c1c0a78217cc
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp

  Log Message:
  -----------
  [Clang] Disable verifier passes by default in NewPM CodeGen (#208178)

By default, we shouldn't add expensive verifier passes to the pipeline.
This causes a substantial perf regression compared to the legacy PM.


  Commit: 1538aebce77546372d39ebe25bfe75cee6ed39f8
      https://github.com/llvm/llvm-project/commit/1538aebce77546372d39ebe25bfe75cee6ed39f8
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Add non-splat constant distribution in SgToLane pass (#205575)


  Commit: 7468b5634b038ba915fc326a8fb2f3fe6c3ed098
      https://github.com/llvm/llvm-project/commit/7468b5634b038ba915fc326a8fb2f3fe6c3ed098
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
    M mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp

  Log Message:
  -----------
  [mlir][acc] Add utilities for working with acc par dims (#208120)

Add shared helpers for reading, setting, and manipulating parallel
dimensions on operations, covering both discardable and inherent
attributes.


  Commit: 89c6fa58bbcca9f64a48104eb0e6bf3a616558e8
      https://github.com/llvm/llvm-project/commit/89c6fa58bbcca9f64a48104eb0e6bf3a616558e8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A llvm/test/tools/llubi/inttoptr_ptrtoint_constantexpr.ll
    M llvm/tools/llubi/lib/Context.cpp

  Log Message:
  -----------
  [llubi] Add support for constant inttoptr/ptrtoint expressions (#207028)

This patch adds support for constant inttoptr/ptrtoint expressions to
unblock the running of csmith-generated programs.
The test doesn't cover all the behaviours, as they have been tested by
previous tests.

This patch treats constant inttoptr/ptrtoint expressions as if they are
executed just before the user. However, since ptrtoint exposes the
pointer provenance and inttoptr relies on the current set of exposed
provenances, it is incorrect. Imagine that we have an inttoptr in a gep
instruction and a ptrtoint in an add instruction. They can be freely
DCEd/reordered. In addition, the behaviour also depends on the
initialization order of globals. That is terrible. Nikita's proposal
also mentioned this issue but left it as an open question:
https://hackmd.io/@nikic/SJBt4mFCll#Constant-expressions

>From my perspective, constant expressions are allowed to execute at any
point in the program (before their users). Moving ptrtoint forward or
inttoptr backward will not make the program more undefined. So we can
evaluate all constant expressions before the program entry (i.e., all
globals involved with ptrtoint will be exposed at the start). The only
remaining concern is the use of `ConstantExpr::getAsInstruction`,
because it will convert CEs back into instruction sequences :(


  Commit: 7e2e37536167a96e61f077d993ddc7106e372596
      https://github.com/llvm/llvm-project/commit/7e2e37536167a96e61f077d993ddc7106e372596
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
    A llvm/test/CodeGen/SPIRV/transcoding/atomic-load-store-exchange-unsupported.ll
    R llvm/test/CodeGen/SPIRV/transcoding/atomic-load-store-unsupported.ll

  Log Message:
  -----------
  [SPIRV] Support atomic exchange of pointers (#207830)

Similar to what we do for atomic loads and stores, support pointers by
converting the exchange value to an equally-sized int, the pointer to a
pointer to that equally-sized int, and convert the result back to the
original pointer type.

This was found enabling support for SPIR-V in libc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: d55faf25b49dcf487f5a56d73490743c87cece5a
      https://github.com/llvm/llvm-project/commit/d55faf25b49dcf487f5a56d73490743c87cece5a
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libc/config/linux/riscv/entrypoints.txt
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/File/linux/file.cpp
    R libc/src/__support/OSUtil/fcntl.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    R libc/src/__support/OSUtil/linux/fcntl.cpp
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/dup2.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/fcntl.h
    M libc/src/fcntl/linux/CMakeLists.txt
    M libc/src/fcntl/linux/fcntl.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Move fcntl implementation into the syscall_wrappers layer (#207878)

linux_syscalls::fcntl called SYS_fcntl unconditionally, breaking the
riscv32 full build where only SYS_fcntl64 exists. The syscall selection
and command translation already lived in internal::fcntl, so move that
implementation into syscall_wrappers/fcntl.h, delete the legacy
OSUtil/fcntl.h and OSUtil/linux/fcntl.cpp, and port the callers (fcntl
entrypoint, file.cpp, dup2.h) to linux_syscalls::fcntl.


  Commit: ea6cf8c84aacc1d00b463f4558788ff3651fb57a
      https://github.com/llvm/llvm-project/commit/ea6cf8c84aacc1d00b463f4558788ff3651fb57a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/bmi2.ll

  Log Message:
  -----------
  [SelectionDAG][X86] Replace OriginalDemandedBits with DemandedBits in SimplifyDemandedBits ISD::PDEP handling. (#208104)

DemandedBits is set to all 1s if the node has multiple uses.

Fixes regression from #204144. The changed test case reverts back to the
output before that change.


  Commit: a52eb9869ffbd765f006d36bea64fb44a6fedf76
      https://github.com/llvm/llvm-project/commit/a52eb9869ffbd765f006d36bea64fb44a6fedf76
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Fix inconsistent braces in performReverseEVLCombine. NFC (#208097)


  Commit: 78f5fd35e0010b2a70411a9ca4bcb140bccce146
      https://github.com/llvm/llvm-project/commit/78f5fd35e0010b2a70411a9ca4bcb140bccce146
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td

  Log Message:
  -----------
  [RISCV] Avoid let statements in RISCVSystemOperands. NFC (#207890)

Add an optional RV32Only operand to SysReg.
Add AltSysRegName and DeprecatedSysRegName wrappers.


  Commit: 3e7a2ec74cd8f8e0e32037d0192a1378789e9af7
      https://github.com/llvm/llvm-project/commit/3e7a2ec74cd8f8e0e32037d0192a1378789e9af7
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/pstl.find_first_of.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/pstl.find_first_of_pred.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Default implementation of parallel std::find_first_of (#206328)

This PR adds a default "one-liner" implementation of parallel
`std::find_first_of` expressed as a call to `__find_if`.

The implementation is based on find_if and any_of.


Part of #99938


  Commit: 62cf5de4fee60958508cca4db5df7769e0a9e57f
      https://github.com/llvm/llvm-project/commit/62cf5de4fee60958508cca4db5df7769e0a9e57f
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/Frontend/ASTConsumers.cpp

  Log Message:
  -----------
  [clang] Use DynamicRecursiveASTVisitor for AST listing (#202661)

Replace `ASTDeclNodeLister`'s CRTP `RecursiveASTVisitor` with
`DynamicRecursiveASTVisitor` while keeping `ASTPrinter` and
`ASTDeclNodeLister` separate. Set `ShouldWalkTypesOfTypeLocs` to false
to
preserve the previous traversal.

In identical arm64 release builds, standalone clang shrinks by 251,840
bytes
(0.215%), stripped clang by 149,488 bytes, and `ASTConsumers.cpp.o` by
153,352
bytes; linked `__TEXT` falls by 147,456 bytes and linked fixups increase
by
1,040.

The `-ast-list` output is byte-identical on the existing clang-check
input and
`ASTConsumers.cpp` (150,918 lines); two reversed-order ten-run timing
passes
have overlapping wall-time distributions and a 0.4% combined mean user
CPU-time increase.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: e9548835fdd84200969b959472d55454d597dfd7
      https://github.com/llvm/llvm-project/commit/e9548835fdd84200969b959472d55454d597dfd7
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectTarget.cpp
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/Makefile
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/TestFrameProviderRegisterCommandStatus.py
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/frame_provider.py
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/main.c

  Log Message:
  -----------
  [lldb] Fix assert when `target frame-provider register` succeeds (#208232)

`CommandObjectTargetFrameProviderRegister::DoExecute` never called
`CommandReturnObject::SetStatus()` on its success path.
`CommandObject.cpp` has a `DoExecuteStatusCheck` RAII guard that resets
the result's status to `eReturnStatusInvalid` before `DoExecute` runs,
and asserts on exit that `DoExecute` changed it.
`AppendMessage()`/`AppendMessageWithFormatv()` don't touch status
(unlike AppendError()/SetError(), which call
`SetStatus(eReturnStatusFailed)`), so on the success path the status
stayed eReturnStatusInvalid, tripping the assert.

This went unnoticed because every existing `scripted_frame_provider`
test uses `SBTarget::RegisterScriptedFrameProvider` directly, bypassing
the `target frame-provider register` command entirely. Add a regression
test that exercises the command instead.

Assisted-by: Claude

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 7a4c856d55d7b0e7f546cf12fb9b065af46762e7
      https://github.com/llvm/llvm-project/commit/7a4c856d55d7b0e7f546cf12fb9b065af46762e7
  Author: Sampath Vutkoori <svutkoor at qti.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/cmake/modules/FindLibXml2.cmake

  Log Message:
  -----------
  [cmake] FindLibXml2: fall back to xmlversion.h when pkg-config has no… (#207797)

… version

LLVM's cmake/modules/FindLibXml2.cmake uses PC_LIBXML_VERSION (from
pkg-config) as the VERSION_VAR in find_package_handle_standard_args.
When pkg-config has no libxml-2.0.pc file (e.g. when linking against a
static libxml2-pic.a that ships no .pc file), PC_LIBXML_VERSION is left
empty after pkg_check_modules fails and the >=2.8 version check reports
'Found unsuitable version ""', causing LLDB_ENABLE_LIBXML2 to be set to
FALSE.

Fix: before calling find_package_handle_standard_args, check whether
PC_LIBXML_VERSION is still empty and if so read LIBXML_DOTTED_VERSION
from the xmlversion.h header. This mirrors the version-detection logic
in the system CMake FindLibXml2 module and ensures LLDB is built with
libxml2 support on installations that use a static libxml2 without a .pc
file.


  Commit: 466c1c2976f5206bb931617973ca030c51881b0a
      https://github.com/llvm/llvm-project/commit/466c1c2976f5206bb931617973ca030c51881b0a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/test/CodeGenCUDA/builtins-amdgcn.cu
    M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl

  Log Message:
  -----------
  [AMDGPU] Reimplement icmp and fcmp builtins using ballot (#208231)

Use `llvm.amdgcn.ballot` instead of the deprecated intrinsics
`llvm.amdgcn.icmp` and `llvm.amdgcn.fcmp`.


  Commit: fb26065857a5a8877357ece1611f804ba7c114f4
      https://github.com/llvm/llvm-project/commit/fb26065857a5a8877357ece1611f804ba7c114f4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp

  Log Message:
  -----------
  [AggressiveInstCombine] Factor out the common part of tryToRecognizeTableBasedCttz and tryToRecognizeTableBasedLog2. NFC (#208123)

They both start with the same GEP+load matching.

Assisted-by: Claude


  Commit: b49d10f67cd43f4a078bbcd3dc04259989a7924a
      https://github.com/llvm/llvm-project/commit/b49d10f67cd43f4a078bbcd3dc04259989a7924a
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon/subtraction.c

  Log Message:
  -----------
  [CIR][test] Use global instcombine RUN line in AArch64 neon subtracti… (#207894)

Related to https://github.com/llvm/llvm-project/issues/185382

Follow-up to https://github.com/llvm/llvm-project/pull/207115

Include `instcombine` into the global LLVM RUN line and remove the
separate `LLVM-IC` prefix that only covered the narrowing-subtraction
tests in `clang/test/CodeGen/AArch64/neon/subtraction.c`.

Update LLVM CHECK to match the `instcombine` output: bitcast checks are
dropped, the inferred `nsw` flags are added on the widening subs, and
unused shuffle operands are canonicalized to `poison`.


  Commit: c9e2c308faa924a043175e2afa1e2efcb8b59a8a
      https://github.com/llvm/llvm-project/commit/c9e2c308faa924a043175e2afa1e2efcb8b59a8a
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c

  Log Message:
  -----------
  [CIR][AArc64] Add lowering for fp16 intrinsics (step + rounding) (#207511)

This PR adds lowering for the following intrinsic groups:
* https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#markdown-toc-reciprocal-step

It also adds FP16 tests for these intrinsics (implemented in #195021
without tests):
* https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#markdown-toc-rounding-1

It also moves the corresponding tests from:

* clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c

to:
* clang/test/CodeGen/AArch64/neon/fullfp16.c

The lowering follows the existing implementation in
CodeGen/TargetBuiltins/ARM.cpp.


  Commit: b634fff1e30c0676f57b5b44a544d638561c9ad9
      https://github.com/llvm/llvm-project/commit/b634fff1e30c0676f57b5b44a544d638561c9ad9
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll

  Log Message:
  -----------
  [AMDGPU] SDAG and GISel support for folding fabs into fp_round source modifiers (#204861)


  Commit: 9df4aed204020bc79be55afa7b177822759856fb
      https://github.com/llvm/llvm-project/commit/9df4aed204020bc79be55afa7b177822759856fb
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/test/Transforms/stack-arrays.fir

  Log Message:
  -----------
  [flang] add some missing stackrestore with -fstack-arrays (#208161)

In the StackArray pass that moves array temporaries from the heap to the
stack under -fstack-arrays, when visiting FreeMemOp to insert
stackrestore, the code was not unwrapping converts as done in other
parts of the code leading to the allocation conversion and stacksave
insertion to happen without the emission of the stackrestore.

Reuse the same utility as in the rest of the pass to get consistent
behavior and fix the memory leak.


  Commit: 33ef532c79b321cf22232ba0054b36d259c62079
      https://github.com/llvm/llvm-project/commit/33ef532c79b321cf22232ba0054b36d259c62079
  Author: pstarkcdpr <paul.stark at cdprojektred.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization/extract.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix mask rank for masked contiguous `tensor.extract` (#206207)

### Summary

Note: This fix was made mostly by Claude based on a failure case in
IREE. It addresses issue
https://github.com/llvm/llvm-project/issues/206209

When `vectorizeTensorExtract` lowers a `tensor.extract` recognized as a
*contiguous load*, it builds a `vector.transfer_read` whose permutation
map broadcasts the leading iteration dims and only reads the trailing
`min(dstRank, srcRank)` dims of the source. Until now this read was
returned unmasked and masked later by the generic path, which applies a
**full iteration-space identity mask**. When the source rank is smaller
than the loop nest, that mask is over-ranked relative to the
(rank-reduced) read — e.g. a `vector<1x4xi1>` mask on a read whose
inferred mask type is `vector<4xi1>` — and the op fails verification:

```
'vector.mask' op expects a 'vector<4xi1>' mask for the maskable operation
```

(or, after the masked read is rank-reduced by canonicalization in a full
pipeline, `'vector.transfer_read' op inferred mask type ... don't
match`).

### Root cause

The three `tensor.extract` lowering paths in `vectorizeTensorExtract`
handle masking inconsistently:

- **gather** masks itself — correct, its result is full-rank;
- **scalar broadcast** masks itself with a rank-1 mask, explicitly
noting that the generic identity-map masking "wouldn't be valid here";
- **contiguous load** does neither and relies on the generic path, which
masks over all loop dims. That is only correct when the read is
full-rank (`srcRank >= numLoops`); when `srcRank < numLoops` the read
broadcasts its leading dims and needs a rank-reduced mask.

Existing tests only covered the full-rank case (e.g. a
`tensor<80x16xf32>` source in a 2-D nest), so the rank-reducing case was
never exercised.

### Fix

Mask the contiguous read in place, mirroring the scalar-broadcast path,
using a masking map that projects the iteration space onto exactly the
trailing `min(dstRank, srcRank)` dims that are read:

```cpp
int64_t numReadDims = std::min(dstRank, srcRank);
auto maskingMap = AffineMap::getMinorIdentityMap(
    linalgOp.getNumLoops(), numReadDims, rewriter.getContext());
Operation *maskedReadOp =
    state.maskOperation(rewriter, transferReadOp, linalgOp, maskingMap);
```

This is **behavior-preserving for the existing full-rank case**: when
`min(dstRank, srcRank) == numLoops`, `getMinorIdentityMap` collapses to
the full identity map, producing the same mask (same `activeMaskCache`
key) and identical
IR. Only the previously-broken rank-reducing case changes.

### Testing

- New regression test `@masked_contiguous_extract_rank_reducing_mask` in
`mlir/test/Dialect/Linalg/vectorization/extract.mlir` (1-D source inside
a 2-D loop nest). It fails verification before this change and checks
the rank-reduced mask after it.
- `mlir/test/Dialect/Linalg` (164 tests) and `mlir/test/Dialect/Vector`
+ `mlir/test/Dialect/Linalg/vectorization` (113 tests) all pass.

### Notes for reviewers

- The change is localized to the contiguous-load branch of
`vectorizeTensorExtract`; the gather and scalar-broadcast branches are
untouched.
- No new mask is created in the full-rank case — the existing cached
iteration-space mask is reused, so there is no codegen/IR churn for
current callers.

---------

Signed-off-by: Paul Stark <paul.stark at cdprojektred.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: 02a7cd5177af78e5c8342bec3f30125113071556
      https://github.com/llvm/llvm-project/commit/02a7cd5177af78e5c8342bec3f30125113071556
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp

  Log Message:
  -----------
  BPF: Remove unnecessary isReg check on phi operand (#208243)

These must be a register. This pass has quite a lot of
defensive code against invalid MIR that should be deleted.


  Commit: e2d6498e36235ecd9955d8d375a0c1a253c2e11a
      https://github.com/llvm/llvm-project/commit/e2d6498e36235ecd9955d8d375a0c1a253c2e11a
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
    M flang/test/Fir/CUDA/cuda-function-rewrite.mlir

  Log Message:
  -----------
  [flang][cuda] Defer on_device() folding in host copies of OpenACC routines (#208125)

Add a `defer-acc-routines` option to `cuf-function-rewrite`. When set,
`on_device()` is not folded in the host copy of an OpenACC routine (has
`acc.routine_info`, not in a `gpu.module`), because that body is later
cloned into the device routine and would otherwise bake in the host
value (`.false.`). A later run folds each copy in its own context. Calls
already in a `gpu.module` are still folded.


  Commit: 0a015cc516abb7f54bcdd94763f44219b6298bd9
      https://github.com/llvm/llvm-project/commit/0a015cc516abb7f54bcdd94763f44219b6298bd9
  Author: Guo Chen <guochen2 at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
    M llvm/test/CodeGen/AMDGPU/bf16.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/clamp-modifier.ll
    M llvm/test/CodeGen/AMDGPU/ctls.ll
    M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/mad.u16.ll
    M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/srl-bitcast-bv.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll

  Log Message:
  -----------
  [AMDGPU] Replace zext pattern from reg_sequence to cvt_u32_u16 (#208045)

Isel pattern putting imm inside reg_sequence create side effects when
register coalescer join these `copy` from imm
```
%1 = v_mov_b16_t16_e64 ...
%2.hi16 = copy %1
%2.lo16 = ....
...
%3.hi16 = copy %1
%3.lo16 = ....
....
%4.hi16 = copy %1
%4.lo16 = ....
```
to
```
%1 = v_mov_b16_t16_e64 ...
%2.hi16 = copy %1
%2.lo16 = ....
...
%2.lo16 = ... (reuse %2 and repeat)
....
```
When the number of copy increase this inserts a large number of WAR
hazzards on the reused virutal reg, and the machine scheduler bail out
getting higher reg pressure after sorting.

Beside this, replacing with cvt_u32_u16 provides better code quality


  Commit: a47be1995a65a411527062e7ca7e92fff8d6ad1b
      https://github.com/llvm/llvm-project/commit/a47be1995a65a411527062e7ca7e92fff8d6ad1b
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/simplify-reverse-reverse.ll

  Log Message:
  -----------
  [VPlan] Add more tests for reverse simplification. NFC (#208255)


  Commit: bdaeb7c290c482111c12da01b86f920e5151286a
      https://github.com/llvm/llvm-project/commit/bdaeb7c290c482111c12da01b86f920e5151286a
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/test/Sema/attr-target.c

  Log Message:
  -----------
  [NFC] Add precommit test for PR 208059 (#208259)

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>


  Commit: 1529d35adbd6f13aa234a5f4cfd9ac0e28bdd338
      https://github.com/llvm/llvm-project/commit/1529d35adbd6f13aa234a5f4cfd9ac0e28bdd338
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-07-08 (Wed, 08 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:
  -----------
  Reland "[Clang] Enable -Wunused-template under -Wall" (#208001)

Reland of #206123, which was reverted in #207848.

What has changed since:

- flang-rt occurrences are fixed in #207979 
- openmp had one more occurrence which is fixed in #207983 
- The remaining -Wunused-template hits anywhere in CI logs are the tsan
Go runtime warnings, which are warnings only (buildgo.sh does not use
-Werror on Linux)

Marked as draft until #207979  and #207983  land.

Closes #202945


  Commit: 16b8129cd76a0954ac2ed1d0343f0fec40c2a691
      https://github.com/llvm/llvm-project/commit/16b8129cd76a0954ac2ed1d0343f0fec40c2a691
  Author: Giorgi Gvalia <49309634+gvalson at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/include/RecordReplay.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/common/src/RecordReplay.cpp
    A offload/test/tools/omp-kernel-replay/record-replay-ir-bitcode.cpp
    M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [offload] Add the ability to record and replay IR bitcode modules (#207278)

This PR allows the user to use JIT with kernel record & replay by
expanding the latter to also work with IR bitcode images.

- Add a new field to `DeviceImageTy` for storing the IR image.
- Expand `RecordReplayTy::FileTy` to also include IR bitcode and
associate it with the file extension `.bc`
- Add the `--load-bitcode` command line option to
`llvm-omp-kernel-replay` tool.

---------

Co-authored-by: Giorgi Gvalia <gvalia1 at llnl.gov>


  Commit: cf61b62424f6c2b679106b3687f08af5b18a99f7
      https://github.com/llvm/llvm-project/commit/cf61b62424f6c2b679106b3687f08af5b18a99f7
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/lib/Analysis/BranchProbabilityInfo.cpp
    M llvm/lib/Support/BranchProbability.cpp

  Log Message:
  -----------
  [BranchProbabilityInfo][NFC] Remove some global ctors (#208252)

Make BranchProbability constexpr and replace global std::map with
switches.


  Commit: b7edea5afa0fef26054a491413a62eb3d35e7d2b
      https://github.com/llvm/llvm-project/commit/b7edea5afa0fef26054a491413a62eb3d35e7d2b
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Lower/OpenMP/declare-reduction-operator-host-assoc.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix host-associated user-defined operator reduction (#207413)

A DECLARE REDUCTION for a user-defined operator (e.g.
reduction(.myadd.:x)) was rejected with "Invalid reduction operator in
REDUCTION clause" when the operator was host-associated.

CheckReductionOperator looked up the mangled reduction name in the scope
that owns the operator symbol (the scope where the operator interface is
declared) instead of the scope where the reduction clause appears. The
user-defined reduction is stored in the latter (a child scope), so the
lookup in the operator's owning scope could not find it and the clause
was reported as invalid.

Look up the reduction in the scope of the clause via
context_.FindScope(source). FindUserReduction already searches enclosing
scopes, so this both finds a locally declared reduction and continues to
find one that is host- or use-associated. The lowering side already
resolves the reduction in the current scope, so no lowering change is
needed.

This is a follow-up of PR #202474.


  Commit: 2130acba394cf872bf48fcd96e4a3337f4dc0fd0
      https://github.com/llvm/llvm-project/commit/2130acba394cf872bf48fcd96e4a3337f4dc0fd0
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M .github/workflows/test-suite.yml

  Log Message:
  -----------
  [GitHub] Post ./utils/compare.py results in /test-suite (#208154)

llvm-test-suite comes with a ./utils/compare.py script which can compare
metrics across different builds. This PR adds support for displaying
these results in the GitHub comment as markdown table.

For now it just shows the difference in code size (the size..text
metric), but in future it can be extended to show the reuslts of any
arbitrary LLVM statistic.

It also posts the link to the result json files themselves in case the
user wants to do some more analysis locally.


  Commit: 290f3bc2d12e5875a0be386fad8f6a5dfce9d6a3
      https://github.com/llvm/llvm-project/commit/290f3bc2d12e5875a0be386fad8f6a5dfce9d6a3
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    A flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
    A flang/test/Lower/OpenMP/collapse-loop-transform.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse-60.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do22.f90
    A flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
    A flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
    A flang/test/Semantics/OpenMP/ordered-nesting-omp51.f90

  Log Message:
  -----------
  [flang][OpenMP] Implement collapse for imperfectly nested loops (#202435)

Fixes #199092

Flang previously rejected intervening code between associated loops in a
collapsed nest (e.g. `collapse(2)` with statements between the outer and
inner DO). This patch removes that restriction and implements correct
lowering.

**Semantics:** accept intervening code retroactively for all versions,
except when perfect nesting is still required

OpenMP 5.0 introduced support for collapsing imperfectly nested loops
for worksharing-loop, simd, taskloop, and distribute constructs. OpenMP
5.1 later formalized this under the Canonical Loop Nest (CLN)
definition. This support is applied retroactively for all OpenMP
versions, since the semantics are safe to implement regardless of
version and for compatibility with other compilers.

The only case where perfect nesting is still enforced is when ordered
semantics require it:

- Pre-5.2: any ordered clause with an argument requires perfect nesting.
- 5.2+: perfect nesting is required only when the loop body contains
ordered directives with doacross (or the legacy depend(sink/source))
clauses.

A `DoacrossFinder` visitor is added to detect doacross directives in the
loop body while correctly not descending into nested OpenMP block/loop
constructs (which have their own binding context).

**Lowering**

Intervening statements are guarded by induction variable comparisons
within the flat `omp.loop_nest` body: "before" code executes when inner
induction variables equal their lower bounds; "after" code executes when
inner induction variables equal their last iteration values (`lb + ((ub
- lb) / step) * step)` for non-unit steps).

**Testing**

- Lowering lit test added
- Semantics tests: updated to remove expected errors for now-accepted
code; new tests added for coverage.
- llvm-test-suite update: (will add once opened)

Assisted by: Copilot


  Commit: 2e3dcf66357f59dfceca8a9cbb9c3af493a66ad6
      https://github.com/llvm/llvm-project/commit/2e3dcf66357f59dfceca8a9cbb9c3af493a66ad6
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-07-08 (Wed, 08 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-zip.ll

  Log Message:
  -----------
  [Clang][P-ext] Support packed zip/unzip intrinsics (#208245)

This patch implements packed zip/unzip intrinsics with general shuffles.


  Commit: d9681a08a79dc6c57b542483e829dc13c38009cb
      https://github.com/llvm/llvm-project/commit/d9681a08a79dc6c57b542483e829dc13c38009cb
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Volunteer for LoopUnroll (#207802)

I've been reviewing and contributing PRs to the unroller for the past
few months. Since I plan on keeping that up, I figured I'd formally
volunteer as a maintainer.

I'm certainly not an expert on every aspect of the unroller, so no
worries if we feel that we need someone more experienced to fill this
gap.


  Commit: c12df55e9a5ee84178c5d30c753a4799b63fec80
      https://github.com/llvm/llvm-project/commit/c12df55e9a5ee84178c5d30c753a4799b63fec80
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/PassManagerInternal.h

  Log Message:
  -----------
  [IR][NFC] Drop vtable from PassConcept/PassModel (#208168)

The PassConcept/PassModel vtable has a size of 64 bytes (offset to top,
RTTI pointer, complete object destructor, deleting destructor, run,
printPipeline, name, isRequired), which add up to 53kiB (all
targets)/44 kiB (single-target). As more back-end passes get ported to
the new pass manager, this size will increase.

Remove the vtables by replacing the virtual dispatch with explicit
function pointers, initialized when adding the pass to the pass manager.
While this *very* slightly increases the cost of adding a pass, there's
also a very slight win from avoiding the vtable indirection when
running/destructing the pass.


  Commit: af53003dfee4afe3f003996dc09f55d59d63003a
      https://github.com/llvm/llvm-project/commit/af53003dfee4afe3f003996dc09f55d59d63003a
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/test/Dialect/ArmSME/vector-legalization.mlir

  Log Message:
  -----------
  [mlir][ArmSME] fix f64 scalable matmul crashes in `VectorLegalizationPass` (#207947)

This PR simply fix what we identified in iree-org/iree#24689.

**Note**: the new test did not pass the checks prior to this PR 🫶

@banach-space @egebeysel @AGindinson

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Co-authored-by: Artem Gindinson <gindinson at roofline.ai>


  Commit: eb37dfcad129d3e4e14daaa871a52428e424f11f
      https://github.com/llvm/llvm-project/commit/eb37dfcad129d3e4e14daaa871a52428e424f11f
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M .github/workflows/commit-access-greeter.yml

  Log Message:
  -----------
  workflows/commit-access-greeter: Use github-automation container (#206311)


  Commit: 01846f68e5ae612fd348784265e14c0130cd79fd
      https://github.com/llvm/llvm-project/commit/01846f68e5ae612fd348784265e14c0130cd79fd
  Author: Jan Korous <jkorous at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/YAMLSourceEditFormat.h
    M clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/YAMLSourceEditFormat.cpp
    M clang/unittests/ScalableStaticAnalysis/CMakeLists.txt
    A clang/unittests/ScalableStaticAnalysis/SourceTransformation/YAMLFormatTest.cpp

  Log Message:
  -----------
  [clang][ssaf] Add YAML source-edit format (#204491)

Adds the built-in `SourceEditFormat`, registered under the file
extension `yaml`. The writer drives `llvm::yaml::Output` against the
existing `clang::tooling::TranslationUnitReplacements` `MappingTraits`
from `clang/Tooling/ReplacementsYaml.h`, so the resulting document is
byte-for-byte consumable by `clang-apply-replacements`.

Anchored via `SSAFYAMLSourceEditFormatAnchorSource` so static builds
keep the registration.

Assisted-By: Claude Opus 4.7


  Commit: da4bbda3dcefbaf88c2f336afd03c4a6ebb41a27
      https://github.com/llvm/llvm-project/commit/da4bbda3dcefbaf88c2f336afd03c4a6ebb41a27
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc-fake16.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt

  Log Message:
  -----------
  [AMDGPU][NFC] Templatise and roundtrip gfx12_asm_vopc.s (#208265)

This is just an amended version of the corresponding gfx11 test.

Eliminates the current largest contributor into the undesired delta vs
the downstream True16 branch across MC tests.


  Commit: d7a09fb4ac7a3f231f1e4be7c00ef8c47e12d76b
      https://github.com/llvm/llvm-project/commit/d7a09fb4ac7a3f231f1e4be7c00ef8c47e12d76b
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/FunctionExtras.h

  Log Message:
  -----------
  [ADT][NFC] Simplify llvm::unique_function (#208251)

Refactor the core of UniqueFunctionBase to move away from static
function pointer tables, which consume ~4kiB in .data.rel.ro. Instead,
store two function pointers on construction of the UniqueFunctionBase,
one for call and one that combines move and destruction. Retain the
memcpy path for trivial inline structs. (I haven't verified whether this
is actually beneficial.)

Also, greatly simplify the class and implement the callbacks using
lambdas.


  Commit: bd57e09f6a6e3a8eb911e45816d7038f4ff8b017
      https://github.com/llvm/llvm-project/commit/bd57e09f6a6e3a8eb911e45816d7038f4ff8b017
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
    M lldb/source/Plugins/Process/wasm/ProcessWasm.h
    M lldb/source/Plugins/Process/wasm/RegisterContextWasm.cpp
    M lldb/source/Plugins/Process/wasm/RegisterContextWasm.h

  Log Message:
  -----------
  [lldb] Remove GDBRemoteDynamicRegisterInfo (#208067)

At this point, GDBRemoteDynamicRegisterInfo is an idempotent wrapper
around DynamicRegisterInfo. Its remaining methods are unimplemented as
of 3f5fd4b3c1d670649b59f3631287b6f54c6b85ee, so the only functional
difference is that it provides public copy and copy-assign constructors.

I propose that GDBRemoteDynamicRegisterInfo be removed in favor of
DynamicRegisterInfo.


  Commit: 691bda58840dbeccc942cbdde7e01ab53740cd0f
      https://github.com/llvm/llvm-project/commit/691bda58840dbeccc942cbdde7e01ab53740cd0f
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Target/Target.h
    M lldb/source/API/SBBreakpointName.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/Breakpoint/BreakpointIDList.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Remove ConstString from remaining BreakpointName functionality (#206856)


  Commit: 777ec1fff4502f6913818de5970a1c060a966877
      https://github.com/llvm/llvm-project/commit/777ec1fff4502f6913818de5970a1c060a966877
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/include/lldb/DataFormatters/FormatManager.h

  Log Message:
  -----------
  [lldb] Remove unused overload FormatManager::GetCategory(const char *, bool) (#208109)


  Commit: 3424d452ae6e4ec00e6f2e4149f3031471960e47
      https://github.com/llvm/llvm-project/commit/3424d452ae6e4ec00e6f2e4149f3031471960e47
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/AST/CXXInheritance.cpp

  Log Message:
  -----------
  [clang][NFC] Compute current instantiation less frequently in `lookupInBases` (#208139)

While benchmarking I noticed that #118003 causes a small compile-time
regression. Right now, it computes `isCurrentInstantiation` for every
base during name lookup.
We can easily avoid this overhead by only computing it when a dependent
base could actually be skipped.


  Commit: 6560fef7724bbd9baa57d3f09d077c4d2e69c868
      https://github.com/llvm/llvm-project/commit/6560fef7724bbd9baa57d3f09d077c4d2e69c868
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A clang/include/clang/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointers.h
    M clang/include/clang/ScalableStaticAnalysis/BuiltinAnchorSources.def
    M clang/lib/ScalableStaticAnalysis/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointersExtractor.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.h
    A clang/unittests/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointersExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysis/CMakeLists.txt

  Log Message:
  -----------
  [SSAF][Extractor] Extract operator new/delete overload entities that shall retain their types (#206600)

This commit creates an extractor for operator new/delete overloads.

Overloads of operator new shall retain their void* return type,
regardless of whether they are propagated by unsafe buffers. The same
applies to the parameters of operator delete overloads.

Therefore, clang-reforge eventually need this information.

rdar://179151541

---------

Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>


  Commit: cefd20c496edd4df4ccd1faf399ee0d971b60116
      https://github.com/llvm/llvm-project/commit/cefd20c496edd4df4ccd1faf399ee0d971b60116
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Use DCI.CombineTo instead of DAG.ReplaceAllUsesWith in performReverseEVLCombine. (#208275)

This makes sure the replaced node is deleted without relying on it still
being in the worklist, schedules its users for revisiting, and prints
the debug message for the replacement.


  Commit: fd796cffa1b38810fef4ce43c34a6fc72a621b1b
      https://github.com/llvm/llvm-project/commit/fd796cffa1b38810fef4ce43c34a6fc72a621b1b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    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] combineArithReduction - truncate from v4iXX to v4i16 for PSADBW add reduction patterns (#208286)

Noticed while trying to make ISD::VECREDUCE_ADD legal - if we're using
PSADBW, we don't need to truncate down to v4i8 and then zero-padd the
lowest v8i8/64-bits, we can just use v4i16 and bitcast to v8i8 since we
know the upper 8-bits are zero.


  Commit: 40455118dff8af2d662e50a2b6083c9c7174740d
      https://github.com/llvm/llvm-project/commit/40455118dff8af2d662e50a2b6083c9c7174740d
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Plugins/PassPlugin.h
    M llvm/utils/git/ids-check-helper.py

  Log Message:
  -----------
  [ids-check] Add support for ignoring symbols (#208241)

`llvmGetPassPluginInfo()` is not exported from the LLVM dylib. It is
meant to be the entry point for a pass plugin in another dylib. As it
is, the ids-check workflow would automatically add the `LLVM_ABI`
annotation to it, which is incorrect.

This fixes the issue by explicitly marking the symbol as ignored.

The effort to build LLVM as a DLL is tracked in #109483.


  Commit: abc27e39ab4d0d17820159329ee3faeaf31261ae
      https://github.com/llvm/llvm-project/commit/abc27e39ab4d0d17820159329ee3faeaf31261ae
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    A llvm/test/DebugInfo/AArch64/machine-cp-updates-dbg-reg-subreg.mir

  Log Message:
  -----------
  [MachineCopyPropagation] Fix debug info referring to subregisters. (#207861)

When copy propagation removes a copy, it fixes debug info that refers to
the old register to instead refer to the new register. This logic didn't
really deal with subregisters; it took any DBG_VALUE that pointed to a
subregister of the old register, and replaced it with the full new
register.

This patch adds logic for subregisters: if a DBG_VALUE refers to a
subregister of the source register, find the corresponding subregister
of the destination register.

Fixes #207682


  Commit: 6ed1ae68fa74c290c19ae8854469037ce105ae4a
      https://github.com/llvm/llvm-project/commit/6ed1ae68fa74c290c19ae8854469037ce105ae4a
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-isel.ll
    M llvm/test/CodeGen/AArch64/ptrauth-isel.mir

  Log Message:
  -----------
  [AArch64][PAC] Reset `killed` operand flag in custom inserter of PAC pseudo (#158699)

If custom inserter changes the `AddrDisc` operand of `AArch64::PAC`
pseudo instruction, conservatively reset its `killed` flag. Keeping this
flag without checking if it is still legal may result in code of the
form

    %disc = MOVKXi %addr(tied-def 0), 1234, 48
    %signed = PAC %ptr(tied-def 0), 2, 0, killed %disc
    # %addr is used past this point and %disc is not

being turned into

    %signed = PAC %ptr(tied-def 0), 2, 1234, killed %addr
    # %addr is used past this point, but the operand of
    # the above instruction has killed flag


  Commit: c7c7cab93eb2e96d96820668c029f9e1b7e4a00b
      https://github.com/llvm/llvm-project/commit/c7c7cab93eb2e96d96820668c029f9e1b7e4a00b
  Author: Rafael Auler <rafaelauler at meta.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/test/X86/dwarf5-locexpr-addrx.s

  Log Message:
  -----------
  [BOLT] Fix DW_FORM_implicit_const values lost during DWARF5 rewriting (#192166)

Summary:
Fix two bugs in DIEBuilder that caused DW_FORM_implicit_const values to
be zeroed out when rewriting DWARF5 debug sections
(--update-debug-sections).

1. In constructDIEFast(), DWARFFormValue was constructed with just the
form code, leaving the value at 0. For DW_FORM_implicit_const,
extractValue() is a no-op since the value is expected to be pre-set.
Fix: use AttrSpec.getFormValue() which initializes the value from the
abbreviation table.

2. In assignAbbrev(), AddAttribute(Attr.getAttribute(), Attr.getForm())
used the two-argument overload which discards the implicit_const value.
Fix: use AddAttribute(Attr) to copy the full DIEAbbrevData.

Fixes https://github.com/llvm/llvm-project/issues/192084


  Commit: 2c6a3d29636a54246738347f801c77cb15ac8241
      https://github.com/llvm/llvm-project/commit/2c6a3d29636a54246738347f801c77cb15ac8241
  Author: Drew Kersnar <dkersnar at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/rangereduce.ll

  Log Message:
  -----------
  [SimplifyCFG] Improve reduceSwitchRange to avoid unnecessary subtractions (#198374)

Dense switch cases can sometimes be achieved with only a shift, avoiding
a subtract. Change reduceSwitchRange to check for such cases before
falling back to using a subtract.

The changes to test9 demonstrates that for the purpose of lookup-table
lowering (triggered by the switch-to-lookup flag), the switch range
still ends up normalized to start at 0, the subtraction just happens
after the fshl.

test10 demonstrates where this change is useful, resulting in a dense
switch case with one less subtract.

test11 demonstrates cases where the subtract is still needed in order to
form a dense switch case.


  Commit: bd9554f5da14d3a627fb8effc1769541ca05e4f9
      https://github.com/llvm/llvm-project/commit/bd9554f5da14d3a627fb8effc1769541ca05e4f9
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/FunctionExtras.h

  Log Message:
  -----------
  [ADT][NFC] UniqueFunction MSVC fix (#208293)

Fixup of #208251 for MSVC, which erroneously treats uses of non-static
constexpr variables as odr-use and requires them to be captured.


  Commit: e07cdf3cf22db202d9a29b66a78f9e5f83f21660
      https://github.com/llvm/llvm-project/commit/e07cdf3cf22db202d9a29b66a78f9e5f83f21660
  Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A libc/src/mathvec/aarch64/CMakeLists.txt
    A libc/src/mathvec/aarch64/common.h
    A libc/src/mathvec/aarch64/expf.cpp

  Log Message:
  -----------
  [libc][mathvec][aarch64] Add AdvSIMD optimised expf (#206776)

This PR adds an AdvSIMD optimised version of the generic expf, using
intrinsics.


  Commit: 031b773b01700acf82f5977a5aa6024621b8211c
      https://github.com/llvm/llvm-project/commit/031b773b01700acf82f5977a5aa6024621b8211c
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/Index/IndexingContext.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/test/AST/ast-dump-templates-pattern.cpp
    M clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/CodeGenCXX/default-arguments.cpp
    M clang/test/CodeGenCXX/explicit-instantiation.cpp
    A clang/test/Modules/GH208100.cpp
    M clang/test/SemaCXX/GH195416.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/member-class-11.cpp
    A clang/test/SemaTemplate/GH202358.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/friend-template.cpp
    M clang/test/SemaTemplate/instantiate-scope.cpp
    M clang/test/Templight/templight-default-func-arg.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [clang] Reland: fix getTemplateInstantiationArgs (#208285)

Relands https://github.com/llvm/llvm-project/pull/199528
Previous: https://github.com/llvm/llvm-project/pull/207825

This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template
context of out-of-line definitions.

This greatly simplifies the signature of that function, by removing a
bunch
of workarounds, and simpliffying a couple that weren't removed yet.

Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.

Also makes the explicit specialization AST nodes stop abusing the
template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.

Fixes https://github.com/llvm/llvm-project/issues/202106
Fixes https://github.com/llvm/llvm-project/issues/202109
Fixes #208100
Fixes #202358

Changes since last landing:

* Instantiated method decls uses a separate path, also needs merging of
deduced return type.
* Handle failures instantiating redeclaration for default arguments
(fails in some error recovery scenarios).


  Commit: 9fde8452156883976b6264afffa9f8f259e733ec
      https://github.com/llvm/llvm-project/commit/9fde8452156883976b6264afffa9f8f259e733ec
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M .github/new-prs-labeler.yml
    M llvm/docs/AddingConstrainedIntrinsics.rst
    A llvm/docs/LangRef.md
    R llvm/docs/LangRef.rst

  Log Message:
  -----------
  [docs] Rename LangRef.{rst|md} (#201974)

Tracking issue: #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 commit does not use valid markdown, so the docs will not build, but
they will be fixed in an immediate follow-up commit that does the
migration.


  Commit: 2cb32e4e72ce1e6094abc534510b405c1c84c5be
      https://github.com/llvm/llvm-project/commit/2cb32e4e72ce1e6094abc534510b405c1c84c5be
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/docs/LangRef.md

  Log Message:
  -----------
  [docs] Rewrite LangRef.md as Markdown (#201975)

Tracking issue: #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 change migrates LangRef by itself, since it is quite a large
document with many idiosyncracies.

LangRef makes extensive use of definition lists, which apparently
require enabling the deflist MyST extension in Sphinx conf.py. In part
because definition list boundaries are controlled by indentation,
several of them required manual fixups to get the nesting right. Some of
the issues were pre-existing broken indentation, but this should now be
much better.

I have a verification script that tracks all anchors and ensures that
all previous anchors are carried over to the new document, so no
mid-document links are broken.


  Commit: b7cf10c60748049efede67b5e1bf8aed87daea70
      https://github.com/llvm/llvm-project/commit/b7cf10c60748049efede67b5e1bf8aed87daea70
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/docs/PointerAuthentication.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/ptrauth-intrinsics.c
    M clang/test/Sema/ptrauth-intrinsics-macro.c
    M clang/test/Sema/ptrauth.c
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-with-pc-and-resign.ll

  Log Message:
  -----------
  [arm64e] Add a builtin + intrinsic for arm64e PAuth_LR: __builtin_ptr_auth_auth_with_pc_and_resign (#202742)

The new builtin behaves like __builtin_ptrauth_auth_and_resign, but
incorporates the address of the signing instruction (i.e. the
`pacibsppc`/`paciasppc`) when performing the auth side, and subsequently
re-signs using a different scheme. Authenticating the re-signed value
will fail if and only if authenticating the original value with the
incorporated pc would have failed.


  Commit: 23cead908f2d662e8f157b9a826fd489574b1f81
      https://github.com/llvm/llvm-project/commit/23cead908f2d662e8f157b9a826fd489574b1f81
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC] Fix getInsertExtractIndex for ExtractElement and use unsigned indices



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208317


  Commit: 19c1b2c3f741b55a437e940417fab46b2bf5afda
      https://github.com/llvm/llvm-project/commit/19c1b2c3f741b55a437e940417fab46b2bf5afda
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/include/lldb/DataFormatters/DataVisualization.h
    M lldb/include/lldb/DataFormatters/FormatManager.h
    M lldb/include/lldb/DataFormatters/TypeCategoryMap.h
    M lldb/source/DataFormatters/DataVisualization.cpp
    M lldb/source/DataFormatters/TypeCategoryMap.cpp

  Log Message:
  -----------
  [lldb] Remove unused AnyMatches functions from DataFormatters (#208288)

The only `AnyMatches` function actually used is in TypeCategoryImpl and
TieredFormatterContainer.


  Commit: 41c4167cd066e8a9c3185917cafa9bef2cbfdb6d
      https://github.com/llvm/llvm-project/commit/41c4167cd066e8a9c3185917cafa9bef2cbfdb6d
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
    R llvm/test/CodeGen/AMDGPU/memory-legalizer-single-wave-workgroup-memops.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Use wavefront scope for single-wave workgroup synchronization (#187673)" (#208280)

This reverts commit ebc56070eb8d25c8dc73a2e97caaeb4db0f7c9fa.

Revert justified by correctness issues around DMA operations as seen in
https://github.com/llvm/llvm-project/pull/207473 .


  Commit: f550160b2d59a780ed86ae2a72cd2e3b8b3a70fa
      https://github.com/llvm/llvm-project/commit/f550160b2d59a780ed86ae2a72cd2e3b8b3a70fa
  Author: Moazin K. <mkhatti at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/locations.f90
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td

  Log Message:
  -----------
  [flang][OpenACC] Attach `OpenACCLoopLocAttr` to `acc.loop` op (#208238)

Introduce an attribute `OpenACCLoopLocAttr` that can be attached to an
`acc.loop` operation to record loop locations and directive location
separately.

Attach it to `acc.loop` when building the op in flang.


  Commit: a56885a9dcd578f9633132e9aa8420e0f7504569
      https://github.com/llvm/llvm-project/commit/a56885a9dcd578f9633132e9aa8420e0f7504569
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.td
    A llvm/test/CodeGen/Hexagon/pr183850.ll

  Log Message:
  -----------
  [Hexagon] Drop artificial VF sub-registers from W0-W15 (PR183850) (#208260)

Declaring VF0-VF15 as an artificial (vsub_fake) third sub-register of
W0-W15 caused MachineCopyPropagation to associate DBG_VALUEs of $wN with
unrelated $vM COPYs via reg-unit overlap, tripping the
hasDebugOperandForReg assertion in updateDbgUsersToReg.

Remove the fake sub-register from W0-W15. The reverse-alias WR0-WR15
keep vsub_fake intentionally.


  Commit: e6b0517a80bc68784998c7f37740f8d2700b8249
      https://github.com/llvm/llvm-project/commit/e6b0517a80bc68784998c7f37740f8d2700b8249
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/IndVarSimplify/eliminate-max-from-min-exit.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll

  Log Message:
  -----------
  [LV,IndVars] Add tests for missed SCEV min/max reasoning (NFC) (#208314)

Add extra tests for missed SCEV min/max reasoning, including 
https://github.com/llvm/llvm-project/pull/204083.


  Commit: b8cc84591b6a9b314b1e486b0db643f9f399cf90
      https://github.com/llvm/llvm-project/commit/b8cc84591b6a9b314b1e486b0db643f9f399cf90
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/config.bzl

  Log Message:
  -----------
  [bazel] Correct config.h definitions for musl (#207295)

The Bazel overlay encodes several configure-time config.h results
manually. It currently treats all Linux platforms as having
execinfo.h/backtrace() and mallinfo(). That matches glibc, but is false
when the build is configured for musl libc.

The upstream .bazelrc provides --config=hermetic-toolchain. A musl build
can be selected by pairing that with the platform labels from the
external Bazel module named llvm, for example:

  bazel build --config=hermetic-toolchain \
    --platforms=@llvm//platforms:linux_x86_64_musl \
    --extra_execution_platforms=@llvm//toolchain:linux_x86_64_platform \
    @llvm-project//llvm:not

Only define HAVE_BACKTRACE/BACKTRACE_HEADER when not targeting musl, and
only define HAVE_MALLINFO for GNU libc. With the old definitions, this
fails in LLVM Support, e.g.:

Unix/Process.inc:95:19: error: variable has incomplete type 'struct
mallinfo'
  Unix/Signals.inc:51:10: fatal error: 'execinfo.h' file not found

Drafted with LLM assistance.


  Commit: 362cd64fab04219913d89a14fc54767376a9a737
      https://github.com/llvm/llvm-project/commit/362cd64fab04219913d89a14fc54767376a9a737
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-convergent.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Don't latch-redirect trivial unswitch across convergent ops (#207047)

The trivial-unswitch case added in #204934 can redirect a loop-invariant
branch's latch edge to the loop exit, turning it into an exit branch
that then gets hoisted to the preheader. That changes how many
iterations (and, on GPUs, which lanes) execute the loop body.

When the loop contains a convergent operation that runs each iteration,
hoisting the branch lets one (possibly non-uniform) path bypass the loop
entirely and skip the convergent op. Concretely, this miscompiles an
AMDGPU warp reduction (llvm.amdgcn.update.dpp): lanes drop out of the
cross-lane shuffle, so block reductions come back with partial results.

Guard the new latch-redirect transform with the same convergent /
cross-block-token check that isSafeForNonTrivialUnswitching already
applies (refactored into a shared loopContainsConvergentOrTokenOp
helper). Adds a target-independent lit test that fails before this
change and passes after.

Co-authored-by: Claude Opus


  Commit: 790fbc8fe5bfe69ffee21431d4a5f9da18efeda0
      https://github.com/llvm/llvm-project/commit/790fbc8fe5bfe69ffee21431d4a5f9da18efeda0
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [mlir][acc] Add acc.on_device op (#208096)

Add an operation to represent the runtime call to acc_on_device.

This runtime call is important to fold early in the compilation pipeline
and having an operation allows us to easily recognize it when emitted by
frontends.


  Commit: 0bd936eee21f0272dbb604608afba33af19aedc0
      https://github.com/llvm/llvm-project/commit/0bd936eee21f0272dbb604608afba33af19aedc0
  Author: Fabian Parzefall <parzefall at meta.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/AArch64/computed-goto.s
    M bolt/test/X86/indirect-goto.test
    M bolt/test/indirect-goto-relocs.test

  Log Message:
  -----------
  [BOLT] Register PIE indirect goto relocations (#206819)

PIE binaries use R_*_RELATIVE dynamic relocations for indirect goto jump
tables. BOLT creates entry points for their targets but does not mark
these addresses as targets from data relocations, so indirect jumps with
unknown control flow (which originates from indirect goto) have no CFG
successors and are interpreted as potential tail calls, while the jump
targets are incorrectly identified as additional entry points.

Add these offsets to the function's list of non-entry relocation
references instead of marking them as entry points. Extend relocation
rewriting to also check whether a block is externally referenced. This
mirrors behavior of data-to-code relocations in non-pie binaries.


  Commit: 69e2ec6e7c0a9c58f5f99cf2a84895c511d7abf6
      https://github.com/llvm/llvm-project/commit/69e2ec6e7c0a9c58f5f99cf2a84895c511d7abf6
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M utils/docs/llvm_sphinx/__init__.py

  Log Message:
  -----------
  [docs] Enable colon_fence myst extension, fix admonitions (#208322)

The colon_fence myst extension enables triple-colon fences for
admonitions, as in:

:::{note}
**Regular** _markdown_ text, not code.
:::

Using triple colon fences for admonition blocks helps markdown editors
treat the body as markdown text, rather than fixed-width code with a
syntax highlight.

This change fixes a live doc bug in MyFirstTypoFix.md, which uses this
admonition style:
https://llvm.org/docs/MyFirstTypoFix.html

Currently ":::{note} The code changes presented" leaks through in the
HTML, and this one line change fixes it.


  Commit: 470e52cf6d0c0548700eba9ec1517b24add367ad
      https://github.com/llvm/llvm-project/commit/470e52cf6d0c0548700eba9ec1517b24add367ad
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp

  Log Message:
  -----------
  [PowerPC] Use INT64_MAX instead of LONG_MAX. (#208249)

The value of LONG_MAX is dependent on the host environment used to build
the compiler. For example, X86-64 Windows has a different value than
X86-64 Linux. Using LONG_MAX would give inconsistent results when cross
compiling.


  Commit: 5c93fce720433b7302c4ac2e011ffb997c2fb977
      https://github.com/llvm/llvm-project/commit/5c93fce720433b7302c4ac2e011ffb997c2fb977
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.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/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions-tail-folded.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
    M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/reduction-order.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-div.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
    M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll

  Log Message:
  -----------
  [VPlan] Model initial header mask as region value. (#196199)

Introduce a new VPRegionValue for the header mask, managed by loop
regions similar to the canonical IV.

The main benefit is we do not need to materialize the mask early and it
is trivial to find (no more need for patterns hard-coded in findHeaderMask).

It is currently materialized before computing costs, as we compute costs
for part of it currently.

PR: https://github.com/llvm/llvm-project/pull/196199


  Commit: 9f709fbfe8a300257ee844ff64dda8a027e4ea73
      https://github.com/llvm/llvm-project/commit/9f709fbfe8a300257ee844ff64dda8a027e4ea73
  Author: ES3Q <qq571253675 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCSpecializeForHost.cpp
    M mlir/test/Dialect/OpenACC/acc-specialize-for-host-fallback.mlir

  Log Message:
  -----------
  [flang][OpenACC] Fix host fallback for acc.atomic.update (#207597)

The host fallback for `acc.atomic.update` only processed the first
operation in the region and used its result for the store, ignoring the
remaining operations and the `acc.yield` terminator. This generated
invalid IR when the region contained multiple operations.

1.Fix this by cloning all operations in the region and using the operand
of `acc.yield` as the final result to store.
2.Add tests for atomic read, write, update, and capture operations to
cover the host fallback path.

---------

Co-authored-by: ES3Q <ES3Q at QQ.COM>


  Commit: c2f5040f47c8e7991b36cea3afc0b855956a5475
      https://github.com/llvm/llvm-project/commit/c2f5040f47c8e7991b36cea3afc0b855956a5475
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/ASTStructuralEquivalence.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
    R clang/test/CXX/temp/temp.decls/temp.friend/p6.cpp
    M clang/test/Parser/cxx2c-variadic-friends.cpp
    M clang/test/SemaCXX/many-template-parameter-lists.cpp
    M clang/test/SemaTemplate/GH71595.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp
    M clang/test/SemaTemplate/ctad.cpp
    M clang/test/SemaTemplate/friend-template.cpp

  Log Message:
  -----------
  Revert "[Clang] support friend declarations with a dependent nested-name-specifier" (#208302)

Reverts llvm/llvm-project#191268

---

Revert dependent friend support due to a crash in access checking
https://github.com/llvm/llvm-project/issues/208290


  Commit: 1321b17540118f850320955e19eacd68bd1d7eef
      https://github.com/llvm/llvm-project/commit/1321b17540118f850320955e19eacd68bd1d7eef
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 01846f68e5 (#208325)

Assisted-by: Gemini


  Commit: bc97c56e6851858614876711e46f266dd1c1f58e
      https://github.com/llvm/llvm-project/commit/bc97c56e6851858614876711e46f266dd1c1f58e
  Author: Damyan Pepper <damyanp at microsoft.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    A llvm/test/CodeGen/DirectX/imul_umul.ll
    A llvm/test/CodeGen/DirectX/overflow_intrinsics.ll

  Log Message:
  -----------
  [DirectX] Expand {u,s}mul.with.overflow in DXILIntrinsicExpansion (#207297)

DXIL has no op for the llvm.{u,s}mul.with.overflow intrinsics. These can
be emulated by performing the full multiply using double-width values
and then checking the high-part of the result. However, this should be
avoided for 32-bit values since we don't want to make the shader start
using 64-bit values if it wasn't before. In this case we can use the
UMul and IMul DXIL operations that return the result as separate low &
high values.

Wider (64-bit) multiplies, which can't widen further, compute the high
half with same-width arithmetic instead.

Fixes #207090

---------

Co-authored-by: Copilot <223556219+Copilot at users.noreply.github.com>
Co-authored-by: Farzon Lotfi <farzonl at gmail.com>


  Commit: 0842f3c80402c94e87f62be63c57a9229b3bace2
      https://github.com/llvm/llvm-project/commit/0842f3c80402c94e87f62be63c57a9229b3bace2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll

  Log Message:
  -----------
  [ConstraintEli] Add more tests with latch guarded loops+overflows (NFC) (#208328)

Add additional tests with latch controlled loops and cases where we
currently bail out due to constraint-system overflows.


  Commit: f8e18564dc4a40ed6f173f6c69449d0800070e9d
      https://github.com/llvm/llvm-project/commit/f8e18564dc4a40ed6f173f6c69449d0800070e9d
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
    M flang/test/Transforms/CUF/cuf-alloc-delay.fir

  Log Message:
  -----------
  [flang][cuda] Switch CUFAllocDelay to operate on fir.declare (#208334)

CUFAllocDelay previously matched hlfir.declare, requiring it to run
before HLFIR-to-FIR lowering. Match fir.declare instead so the pass can
be scheduled with the other CUF preparation passes (which also operate
on fir.declare), before cuf.alloc is lowered. The delay logic is
unchanged.


  Commit: b310b1ab76f24a0e7a88c8ded76f54b816e5d542
      https://github.com/llvm/llvm-project/commit/b310b1ab76f24a0e7a88c8ded76f54b816e5d542
  Author: Matsu <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Register device/constant globals as device-resident under -gpu=mem:unified (#208336)

```fortran
module m
  integer, device   :: aaa;  bind(c, name='aaa_from_c') :: aaa
  integer, constant :: zzz;  bind(c, name='zzz_from_c') :: zzz
end module
```
```c
extern int aaa_from_c;
#pragma acc declare create(aaa_from_c)   // same for zzz_from_c
```

In this code, under `-gpu=mem:unified` a module-scope device/constant
global is registered only as a CUDA variable. Another translation unit
that declares the same symbol on the host can make it be treated as host
memory, so the device symbol is unresolved at run time.

Fix: emit `cuf.register_variable_static` for device/constant globals
under `mem:unified` so they are additionally registered as
device-resident.


  Commit: b5c94cfb1c12edc85a65be6299b0b9800b623492
      https://github.com/llvm/llvm-project/commit/b5c94cfb1c12edc85a65be6299b0b9800b623492
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/ldexp-avx512.ll

  Log Message:
  -----------
  [X86] Split FLDEXP when AVX512 is not available (#208292)

Mark the 512-bit types Custom only under useAVX512Regs(); otherwise
generic type legalization splits FLDEXP into the legal narrower halves
that LowerFLDEXP handles.

Add a LIT test for the v8f64 -> two 256-bit vscalefpd split.

Co-authored-by: Yanliang Mu <yanliang.mu at intel.com>


  Commit: c5ff07e5006598e16b0982288277e36b60842cf9
      https://github.com/llvm/llvm-project/commit/c5ff07e5006598e16b0982288277e36b60842cf9
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add missing deps from 1321b17 (#208338)


  Commit: 349375a83b85c481c8126ac2f3081b51bf4725d2
      https://github.com/llvm/llvm-project/commit/349375a83b85c481c8126ac2f3081b51bf4725d2
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Expression/DWARFExpression.h
    M lldb/include/lldb/Expression/DWARFExpressionList.h
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/include/lldb/ValueObject/ValueObjectVariable.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Expression/DWARFExpressionList.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/source/ValueObject/ValueObjectVariable.cpp
    M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
    M lldb/unittests/Expression/DWARFExpressionTest.cpp

  Log Message:
  -----------
  [LLDB] Add an API to check whether a variable is writable (#208042)

IDEs may offer functionality to set a variable to a specific value.
There are many situations where this isn't actually possible, for
example, if the variable's value is a constant or the result of a
complex DWARF expression. Instead of offering to change a value only to
have it fail with an error, this API lets the IDE query whether setting
a value is generally feasible so it can hide the action where it isn't
applicable.

rdar://142358140

Assisted-by: claude


  Commit: 5d800d3285c1dd8cd438346d5256c35528d744c4
      https://github.com/llvm/llvm-project/commit/5d800d3285c1dd8cd438346d5256c35528d744c4
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/AST/ast-dump-init.cpp

  Log Message:
  -----------
  [clang] Fix type of the MaterializeTemporaryExpr with incomplete array type. (#187618)

This affects constructs like `int f(int (&&x)[]); int z = f({1});`.

A temporary logically can't have incomplete type: if we don't know the
type, we can't materialize it. Rearrange the casts to make more sense.

I'm not sure this has any practical effects at the moment due to the way
we use skipRValueSubobjectAdjustments; we usually end up ignoring the
type of the MaterializeTemporaryExpr.


  Commit: 20a0cd83dcaade1912330a678063275ec3d47c2d
      https://github.com/llvm/llvm-project/commit/20a0cd83dcaade1912330a678063275ec3d47c2d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/fma-reduce-regression.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the regression in reduction, which should remain scalar FMAs



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208349


  Commit: 7a0aea35a25a4e21dca6c939456fedf8f6964319
      https://github.com/llvm/llvm-project/commit/7a0aea35a25a4e21dca6c939456fedf8f6964319
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    A flang/include/flang/Optimizer/Builder/OpenACCIntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/lib/Optimizer/Builder/OpenACCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp

  Log Message:
  -----------
  [flang][acc] Emit acc.on_device operation for acc_on_device call (#208098)

It is important we recognize acc_on_device calls as they need to be
folded during compilation. Emitting this operation helps with the
recognition of the runtime call in the optimizer.


  Commit: a8264ae5b4bd5ed460699e582e1612a76ed0c595
      https://github.com/llvm/llvm-project/commit/a8264ae5b4bd5ed460699e582e1612a76ed0c595
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp

  Log Message:
  -----------
  [clang] add triple to `test/SemaCXX/deduced-return-type-cxx14.cpp` (#208340)

Fixes issue reported here:
https://github.com/llvm/llvm-project/pull/208285#issuecomment-4919717057

Since that test file now uses the `cdecl` attribute, which is not
supported in some targets, pin that test to x86_64 triple.


  Commit: 0fbdfc85b3bca4edc949966324c8b9cb57693194
      https://github.com/llvm/llvm-project/commit/0fbdfc85b3bca4edc949966324c8b9cb57693194
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    M mlir/lib/Dialect/OpenACC/Transforms/ACCSpecializeForDevice.cpp
    M mlir/test/Dialect/OpenACC/acc-specialize-for-device.mlir

  Log Message:
  -----------
  [mlir][acc] Specialize acc.on_device with constant arg for device (#208099) (#208351)

Fold known result acc.on_device to a constant in device-side code.

Re-submitted PR due to accidental stack PR merge


  Commit: 82fc0835cfddbca9594bdc797fa4fbe3f86b90fa
      https://github.com/llvm/llvm-project/commit/82fc0835cfddbca9594bdc797fa4fbe3f86b90fa
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Transforms/Utils/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Add missing MLIRPass dep when DMLIR_ENABLE_PDL_IN_PATTERNMATCH=OFF used (NFC) (#208289)

When PDL dialect is disabled during build stage
(`DMLIR_ENABLE_PDL_IN_PATTERNMATCH=OFF`) we got a compiler errors due to
some of pdl deps transitively includes `MLIRPass` but without PDL this
dep missing and lead to compile errors


  Commit: 060f128beedd8a6fa0bbab137dae9c4c82200a23
      https://github.com/llvm/llvm-project/commit/060f128beedd8a6fa0bbab137dae9c4c82200a23
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [RISCV] Map spacemit uarch strings to CPU names in host detection (#207636)

-mcpu/-mtune=native first tries hwprobe;
when that yields no usable CPU model it falls back to the
cpuinfo uarch line. Add spacemit,x60/x100/a100 there.


  Commit: 232f98e8a873c374a00d64f70cedff6c61ee87d8
      https://github.com/llvm/llvm-project/commit/232f98e8a873c374a00d64f70cedff6c61ee87d8
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libc/shared/builtins.h
    A libc/shared/builtins/divsf3.h
    M libc/src/__support/builtins/CMakeLists.txt
    A libc/src/__support/builtins/divsf3.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_builtins_test.cpp

  Log Message:
  -----------
  [libc] add shared divsf3 builtin (#205679)

Re-exposes LLVM-libc's `__divsf3` as `shared::divsf3` for reuse by
compiler-rt's builtins.

Stacked change - merge these first:
- #200094
- #205669
- #205670
- #205671
- #205672
- #205673
- #205674
- #205675
- #205676
- #205677
- #205678

Part of #197824


  Commit: 533470ead993440e3cd79c48d77a21218e165ff2
      https://github.com/llvm/llvm-project/commit/533470ead993440e3cd79c48d77a21218e165ff2
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    M llvm/test/Transforms/ObjCARC/test_autorelease_pool.ll

  Log Message:
  -----------
  [ObjCARC] Improve empty autorelease pool elimination in OptimizeAutoreleasePools (#200310)

Verify push/pop pairing before popping the stack, clear the pool stack
on mismatch, and erase the push before the pop for consistency.


  Commit: 57e7ceed3398ed1ddf28afdf78ba81cc2638c665
      https://github.com/llvm/llvm-project/commit/57e7ceed3398ed1ddf28afdf78ba81cc2638c665
  Author: Kito Cheng <kito.cheng at sifive.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp

  Log Message:
  -----------
  [IRBuilder] Add FMFSource overloads for CreateCall (#208171)

CreateCall had no way to set fast-math-flags at creation time, so
callers had to build the call and copy the flags in a second step:

  CallInst *C = B.CreateCall(Fn, Args);
  C->copyFastMathFlags(Src);

Add FMFSource overloads (mirroring CreateIntrinsic) so the flags can be
copied from a source instruction or FastMathFlags in one call:

  CallInst *C = B.CreateCall(Fn, Args, /*FMFSource=*/Src);

The FMFSource parameter has no default, so existing CreateCall callers
are unaffected and overload resolution stays unambiguous.

Assisted-by: Opus 4.8


  Commit: 76028e1199ad4d1a380c7cf367a072095f6dba01
      https://github.com/llvm/llvm-project/commit/76028e1199ad4d1a380c7cf367a072095f6dba01
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp

  Log Message:
  -----------
  [RISCV] Fix RISCVFoldMemOffset to report when it makes changes (#208149)

runOnMachineFunction initialized MadeChange to false and returned it,
but never set it to true even though the fold path rewrites memory
offsets, replaces registers, and erases the ADDI. As a result the pass
always reported that it made no changes, so the pass manager could keep
stale analyses valid after the function had actually been modified.

Set MadeChange to true after folding an ADDI.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: 2df2a51c7593baa6286610ff45693b97dda9ea5c
      https://github.com/llvm/llvm-project/commit/2df2a51c7593baa6286610ff45693b97dda9ea5c
  Author: TelGome <93700071+TelGome at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 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/lib/Target/RISCV/RISCVInstrInfoP.td
    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 Saturating Absolute Value. (#207978)


  Commit: 2592df6cb04e72f548685a152cf93b46b30cee21
      https://github.com/llvm/llvm-project/commit/2592df6cb04e72f548685a152cf93b46b30cee21
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp

  Log Message:
  -----------
  [NFCI][AMDGPU] Change foldOperand to return changed (#208352)


  Commit: 697bd9704894691d6b0f40b3150d70047a6f181f
      https://github.com/llvm/llvm-project/commit/697bd9704894691d6b0f40b3150d70047a6f181f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/IR/Block.h
    M mlir/include/mlir/IR/Region.h
    M mlir/include/mlir/IR/RegionGraphTraits.h
    M mlir/lib/IR/Region.cpp

  Log Message:
  -----------
  Give each mlir::Block a stable ID within its parent region (#207617)

Assign each mlir::Block a stable ID within its parent region, mirroring
llvm::BasicBlock/llvm::Function (called ID, not number, since a block/op
number denotes position in MLIR): Block gains getBlockID() and reads -1u
while it has no parent region; Region gains nextBlockID with
getMaxBlockID() and getBlockIDEpoch(); the block ilist traits assign the
ID on add/transfer and invalidate it on removal; and
GraphTraits<mlir::Block*>/<mlir::Region*> expose
getNumber/getMaxNumber/getNumberEpoch. This makes
GraphHasNodeNumbers<mlir::Block*> true, moving MLIR's CFGLoopInfo and
dominator tree onto the number-indexed path. MLIR never renumbers
blocks,
so the epoch is a fixed 0.

Prerequisite for requiring GraphHasNodeNumbers in llvm::LoopInfoBase and
dropping its DenseMap fallback.

Aided by Claude Opus 4.8


  Commit: 78b56d968c54ad6453a4324fe739cb5ec236e2d7
      https://github.com/llvm/llvm-project/commit/78b56d968c54ad6453a4324fe739cb5ec236e2d7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/ProfileData/SampleProfWriter.h
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/ProfileData/SampleProfWriter.cpp
    M llvm/unittests/ProfileData/SampleProfTest.cpp

  Log Message:
  -----------
  [ProfileData] Support format version 104 for extensible binary sample profiles (#206297)

This patch adds initial support for format version 104 in extensible
binary sample profiles to support the upcoming on-disk hash table.
This patch sets up the versioning scheme in the reader and writer as a
preparation step without actually introducing the on-disk hash table.

The reader is updated to support format version 104.  The writer can
now write format version 104 profiles when requested via
-sample-profile-format-version, but continues to default to version
103 as version 104 is a work in progress.  We plan to promote the
default version to 104 once the on-disk hash table support is fully
integrated in a subsequent patch.

RFC:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/4

Assisted-by: Antigravity


  Commit: 720d986d66a0a437fd7f9b0d5dd0fa155dcb27f5
      https://github.com/llvm/llvm-project/commit/720d986d66a0a437fd7f9b0d5dd0fa155dcb27f5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp

  Log Message:
  -----------
  [SampleProfile] Introduce SampleProfileNameSet (NFC) (#208114)

This patch introduces a helper class SampleProfileNameSet to
encapsulate the construction of the name set and provide a contains
method.

I'm planning to speed up the membership queries into the name table.
With this patch, changes to the underlying data structure won't affect
use sites.

Assisted-by: Antigravity


  Commit: 34b0a6e6d863a6f91698b435c72e69fcfebf13f2
      https://github.com/llvm/llvm-project/commit/34b0a6e6d863a6f91698b435c72e69fcfebf13f2
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/test/Interpreter/cxx20-modules.cppm
    M clang/test/Interpreter/dynamic-library.cpp
    M clang/test/Interpreter/lit.local.cfg

  Log Message:
  -----------
  [clang-repl] Avoid use `$LD_LIBRARY_PATH` in lit tests (#208170)

Strengthen clang-repl lit tests by Avoid use `$LD_LIBRARY_PATH`. The
lit's internal shell does not expand shell variables such as
`$LD_LIBRARY_PATH`, so provide the current value as a lit substitution.

This PR can fix the following failures when user build llvm with
non-system C++ standard library.
```
# executed command: env 'LD_LIBRARY_PATH=<build dir>/tools/clang/test/Interpreter/Output/cxx20-modules.cppm.tmp:$LD_LIBRARY_PATH' <build dir>/bin/clang-repl -Xcc=-std=c++20 -Xcc=-fmodule-file=M=<build dir>/tools/clang/test/Interpreter/Output/cxx20-modules.cppm.tmp/mod.pcm -Xcc=--target=x86_64-linux-gnu
# .---command stderr------------
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by <build dir>/bin/clang-repl)
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by <build dir>/bin/clang-repl)
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by <build dir>/bin/clang-repl)
# | <build dir>/bin/clang-repl: /lib64/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by <build dir>/bin/clang-repl)
# `-----------------------------
```

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 7f3d91d14ae33a8206b536ac1ffe69565423ced3
      https://github.com/llvm/llvm-project/commit/7f3d91d14ae33a8206b536ac1ffe69565423ced3
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s

  Log Message:
  -----------
  [RISCV][MCA] Avoid deriving EMUL without SEW (#207986)

When only an LMUL instrument is active, SEW is unavailable. Avoid
deriving EMUL for vector memory instructions in that case and fall back
to the base scheduling class.

Closes #170118.


  Commit: 1325d8591159527e99683aac8240b9134b5d1cfa
      https://github.com/llvm/llvm-project/commit/1325d8591159527e99683aac8240b9134b5d1cfa
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler][NFC] Cleanup: Use interval in loop and reset sched state (#205465)

Replace the for loop that iterates between TopI and LowestI with a range
loop over ResetIntvl and move the reset of the scheduling state to this
loop.
We iterate over the loop in the reverse order than before but the
functionality should not change.


  Commit: 06488f6c8d8941cda4973df32d420c71877be3e6
      https://github.com/llvm/llvm-project/commit/06488f6c8d8941cda4973df32d420c71877be3e6
  Author: Nikhil Kalra <nikhil.kalra at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/IRCore.h

  Log Message:
  -----------
  [mlir] Make the Python binding type casters well-formed under C++23 (#208093)

The nanobind type/attr/loc/value casters in IRCore.h return a by-value
PyType/PyAttribute/PyLocation/PyValue as their DerivedTy result.

Under pre-C++23 rules, this was a rvalue that would decay to a lvalue
when passed to the DerivedTy constructor.

Under C++23's P2266 (implicit move on return), that return operand is an
xvalue, which cannot bind the PyConcrete* constructors that take a
non-const lvalue reference.

This patch constructs the derived type explicitly (return
DerivedTy(arg);) using the lvalue constructor; this preserves the
pre-C++23 behavior on C++23 builds.


  Commit: 4899b8d6f6b9d48349d89528ec6898704b289672
      https://github.com/llvm/llvm-project/commit/4899b8d6f6b9d48349d89528ec6898704b289672
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll

  Log Message:
  -----------
  [RISCV] Don't require splats to have a single use in performReverseEVLCombine. (#208326)

Test was written by Claude


  Commit: 91746ca146d4047e9d0ec98fd7d4a3d91f88a759
      https://github.com/llvm/llvm-project/commit/91746ca146d4047e9d0ec98fd7d4a3d91f88a759
  Author: qyingwu <46992476+qyingwu at users.noreply.github.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M mlir/cmake/modules/CMakeLists.txt
    M mlir/cmake/modules/MLIRConfig.cmake.in

  Log Message:
  -----------
  [mlir][cmake] Export MLIR_LINK_MLIR_DYLIB in MLIRConfig.cmake (#207336)

Fixes #197175.

`MLIRConfig.cmake` did not propagate `MLIR_LINK_MLIR_DYLIB` to out-of-tree MLIR users. Standalone projects using `find_package(MLIR CONFIG)` and `include(AddMLIR)` therefore could not observe the value used by `mlir_target_link_libraries(...)` when MLIR was configured with `-DMLIR_LINK_MLIR_DYLIB=ON`.

Export `MLIR_LINK_MLIR_DYLIB` through `MLIRConfig.cmake`.

AI tool usage:
I used ChatGPT/Codex to help understand the issue, identify the analogous LLVM CMake pattern, and draft the PR description. I manually reviewed the final patch and verification.


  Commit: 21be7ef4473615a774f7c26beeebba3161b72322
      https://github.com/llvm/llvm-project/commit/21be7ef4473615a774f7c26beeebba3161b72322
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-09 (Thu, 09 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/include/CMakeLists.txt
    A libc/include/err.yaml
    M libc/src/CMakeLists.txt
    A libc/src/err/CMakeLists.txt
    A libc/src/err/err.cpp
    A libc/src/err/err.h
    A libc/src/err/errx.cpp
    A libc/src/err/errx.h
    A libc/src/err/report.cpp
    A libc/src/err/report.h
    A libc/src/err/verr.cpp
    A libc/src/err/verr.h
    A libc/src/err/verrx.cpp
    A libc/src/err/verrx.h
    A libc/src/err/vwarn.cpp
    A libc/src/err/vwarn.h
    A libc/src/err/vwarnx.cpp
    A libc/src/err/vwarnx.h
    A libc/src/err/warn.cpp
    A libc/src/err/warn.h
    A libc/src/err/warnx.cpp
    A libc/src/err/warnx.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/err/CMakeLists.txt
    A libc/test/src/err/err_test.cpp
    A libc/test/src/err/errx_test.cpp
    A libc/test/src/err/verr_test.cpp
    A libc/test/src/err/verrx_test.cpp
    A libc/test/src/err/vwarn_test.cpp
    A libc/test/src/err/vwarnx_test.cpp
    A libc/test/src/err/warn_test.cpp
    A libc/test/src/err/warnx_test.cpp

  Log Message:
  -----------
  [libc] Implement BSD extensions in <err.h> (#199055)

Implemented the BSD-extension functions defined in <err.h>:

- err, errx, verr, verrx
- warn, warnx, vwarn, vwarnx

Added an internal reporting helper in src/__support/Err. The err family
functions call internal::exit directly to satisfy [[noreturn]]
requirements. Enabled these entrypoints for aarch64, riscv, and x86_64.

Assisted-by: Automated tooling, human reviewed.


  Commit: 9354d5ceac1ab8a9f6f5ca86e5400909acab4bf6
      https://github.com/llvm/llvm-project/commit/9354d5ceac1ab8a9f6f5ca86e5400909acab4bf6
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved.rst
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-allow-implicit.cpp

  Log Message:
  -----------
  [clang-tidy] Add AllowImplicitMove option to rvalue-reference-param-not-moved (#190541)

Fixes https://github.com/llvm/llvm-project/issues/132419.


  Commit: 594655d1a76fea809fd11099da97a74360f56f59
      https://github.com/llvm/llvm-project/commit/594655d1a76fea809fd11099da97a74360f56f59
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp

  Log Message:
  -----------
  [RISCV] Remove duplicate addRequired in RISCVDeadRegisterDefinitions (#208366)

getAnalysisUsage called AU.addRequired<LiveIntervalsWrapperPass>() twice.
Drop the redundant second call.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: bea7080fe3ce45d397c2aefda3e27dff868f7746
      https://github.com/llvm/llvm-project/commit/bea7080fe3ce45d397c2aefda3e27dff868f7746
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    A clang/test/AST/ByteCode/module-dummy-redecl.cpp

  Log Message:
  -----------
  [clang][bytecode] Use first decl in redeclaration chain to cache dummy pointers (#208377)


  Commit: be40b8ec4edad70106c9a81de11f1cf24c8b80f9
      https://github.com/llvm/llvm-project/commit/be40b8ec4edad70106c9a81de11f1cf24c8b80f9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Give BinaryBasicBlock a GraphTraits block number (#207899)

LoopInfoBase (and DominatorTreeBase) keep a DenseMap fallback for block
types whose GraphTraits lacks getNumber() (#103400); BOLT's
BinaryLoopInfo is one of the last two users.

BinaryBasicBlock already carries a dense [0, size) index (getIndex(),
assigned by updateBBIndices()). Expose it as the GraphTraits node
number, mirroring llvm::BasicBlock/Function.

This makes `GraphHasNodeNumbers<BinaryBasicBlock *>` true, moving BOLT's
LoopInfo and DominatorTree onto the number-indexed (SmallVector) path.
Prerequisite for requiring GraphHasNodeNumbers in LoopInfoBase.

Aided by Claude Opus 4.8


  Commit: 5ccca5f215939645995035ecd5fe40759e2cc0a6
      https://github.com/llvm/llvm-project/commit/5ccca5f215939645995035ecd5fe40759e2cc0a6
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Cleanup print functions of recipes (NFC) (#207434)

In particular, VPPhiAccessors should not query the derivative recipe's
operands, and query incoming values instead. The printPhiOperands
function would crash if used in more derivative recipes.


  Commit: 9b4d930bc49953735bc34318edd701bb4d2492a8
      https://github.com/llvm/llvm-project/commit/9b4d930bc49953735bc34318edd701bb4d2492a8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    A llvm/test/CodeGen/WebAssembly/fast-isel-atomic-fold.ll

  Log Message:
  -----------
  [FastISel][WebAssembly] Don't perform load folding for atomic load (#207728)

Don't try to fold an atomic load into other instructions. Atomic loads
may require different instructions / barriers / etc.

Wasm started using this functionality in
https://github.com/llvm/llvm-project/pull/182767. It's not really
specific to wasm, but the problem is masked on some other targets (e.g.
on X86 even a seq_cst atomic load can be lowered to a plain load).


  Commit: c0ef9c53ecca5f033dc6a022da2a986f6925c70e
      https://github.com/llvm/llvm-project/commit/c0ef9c53ecca5f033dc6a022da2a986f6925c70e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/test/MC/WebAssembly/function-alias.ll

  Log Message:
  -----------
  [WebAssembly] Use SubtargetFeature's Implies field (#206643)

This makes use of `SubtargetFeature`'s `Implies` field, which lets us
define feature dependencies:

https://github.com/llvm/llvm-project/blob/442c59c75ca384db53a6d6d81686b17ea4b397c3/llvm/include/llvm/Target/Target.td#L568-L571
and removes C++ code that specified feature dependencies.

These are the dependencies specified. EH dependencies are currently only
specified in clang options, and others are specified in
`WebAssemblySubtarget.cpp`.
- exception-handling implies multivalue and reference-types
- bulk-memory implifes bulk-memory-opt
- gc implies reference-types
- reference-types implies call-indirect-overlong

The features in `WebAssembly.td` were sorted in the alphabetical order,
but this changes it because implied features have to come before the
implying feature, e.g., multivalue and reference-types have to come
before exception-handling.

---

One semantic difference from the current code, is, when reference-types
implies call-indirect-overlong,
```console
llc -mattr=+reference-types,-call-indirect-overlong
```
this currently forces call-indirect-overlong to be true despite there is
`-call-indirect-overlong`, because

https://github.com/llvm/llvm-project/blob/442c59c75ca384db53a6d6d81686b17ea4b397c3/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp#L63-L67

But with the `Implies` field, disabling call-indirect-overlong disabled
both features, because TableGen thinks reference-types depends on
call-indirect-overlong, so without call-indirect-overlong,
reference-types can't be enabled. This is not exactly true with the
relationship of reference-types and call-indirect-overlong, but
generally makes sense for true dependencies, like exception-handling
implying (=depending on) multivalue and reference-types.

Also this wouldn't really affect the end users because these are `llc`
flags.


  Commit: 6b7cd6499b1638ad4341148ab70f28cd5ac23e20
      https://github.com/llvm/llvm-project/commit/6b7cd6499b1638ad4341148ab70f28cd5ac23e20
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libc/test/UnitTest/BazelFilePath.cpp

  Log Message:
  -----------
  [libc][bazel] Append '/' to TEST_UNDECLARED_OUTPUTS_DIR (#207710)

The environment variable does not end with a slash, so we need to add
one. Without this, the tests work, but don't achieve the intended effect
of writing to the undeclared outputs dir.


  Commit: 832402097e77794095c3b59be9ea60bbaa4ce0f3
      https://github.com/llvm/llvm-project/commit/832402097e77794095c3b59be9ea60bbaa4ce0f3
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/source/Symbol/Type.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp

  Log Message:
  -----------
  [lldb] Make SBType::FindDirectNestedType work with dynamic types (#207743)

This makes it possible to find the nested type just by knowing the
dynamic type of the value. To get the previous behavior, get the type
from a static view of the value (SBValue::GetStaticValue).


  Commit: d6c521c5642e66c02bb6776f811d93b7c320537d
      https://github.com/llvm/llvm-project/commit/d6c521c5642e66c02bb6776f811d93b7c320537d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/arpa/inet/BUILD.bazel

  Log Message:
  -----------
  [bazel][libc] Add htons function family and tests (#208201)

Add bazel build targets for the arpa/inet byte order functions (htonl,
htons, ntohl, ntohs) and their corresponding unittests.

Assisted by Gemini.


  Commit: e795686d2eb7fbee7e594451b46687a3c8d1f575
      https://github.com/llvm/llvm-project/commit/e795686d2eb7fbee7e594451b46687a3c8d1f575
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/emboxed-slice-array-coor.mlir
    A flang/test/Transforms/FIRToMemRef/emboxed-slice-non-unit-stride-non-unit-lb.mlir
    A flang/test/Transforms/FIRToMemRef/emboxed-slice-rank-reduction-nonprefix.mlir
    A flang/test/Transforms/FIRToMemRef/emboxed-slice-rank-reduction.mlir
    A flang/test/Transforms/FIRToMemRef/emboxed-slice-stride.mlir

  Log Message:
  -----------
  [FIRToMemRef] Fix wrong indexing for converted array_coor over sliced fir.embox (#207749)

FIRToMemRef::convertArrayCoorOp routes through getMemrefIndices, which
only folds the first `rank` triples of sliceInfo.sliceVec into the
memref indices (i.e. the array_coor's own slice); the embox's slice
triples -- which sit at [rank*3 .. 2*rank*3-1] when both are present --
were dropped. Three consequences, three fixes here:

1. Non-collapsed embox slice lbs contribute (lb - 1) per Fortran dim to
each memref index. Fold them in in memref order (reversed Fortran order)
so the reinterpret_cast view lands at the right column.

2. The shapeVec-else stride path used shapeVec[0..rank-1] to build the
outer strides. With both slices present, that's the box's (slice's)
extents. Use shapeVec[rank..2*rank-1] instead -- the parent's extents --
so the outer stride is the parent's leading dim rather than the slice's
own size.

3. Rank-reducing embox slices (undef ub/step triples) have no memref
index position for their (lb - 1) shift. Fold the collapsed dim's (lb -
1) * parent_stride into the reinterpret_cast's flat offset and override
the corresponding memref index entry to 0.

---------

Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 8fd8daebd18a4d4ccd74942b44f3322a3c52c001
      https://github.com/llvm/llvm-project/commit/8fd8daebd18a4d4ccd74942b44f3322a3c52c001
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/expand-form-transposed-tuple.mir
    A llvm/test/CodeGen/AArch64/misched-push-form-transposed-tuple-to-users.mir
    M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir

  Log Message:
  -----------
  [AArch64] Expand FORM_TRANSPOSED_REG_TUPLE to copies before regalloc (#207205)

Previously, we kept the FORM_TRANSPOSED_REG_TUPLE nodes around during
register allocation. The problem with this approach is that it does not
model the potential overlap in live ranges between the destination and
source operands.

As a result, the register allocator assumes it has complete freedom to
allocate registers to the operands. For example, there is nothing
stopping it from allocating:
```
{z0, z1, z2, z3} = FORM_TRANSPOSED_X4 z3, z2, z1, z0
```
However, such cases are hard to expand later, either requiring spills or
complex shuffles. The current expansions of FORM_TRANSPOSED_REG_TUPLE
miscompile in cases like this because, when naively expanded into copies
after register allocation, earlier copies can clobber values that are
still needed by later ones.

For the above case, the incorrect expansion would be:
```
z0 = COPY z3 // z0 clobbered
z1 = COPY z2 // z1 clobbered
z2 = COPY z1 // reads the wrong value of z1
z3 = COPY z0 // reads the wrong value of z0
```
This patch fixes the issue by expanding FORM_TRANSPOSED_REG_TUPLEs into
copy sequences immediately before register allocation (in
`aarch64-post-coalescer`).

For example:
```
%v4:zpr4mul4 = FORM_TRANSPOSED_X4 %v0:0, %v1:0, %v2:0, %v3:0
```
Expands to:
```
undef %v4.zsub0:zpr4mul4 = COPY_INTO_TRANSPOSED_TUPLE %v0:0
%v4.zsub1:zpr4mul4 = COPY_INTO_TRANSPOSED_TUPLE %v1:0
%v4.zsub2:zpr4mul4 = COPY_INTO_TRANSPOSED_TUPLE %v2:0
%v4.zsub3:zpr4mul4 = COPY_INTO_TRANSPOSED_TUPLE %v3:0
```
This is similar to how REG_SEQUENCE is expanded and allows the register
allocator to reason about how the copies may interfere with one another.

To ensure our register allocation hints still apply, we encourage the
scheduler to place FORM_TRANSPOSED_REG_TUPLE nodes immediately before
their users. This keeps the live ranges of the hint nodes
(COPY_INTO_TRANSPOSED_TUPLE) short while extending the live ranges of
their operands. As a result, the register allocator is more likely to
allocate registers to the copy sources first, which works best for our
allocation hints.


  Commit: 7f31e0c7e67bd05918cb60af978edacb231d52fb
      https://github.com/llvm/llvm-project/commit/7f31e0c7e67bd05918cb60af978edacb231d52fb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M orc-rt/test/CMakeLists.txt
    R orc-rt/test/init.test
    R orc-rt/test/lit.cfg.py
    R orc-rt/test/lit.site.cfg.py.in
    A orc-rt/test/regression/init.test
    A orc-rt/test/regression/lit.cfg.py
    A orc-rt/test/regression/lit.site.cfg.py.in

  Log Message:
  -----------
  [orc-rt] Move the regression tests into test/regression (#208391)

Move the regression lit config and the existing tests into
test/regression/, and point the check-orc-rt suite there.

This is a first step towards consolidating tests and test infrastructure
under orc-rt/test. Upcoming commits will add a test tools directory, and
move the existing unit tests (under orc-rt/unittests) into
orc-rt/test/unit.


  Commit: a443951eb3717c27149ba491cc8ba632c1a2da5e
      https://github.com/llvm/llvm-project/commit/a443951eb3717c27149ba491cc8ba632c1a2da5e
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericLoopInfo.h
    M llvm/include/llvm/Support/GenericLoopInfoImpl.h

  Log Message:
  -----------
  Require GraphHasNodeNumbers in llvm::LoopInfoBase; drop the DenseMap fallback (#207905)

LoopInfoBase kept a DenseMap fallback for block types whose GraphTraits
has no getNumber() (std::conditional_t on GraphHasNodeNumbers). With the
last such in-tree users now numbered (mlir::Block #207617 and BOLT's
BinaryBasicBlock #207899), require GraphHasNodeNumbers via static_assert
and make BBMap unconditionally a SmallVector indexed by block number,
dropping the DenseMap branch in
getLoopFor/changeLoopFor/removeBlock/analyze/verify.

Aided by Claude Opus 4.8


  Commit: b94defea8ba4194a5ade1657c38c2b218981ab1e
      https://github.com/llvm/llvm-project/commit/b94defea8ba4194a5ade1657c38c2b218981ab1e
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fast-isel-int-ext.ll

  Log Message:
  -----------
  [AArch64][FastISel] Update arm64-fast-isel-int-ext.ll check lines (NFC) (#207996)

Similar to #207159 (merged as 15b3882), update the CHECK lines
automatically in prep for new tests and bug fixes.


  Commit: 6ae5965f26e53d7338a779a73725a597a4d136e5
      https://github.com/llvm/llvm-project/commit/6ae5965f26e53d7338a779a73725a597a4d136e5
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/PassManagerInternal.h

  Log Message:
  -----------
  Revert "[IR][NFC] Drop vtable from PassConcept/PassModel" (#208389)

Breaks ASan builds due to new-delete mismatch.

Closes #208381.

Reverts llvm/llvm-project#208168


  Commit: c378bc38dde2a30f04e0aac0d053cea620800a99
      https://github.com/llvm/llvm-project/commit/c378bc38dde2a30f04e0aac0d053cea620800a99
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ObjectYAML/ContiguousBlobAccumulator.h
    M llvm/lib/ObjectYAML/ContiguousBlobAccumulator.cpp

  Log Message:
  -----------
  [ObjectYAML] Fix issues found in review of #207306 (#208160)

- checkLimit(): avoid uint64_t overflow.
- writeAsBinary(): check the limit against the bytes actually written.
- updateDataAt(): take const void *Data.


  Commit: f22e7b5a6f9b2fcc968bda860253e3b4b363aada
      https://github.com/llvm/llvm-project/commit/f22e7b5a6f9b2fcc968bda860253e3b4b363aada
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
    M llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    A llvm/test/tools/dsymutil/X86/dwarf6-language-name-odr.test

  Log Message:
  -----------
  [dsymutil] Use DWARFDie::getLanguage instead of manually finding DW_AT_language (#208174)

With DWARFv6, CUs may not have a `DW_AT_language` (but a
`DW_AT_language_name` instead). In
https://github.com/llvm/llvm-project/pull/207151 we made
`DWARFDie::getLanguage` account for this possibility. However, dsymutil
explicitly tries to find `DW_AT_language` in several places.

This patch ensures we go through `DWARFDie::getLanguage` instead in most
of them.

The only way I found this to be testable/observable is by testing the
`isODRLanguage` code paths. Added a test that exercises this.

There is one remaining use of `DW_AT_language` in
`DependencyTracker.cpp`. But was going to address that in a separate
change.

AI usage:
- Test written with the help of Claude


  Commit: 9c747b3ed9116841c48913eb06ccb5fad13ad1a7
      https://github.com/llvm/llvm-project/commit/9c747b3ed9116841c48913eb06ccb5fad13ad1a7
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/GH207581.cpp

  Log Message:
  -----------
  [clang] [serialization] Step into UsingShadowDecl when find existing decl (#208393)

Close https://github.com/llvm/llvm-project/issues/207581

The root cause of the problem is that:enum constant decl, for which its
parent is not enum class, is special. They can be accessed directly
without access its parent. When modules join the game, it becomes more
complex. As for members in other entities like class, we can assume the
member is accessable if their parent are accesable. But it is a
different story for enums. See
https://github.com/llvm/llvm-project/issues/131058 for the whole story
of the backrgound.

Then we didn't write enum constant decl to the lookup table of its
parent of parent in the ASTWriter. So that if other consumer in Sema
wants to access them, they have to get it by entities like exported
using decls. However, the problem is, in ASTReader, when we merge decls,
we use noload_lookup to find existing decls. And the absense of unnamed
enum decl in the parent of its parent's lookup table makes the merge
fails. For enum constant decl in named enum, they will still have a name
lookup table. So we will merge them somehow. But for enum constants in
unnamed enum, they were removed from the only lookup table so the merge
fails. This is the whole story of the current issue.

To fix this, when we merge decls, we step into the UsingShadowDecl to
find the real decls. This is fine as we never merge decls with different
kinds. We can even call this a tiny optimization.


  Commit: d7ccd02c9c78b6576ca2caa3f4d2435ebda50744
      https://github.com/llvm/llvm-project/commit/d7ccd02c9c78b6576ca2caa3f4d2435ebda50744
  Author: Osama Abdelkader <osama.abdelkader at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3.cpp
    M clang/test/CXX/dcl/dcl.fct/p17.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/Parser/c2x-auto.c
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/class.cpp
    M clang/test/SemaCXX/static-data-member.cpp

  Log Message:
  -----------
  [clang] Reject 'auto' storage class with type specifier in C++ (#166004)

Fixes #164273

---------

Signed-off-by: Osama Abdelkader <osama.abdelkader at gmail.com>


  Commit: f6b50ceeca020729445239b5375343e909d3dc51
      https://github.com/llvm/llvm-project/commit/f6b50ceeca020729445239b5375343e909d3dc51
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/include/__vector/layout.h
    M libcxx/include/__vector/vector.h

  Log Message:
  -----------
  [libc++] Remove some unnecessary functions from __vector_layout (#207152)

This removes functions which produce identical IR after the first
InstCombine pass after inlining compared to their replacements.


  Commit: e0dce75190a862b3bcfdcd165ea794fa77412b58
      https://github.com/llvm/llvm-project/commit/e0dce75190a862b3bcfdcd165ea794fa77412b58
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
    M llvm/test/CodeGen/AArch64/GlobalISel/v8.4-atomic-128.ll
    M llvm/test/CodeGen/AArch64/v8.4-atomic-128.ll

  Log Message:
  -----------
  [AArch64] fix 128-bit Sequentially Consistent load (#206936)

Emit 128-bit SC loads the way that the AArch64 atomics ABI requires, by
introducing an LDAR before the LDP. See atomicsabi64.pdf at
https://github.com/ARM-software/abi-aa/releases.


  Commit: d0487fec8ee5ca05645dfc69093b49959cf51dbc
      https://github.com/llvm/llvm-project/commit/d0487fec8ee5ca05645dfc69093b49959cf51dbc
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Debuginfod/BuildIDFetcher.h
    M llvm/include/llvm/Object/BuildID.h
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/lib/Debuginfod/BuildIDFetcher.cpp
    M llvm/lib/Object/BuildID.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  Reland [llvm] Errorize DebuginfodFetcher for inspection at call-sites (#194872)

Failure to fetch debuginfod is rarely an error, but there are case where
we want to distinguish error reasons down the line, for example in order
to test connection timeouts.


  Commit: 3282c06fc30e742ae230fd5341d9c06103e671fd
      https://github.com/llvm/llvm-project/commit/3282c06fc30e742ae230fd5341d9c06103e671fd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/udiv-const-optimization.ll

  Log Message:
  -----------
  [X86] udiv-const-optimization.ll - regenerate test checks (#208403)

Remove noise from #207634


  Commit: 12e54164e7a7cdd4596667ebe11f76dbdaccdb56
      https://github.com/llvm/llvm-project/commit/12e54164e7a7cdd4596667ebe11f76dbdaccdb56
  Author: Philipp Rados <philipp.rados at openchip.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/test/CodeGen/RISCV/stack-offset-large.ll

  Log Message:
  -----------
  [RISCV] Adjust max stack-threshold on 64bit systems (#208223)

Shouldn't emit [-Wframe-larger-than] warning on 64-bit systems, when
stack-size is greater than UINT32_MAX (the previous default). Update the
maximum stack-size-threshold on 64-bit systems to INT64_MAX.

NOTE: GCC has both rv32/rv64 thresholds set to the respective signed
maximum unlike LLVM.


  Commit: 75c9ff22df22ed1cf98a1badde790a620998c11a
      https://github.com/llvm/llvm-project/commit/75c9ff22df22ed1cf98a1badde790a620998c11a
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/versioning-dead-load.ll

  Log Message:
  -----------
  [LV] Add test for interleave group with dead member under stride versioning. nfc (#208190)

Co-authored-by: Luke Lau <luke at igalia.com>


  Commit: 6c2f267a209a0b4bd0447c589a855c9334fd598c
      https://github.com/llvm/llvm-project/commit/6c2f267a209a0b4bd0447c589a855c9334fd598c
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
    M llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.mir

  Log Message:
  -----------
  [AArch64] Add missing TB(N)Z achors to arith+CBZ clustering (#207725)

This patch adds missing TBZ+TBNZ anchors for arith+CBZ clustering. They
have similar nature to CBZ as specific kinds of it, so this patch
classifies them under the same subtarget feature name compactly. This is
better for Apple CPU. They can be reasonably expected to behave
similarly on AArch64 targets.


  Commit: 4452323fef2ef4735df6c0f2bdfed0a668df25f2
      https://github.com/llvm/llvm-project/commit/4452323fef2ef4735df6c0f2bdfed0a668df25f2
  Author: Michael Platings <michael.platings at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Gate NVPTXCodeGen behind llvm_targets (#208041)

Fixes another case of issue #63135


  Commit: 170a479b64ef5837c760b640d04a91ebc950d265
      https://github.com/llvm/llvm-project/commit/170a479b64ef5837c760b640d04a91ebc950d265
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/Options/FlangOptions.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Driver/driver-help.f90
    A flang/test/Driver/real-sum-reassociation.f90
    M flang/test/Lower/split-sum-expression-tree-lowering.f90

  Log Message:
  -----------
  [flang][Driver] Add option for real sum reassociation (#207377)

Compiler driver option for #207371: -freal-sum-reassociation. 
Disabled by default.

Assisted-by: Codex


  Commit: d85e8e7b7744e587d46231f782d44ccfb30f3723
      https://github.com/llvm/llvm-project/commit/d85e8e7b7744e587d46231f782d44ccfb30f3723
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
    M llvm/test/Transforms/LoopVectorize/vscale-cost.ll

  Log Message:
  -----------
  [VPlan] Add VPInstruction::Intrinsic opcode, use for scalar intrinsics. (#207541)

This patch adds a new Intrinsic opcode to VPInstruction, initially used
for generating calls to scalar intrinsics. The intrinsic ID as integer
is the last operand (i.e. the called function). Alternatively we could
also create the needed intrinsic declarations and pass the function
directly, but that would add potentially unused declarations, if we
decide to not vectorize.

The first patch migrates just VScale, but there are other opcodes
matching directly to intrinsics, which will be replaced in follow ups.

It also gives more flexibility going forward, e.g. allows emitting
min/max intrinsics when expanding SCEV min/max expressions.

PR: https://github.com/llvm/llvm-project/pull/207541


  Commit: 3fe9d5d6d3d1a9bcec7959aa0cac7a6fe6808744
      https://github.com/llvm/llvm-project/commit/3fe9d5d6d3d1a9bcec7959aa0cac7a6fe6808744
  Author: MITSUNARI Shigeo <herumi at nifty.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/udiv-const-optimization.ll
    M llvm/test/CodeGen/RISCV/udiv-const-optimization.ll
    M llvm/test/CodeGen/X86/divide-by-constant.ll
    M llvm/test/CodeGen/X86/udiv-const-optimization.ll

  Log Message:
  -----------
  [SelectionDAG] Widen even 33-bit-magic udiv on free-zext targets (#207634)

On 64-bit targets, #181288 lowers a 32-bit unsigned division by a
constant with a 33-bit magic number (the `IsAdd` case) to a widened
64-bit high-multiply (`MULHU`/`UMUL_LOHI`), e.g. `x / 7` becomes a
single `mulq`/`umulh`/`mulhu`. That only reaches odd divisors. This
patch extends it to even divisors on targets where the `i32 -> i64`
zero-extension is free.


  Commit: 38570cae05860a5addf29f236faa273b99baffe3
      https://github.com/llvm/llvm-project/commit/38570cae05860a5addf29f236faa273b99baffe3
  Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/test/CodeGen/NVPTX/tanhf.ll

  Log Message:
  -----------
  [NVPTX] Add native `tanh.approx` support for f16/f16x2/bf16/bf16x2 (#203257)

Adds NVPTX backend support for the native PTX `tanh.approx` instructions on half-precision and bfloat types:

- `tanh.approx.f16` and `tanh.approx.f16x2` (PTX 7.0+, sm_75+)
- `tanh.approx.bf16` and `tanh.approx.bf16x2` (PTX 7.8+, sm_90+)

Adds a `FTANHInst` TableGen class with the new patterns in NVPTXInstrInfo.td and splits `ISD::FTANH` out of the unconditional `f16/bf16 -> f32` promotion loop in NVPTXISelLowering.cpp, marking it Legal when the target supports it (scalars promote, vectors expand on older targets). Also guards `tanh.approx.f32` behind sm_75 and adds the
missing `AddPromotedToType` for bf16.

PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#half-precision-floating-point-instructions-tanh

Signed-off-by: Varad Rahul Kamthe <vkamthe at nvidia.com>


  Commit: 1f55374f8d05bda4844a192848368a84e976a8ec
      https://github.com/llvm/llvm-project/commit/1f55374f8d05bda4844a192848368a84e976a8ec
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/include/__ranges/lazy_split_view.h
    A libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][ranges] Applied [[nodiscard]] to `lazy_split` (#208036)

[[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.lazy.split

Towards https://github.com/llvm/llvm-project/issues/172124

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 4500116810d69622da80469993ca4d1e2e9ae2c8
      https://github.com/llvm/llvm-project/commit/4500116810d69622da80469993ca4d1e2e9ae2c8
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Object/OffloadBundle.cpp
    M llvm/test/tools/llvm-objdump/Offloading/fatbin-coff-compress.test

  Log Message:
  -----------
  [Offload] Make compressed offload bundle header little-endian (#206744)

The compressed offload bundle (CCOB) header integer fields (Version,
Method, FileSize, UncompressedFileSize, Hash) were serialized and read
in
host-native byte order. The on-disk format is little-endian, so on
big-endian hosts these fields were byte-swapped: writing produced a
malformed header, and reading misparsed the size, making
`llvm-objdump --offloading` crash/misbehave on s390x. This is also why
the
earlier bundle-size fix had to be reverted.

Make the header little-endian on every host:

- Read side: declare the `RawCompressedBundleHeader` fields as
`support::ulittle16_t` / `ulittle32_t` / `ulittle64_t`, so the bytes are
  always interpreted as little-endian regardless of host.
- Write side: emit the header with
`support::endian::Writer(OS, endianness::little)` instead of host-native
  `OS.write(&field, sizeof field)`.

Also revert the temporary big-endian test skip added in #205999
(host-byteorder-little-endian guard on fatbin-coff-compress.test): with
the
header now little-endian, the test runs correctly on big-endian hosts.

---------

Co-authored-by: Michael Selehov <michael.selehov at amd.com>
Co-authored-by: Nikita Popov <npopov at redhat.com> (LE approach)


  Commit: 095e9a16eaf0982208006138a2f03ec0a540d73e
      https://github.com/llvm/llvm-project/commit/095e9a16eaf0982208006138a2f03ec0a540d73e
  Author: Avi Patel <aviipatel06 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG4472: std::atomic_ref<const T> can be constructed from temporaries (#208131)

## Summary
- Implements LWG4472, i.e., adds a deleted `atomic_ref(T&&)` overload to
the primary template and three partial specializations of `atomic_ref`.


## Test
- Added `static_assert`s in `ctor.pass.cpp` asserting
`atomic_ref<T>`/`atomic_ref<const T>` reject construction from
`T&&`/`const T&&`.

Resolve #189840


  Commit: 361720cfd50e9610dbceca75c31f28e20b45d7e1
      https://github.com/llvm/llvm-project/commit/361720cfd50e9610dbceca75c31f28e20b45d7e1
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Eliminate some vec temps with ArrayRef (NFC) (#207432)

The enabling change is e56187575 ([ArrayRef] Make iterator_range
constructor const-agnostic, #205183).


  Commit: 015162dacdd5f0752cea50fc400d454a15b6afbe
      https://github.com/llvm/llvm-project/commit/015162dacdd5f0752cea50fc400d454a15b6afbe
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/HostOpFiltering.cpp
    M flang/test/Transforms/OpenMP/function-filtering-host-ops.mlir
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-declare-target-all-device-types-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir

  Log Message:
  -----------
  [Flang][MLIR][OpenMP] Fix declare_target globals visibility (#208188)

This patch introduces various changes to the handling of
`declare_target` global variables in Flang:
- Non-`declare_target` globals are unconditionally made "internal" when
compiling for an OpenMP offload target. This prevents potential symbol
redefinition issues related to globals that don't actually exist on the
device.
- Local SAVE variables handling for OpenMP offloading programs is fixed
to prevent their associated "internal" linkage from producing broken
device code for `declare_target enter(...)`.
- When globals are indirectly accessed from the target device (e.g.
`declare_target link(...)`), the associated and unused full-storage
global is marked with "internal" linkage to facilitate later removal.
- `declare_target device_type(host) enter(...)` variables are set to
external linkage when compiling for a target device, causing linker
errors if accessed. This mirrors Clang's behavior.

Fixes #195188, fixes #195468.

Assisted-by: Claude Opus 4.8.


  Commit: 50d186480ee9b0fa3f2500c4b963a47ee78db902
      https://github.com/llvm/llvm-project/commit/50d186480ee9b0fa3f2500c4b963a47ee78db902
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
    M mlir/test/Dialect/OpenACC/acc-recipe-materialization-reduction.mlir

  Log Message:
  -----------
  [OpenACC] apply par dims to reductions in parallel regions (#208258)

For reductions that come from parallel constructs, explicitly set the
GPU parallel dimensions attribute to blockXDim on the acc.reduction_init
and acc.reduction_combine* ops since they will always be gang private


  Commit: 5b9fa24dbd7b504b99143ebd2f5f12f8560c6331
      https://github.com/llvm/llvm-project/commit/5b9fa24dbd7b504b99143ebd2f5f12f8560c6331
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    R flang/lib/Optimizer/OpenMP/HostOpFiltering.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Fir/basic-program.fir
    A flang/test/Lower/OpenMP/function-filtering-4.f90
    M flang/test/Lower/OpenMP/host-eval.f90
    R flang/test/Transforms/OpenMP/function-filtering-host-ops.mlir
    M mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.td
    M mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/OpenMP/Transforms/HostOpFiltering.cpp
    A mlir/test/Dialect/OpenMP/host-op-filtering.mlir

  Log Message:
  -----------
  [Flang][MLIR][OpenMP] Move host op filtering to the omp dialect (#208189)

The MLIR pass that removes operations exclusively intended for the host
from OpenMP target offload modules is currently defined as part of
Flang. However, this is a feature that would benefit from being reusable
by other frontends, as removing such operations is a requirement for all
OpenMP target device modules prior to LLVM IR translation.

By moving the `omp-host-op-filtering` pass out of Flang, it had to be
updated to work on a lower-level LLVM dialect-based representation,
rather than FIR. This simplified some of the existing edge cases, such
as `fir.declare` ops and `fir.boxchar` type handling. In addition, new
function arguments are introduced as placeholders and return values from
host-only functions are removed, producing a cleaner result and
simplifying the pass as compared to previously.

As a result of a later execution of this pass, dynamic dispatch of host
functions via dispatch table using `fir.dispatch`, `fir.type_info` and
`fir.dt_entry` ops would break due to the removal of `fir.dt_entry`
operations pointing to deleted host functions, while `fir.dispatch` ops
pointing to the same functions would remain. The
`omp-function-filtering` pass is updated to prevent `fir.dt_entry` from
being deleted and let them point to an undefined symbol. This lets FIR
lowering to LLVM work well enough to get to the host op filtering stage,
where any resulting operations for this host dynamic dispatch are
cleaned up.


  Commit: 841e01daa0126941cd3b1b322b3e3b5605fcd03c
      https://github.com/llvm/llvm-project/commit/841e01daa0126941cd3b1b322b3e3b5605fcd03c
  Author: Ammar Askar <aaskar at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/insert.ll

  Log Message:
  -----------
  [ISEL] Fix x86-64 instruction selection bug leaking upper 32 bits (#205600)

The x86 backend had optimization patterns that matched:
  `(or (and GR32:$dst, -256), (i32 (zextloadi8 addr:$src)))`
and lowered it to:
  `(INSERT_SUBREG (i32 (COPY $dst)), (MOV8rm  i8mem:$src), sub_8bit)`

INSERT_SUBREG for sub_8bit emits a movb instruction which preserves the
upper 56 bits. Now, if the GR32 dst came from a node that does not zero
the upper 32 bits (like IMPLICIT_DEF or EXTRACT_SUBREG), those upper 32
bits would be leaked into the resulting register without being zeroed.

This fixes it by ensuring the input operand satisfies def32 which
requires the upper 32 bits of the register to be set.


  Commit: eceb9d55a2c526798480a1ceb8dfedb85b5b6c9b
      https://github.com/llvm/llvm-project/commit/eceb9d55a2c526798480a1ceb8dfedb85b5b6c9b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M orc-rt/test/CMakeLists.txt
    M orc-rt/test/regression/lit.cfg.py
    A orc-rt/test/regression/smoke-check.test
    A orc-rt/test/tools/CMakeLists.txt
    A orc-rt/test/tools/orc-rt-smoke-check.cpp

  Log Message:
  -----------
  [orc-rt] Add regression test-tool infrastructure (#208398)

Set up the infrastructure for regression tests that build and run a
helper tool, in preparation for testing the logging backends.

- Add test/tools/ for test-support binaries, with a first tool,
orc-rt-smoke-check, wired into ORC_RT_TEST_DEPS and onto lit's PATH.
- Add test/regression/smoke-check.test, which runs the tool and matches
its output with FileCheck, exercising the tool-build and lit plumbing
end to end.


  Commit: 724ad1150d5d38c96ac9d848ea21cad165415bd7
      https://github.com/llvm/llvm-project/commit/724ad1150d5d38c96ac9d848ea21cad165415bd7
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCDXContainerWriter.h
    M llvm/lib/MC/MCDXContainerWriter.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXContainerPDB.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/ContainerFlags.ll
    M llvm/test/CodeGen/DirectX/ContainerData/DebugName-default-output.test
    M llvm/test/CodeGen/DirectX/ContainerData/DebugName-user-directory.test
    A llvm/test/CodeGen/DirectX/ContainerData/DebugName-user-specified.test
    A llvm/test/CodeGen/DirectX/ContainerData/DebugName.test
    M llvm/test/CodeGen/DirectX/ContainerData/PDBParts.test
    M llvm/test/CodeGen/DirectX/ContainerData/SourceInfo-Args.ll
    M llvm/test/CodeGen/DirectX/ContainerData/SourceInfo-Compressed.ll
    M llvm/test/CodeGen/DirectX/ContainerData/SourceInfo-Uncompressed.ll
    M llvm/test/CodeGen/DirectX/embed-ildb.ll

  Log Message:
  -----------
  [DirectX] Add `--dx-embed-debug` and `--dx-pdb-path` flags (#204166)

Add flags for DirectX in `llc`:
* `--dx-embed-debug` to embed debug info into ILDB part of DXContainer
* `--dx-pdb-path` to specify filename/path for PDB file output

This patch does not add flags for clang Driver, they will be implemented
later.


  Commit: d855251d603623f790cf94079126ad8ab6684d9d
      https://github.com/llvm/llvm-project/commit/d855251d603623f790cf94079126ad8ab6684d9d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M orc-rt/CMakeLists.txt
    M orc-rt/test/CMakeLists.txt
    A orc-rt/test/unit/AllocActionTest.cpp
    A orc-rt/test/unit/AllocActionTestUtils.h
    A orc-rt/test/unit/BitmaskEnumTest.cpp
    A orc-rt/test/unit/BootstrapInfoTest.cpp
    A orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/CallSPSCITest.cpp
    A orc-rt/test/unit/CallableTraitsHelperTest.cpp
    A orc-rt/test/unit/CommonTestUtils.h
    A orc-rt/test/unit/DirectCaller.h
    A orc-rt/test/unit/EndianTest.cpp
    A orc-rt/test/unit/ErrorCAPITest.cpp
    A orc-rt/test/unit/ErrorExceptionInteropTest.cpp
    A orc-rt/test/unit/ErrorTest.cpp
    A orc-rt/test/unit/ExecutorAddressTest.cpp
    A orc-rt/test/unit/ExecutorProcessInfoTest.cpp
    A orc-rt/test/unit/InProcessControllerAccessTest.cpp
    A orc-rt/test/unit/Inputs/NativeDylibManagerTestLib.cpp
    A orc-rt/test/unit/IntervalMapTest.cpp
    A orc-rt/test/unit/IntervalSetTest.cpp
    A orc-rt/test/unit/LockedAccessTest.cpp
    A orc-rt/test/unit/LoggingTest.cpp
    A orc-rt/test/unit/MacroUtilsTest.cpp
    A orc-rt/test/unit/MathTest.cpp
    A orc-rt/test/unit/MemoryAccessSPSCITest.cpp
    A orc-rt/test/unit/MemoryFlagsTest.cpp
    A orc-rt/test/unit/NativeDylibManagerSPSCITest.cpp
    A orc-rt/test/unit/NativeDylibManagerTest.cpp
    A orc-rt/test/unit/QueueingRunnerTest.cpp
    A orc-rt/test/unit/RTTITest.cpp
    A orc-rt/test/unit/SPSAllocActionTest.cpp
    A orc-rt/test/unit/SPSMemoryFlagsTest.cpp
    A orc-rt/test/unit/SPSWrapperFunctionBufferTest.cpp
    A orc-rt/test/unit/SPSWrapperFunctionTest.cpp
    A orc-rt/test/unit/SessionTest.cpp
    A orc-rt/test/unit/SimpleNativeMemoryMapSPSCITest.cpp
    A orc-rt/test/unit/SimpleNativeMemoryMapTest.cpp
    A orc-rt/test/unit/SimplePackedSerializationTest.cpp
    A orc-rt/test/unit/SimplePackedSerializationTestUtils.h
    A orc-rt/test/unit/SimpleSymbolTableTest.cpp
    A orc-rt/test/unit/StandaloneMachOUnwindInfoRegistrarTest.cpp
    A orc-rt/test/unit/TaskGroupTest.cpp
    A orc-rt/test/unit/ThreadPoolRunnerTest.cpp
    A orc-rt/test/unit/WrapperFunctionBufferTest.cpp
    A orc-rt/test/unit/bind-test.cpp
    A orc-rt/test/unit/bit-test.cpp
    A orc-rt/test/unit/iterator_range-test.cpp
    M orc-rt/test/unit/lit.cfg.py
    A orc-rt/test/unit/move_only_function-test.cpp
    A orc-rt/test/unit/scope_exit-test.cpp
    A orc-rt/test/unit/span-test.cpp
    R orc-rt/unittests/AllocActionTest.cpp
    R orc-rt/unittests/AllocActionTestUtils.h
    R orc-rt/unittests/BitmaskEnumTest.cpp
    R orc-rt/unittests/BootstrapInfoTest.cpp
    R orc-rt/unittests/CMakeLists.txt
    R orc-rt/unittests/CallSPSCITest.cpp
    R orc-rt/unittests/CallableTraitsHelperTest.cpp
    R orc-rt/unittests/CommonTestUtils.h
    R orc-rt/unittests/DirectCaller.h
    R orc-rt/unittests/EndianTest.cpp
    R orc-rt/unittests/ErrorCAPITest.cpp
    R orc-rt/unittests/ErrorExceptionInteropTest.cpp
    R orc-rt/unittests/ErrorTest.cpp
    R orc-rt/unittests/ExecutorAddressTest.cpp
    R orc-rt/unittests/ExecutorProcessInfoTest.cpp
    R orc-rt/unittests/InProcessControllerAccessTest.cpp
    R orc-rt/unittests/Inputs/NativeDylibManagerTestLib.cpp
    R orc-rt/unittests/IntervalMapTest.cpp
    R orc-rt/unittests/IntervalSetTest.cpp
    R orc-rt/unittests/LockedAccessTest.cpp
    R orc-rt/unittests/LoggingTest.cpp
    R orc-rt/unittests/MacroUtilsTest.cpp
    R orc-rt/unittests/MathTest.cpp
    R orc-rt/unittests/MemoryAccessSPSCITest.cpp
    R orc-rt/unittests/MemoryFlagsTest.cpp
    R orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
    R orc-rt/unittests/NativeDylibManagerTest.cpp
    R orc-rt/unittests/QueueingRunnerTest.cpp
    R orc-rt/unittests/RTTITest.cpp
    R orc-rt/unittests/SPSAllocActionTest.cpp
    R orc-rt/unittests/SPSMemoryFlagsTest.cpp
    R orc-rt/unittests/SPSWrapperFunctionBufferTest.cpp
    R orc-rt/unittests/SPSWrapperFunctionTest.cpp
    R orc-rt/unittests/SessionTest.cpp
    R orc-rt/unittests/SimpleNativeMemoryMapSPSCITest.cpp
    R orc-rt/unittests/SimpleNativeMemoryMapTest.cpp
    R orc-rt/unittests/SimplePackedSerializationTest.cpp
    R orc-rt/unittests/SimplePackedSerializationTestUtils.h
    R orc-rt/unittests/SimpleSymbolTableTest.cpp
    R orc-rt/unittests/StandaloneMachOUnwindInfoRegistrarTest.cpp
    R orc-rt/unittests/TaskGroupTest.cpp
    R orc-rt/unittests/ThreadPoolRunnerTest.cpp
    R orc-rt/unittests/WrapperFunctionBufferTest.cpp
    R orc-rt/unittests/bind-test.cpp
    R orc-rt/unittests/bit-test.cpp
    R orc-rt/unittests/iterator_range-test.cpp
    R orc-rt/unittests/move_only_function-test.cpp
    R orc-rt/unittests/scope_exit-test.cpp
    R orc-rt/unittests/span-test.cpp

  Log Message:
  -----------
  [orc-rt] Move the unit tests into test/unit (#208431)

Move unit tests from orc-rt/unittests into orc-rt/test/unit, completing
the consolidation of the runtime's tests under orc-rt/test (alongside
test/regression and test/tools).


  Commit: 1008b485e4807476c831910cf404a0315f06c788
      https://github.com/llvm/llvm-project/commit/1008b485e4807476c831910cf404a0315f06c788
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/cmake/modules/LLVMConfig.cmake.in

  Log Message:
  -----------
  cmake: Remove cmake_crosscompiling check on LLVMSupport target export (#208420)

Revert exported target check added in
00b2f81418233397e601afaeea6d62c47a6c368a
to fix reported mingw cross compile regression. This is the quick fix
which restores the cmake warnings when building libc for amdgpu.


  Commit: 05c0a297bcad51642f55e4ba25f408128e88982f
      https://github.com/llvm/llvm-project/commit/05c0a297bcad51642f55e4ba25f408128e88982f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll

  Log Message:
  -----------
  [X86] subvectorwise-store-of-vector-splat.ll - regenerate test checks to reduce diff in #189971 (#208419)

Add AVX1ORAVX2 check prefix to distinguish from AVX512 codegen


  Commit: 7919d61966d84821d60edc8cf23ebdab8d3eb9d0
      https://github.com/llvm/llvm-project/commit/7919d61966d84821d60edc8cf23ebdab8d3eb9d0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/sat-add.ll

  Log Message:
  -----------
  [X86] sat-add.ll - regenerate test check to reduce diff in #189971 (#208418)


  Commit: 24a5231188bf92e2ce9fe38e29e4cb75bab51414
      https://github.com/llvm/llvm-project/commit/24a5231188bf92e2ce9fe38e29e4cb75bab51414
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M lld/ELF/InputFiles.cpp
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
    M lldb/unittests/Utility/ArchSpecTest.cpp
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
    M llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/CodeGen/AMDGPU/amdgpu-triple.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/loop-prefetch.ll
    A llvm/test/CodeGen/AMDGPU/march-amdgcn-legacy-arch-name.ll
    A llvm/test/CodeGen/AMDGPU/target-id-from-triple.ll
    A llvm/test/CodeGen/AMDGPU/validate-subtarget-subarch-empty-module.ll
    A llvm/test/CodeGen/AMDGPU/validate-subtarget-subarch.ll
    M llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll
    A llvm/test/Linker/Inputs/amdgpu-amdpal-no-subarch.ll
    A llvm/test/Linker/Inputs/amdgpu-no-subarch.ll
    A llvm/test/Linker/Inputs/amdgpu10-subarch.ll
    A llvm/test/Linker/Inputs/amdgpu9.00-subarch.ll
    A llvm/test/Linker/amdgpu-triple-os-mismatch.ll
    A llvm/test/Linker/amdgpu-triple-subarch.ll
    M llvm/test/MC/AMDGPU/amd-amdgpu-isa-malformed-target-id.s
    A llvm/test/MC/AMDGPU/amdgcn-target-directive-subarch-cpu-field.s
    M llvm/test/MC/AMDGPU/amdgcn-target-malformed-target-id.s
    M llvm/test/MC/AMDGPU/amdgcn_target_directive_from_eflags.s
    A llvm/test/MC/AMDGPU/arch-amdgcn-legacy-arch-name.s
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/Object/AMDGPU/objdump.s
    A llvm/test/tools/llvm-objdump/AMDGPU/arch-amdgcn-legacy-arch-name.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
    A llvm/test/tools/llvm-objdump/ELF/AMDGPU/subarch-triple.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp
    M llvm/utils/UpdateTestChecks/asm.py
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  AMDGPU: Introduce amdgpu triple arch (#206480)

Move towards using the triple for representing incompatible
ISA changes. Use the subarch field to represent the various
incompatible cases. Previously we pretended a single triple arch
was universally compatible, and only distinguished by function
level subtargets. Move towards using distinct triples to enable
more sophisticated toolchain handling in the future, like proper
runtime library linking.

Introduce a new subarch per unique ISA, but also introduce
"major subarches" which are compatible by a set of covered
minor ISA versions. These map to the existing generic targets.
There are a few placeholder subarch entries, which currently
have missing backing generic arches for codegen.

This should be the preferred triple arch name going forward,
but is treated as an alias of amdgcn. This does not yet change
clang to emit the new triples.

Part of #154925


  Commit: cfa5d6f59db9c891c1046edcbb8b5a273be0a59c
      https://github.com/llvm/llvm-project/commit/cfa5d6f59db9c891c1046edcbb8b5a273be0a59c
  Author: Narayan <nsreekumar6 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGen/X86/avx512fp16-abi.c
    M clang/test/CodeGen/X86/bfloat-half-abi.c
    M clang/test/CodeGen/X86/fp128-abi.c
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/include/llvm/ABI/Types.h
    M llvm/lib/ABI/CMakeLists.txt
    M llvm/lib/ABI/IRTypeMapper.cpp
    M llvm/lib/ABI/TargetInfo.cpp
    A llvm/lib/ABI/Targets/X86.cpp
    M llvm/lib/ABI/Types.cpp

  Log Message:
  -----------
  [LLVMABI] Implement the System V X86-64 ABI (#194718)

This PR implements the System V X86-64 ABI for the LLVM ABI Library
prototyped in https://github.com/llvm/llvm-project/pull/140112, and
wires it into clang's Codegen.

`X86_64TargetInfo` is a direct parallel to
`clang::CodeGen::X86_64ABIInfo`, but operates entirely on the
`llvm::abi` type system.
The AMD64 ABI classification spec, argument/return lowering , and the
supporting helpers are all reproduced against `llvm::abi::Type` and
FunctionInfo, keeping the ABI logic frontend-independent.

This, similar to the [BPF ABI implementaiton
](https://github.com/llvm/llvm-project/pull/194031/changes)is gated
under the `-fexperimental-abi-lowering` flag.


  Commit: d2395c4eea4ac363786c7568eabe2a958c7b7c9c
      https://github.com/llvm/llvm-project/commit/d2395c4eea4ac363786c7568eabe2a958c7b7c9c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3.cpp
    M clang/test/CXX/dcl/dcl.fct/p17.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/Parser/c2x-auto.c
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/class.cpp
    M clang/test/SemaCXX/static-data-member.cpp

  Log Message:
  -----------
  Revert "[clang] Reject 'auto' storage class with type specifier in C++" (#208436)

Reverts llvm/llvm-project#166004.

Breaks stage 2 build, see comments on PR.


  Commit: 099ffad0a794880b647bd82a28ca4f3f6627dcbd
      https://github.com/llvm/llvm-project/commit/099ffad0a794880b647bd82a28ca4f3f6627dcbd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    R llvm/test/CodeGen/X86/combine-pmadd.ll
    A llvm/test/CodeGen/X86/combine-pmaddubsw.ll
    A llvm/test/CodeGen/X86/combine-pmaddwd.ll

  Log Message:
  -----------
  [X86] combine-pmadd.ll - split into combine-pmaddwd.ll and combine-pmaddubsw.ll (#208430)

Allows better SSE2 test coverage for PMADDWD combines


  Commit: 092f4451cecaf52c14f1be6c8741882f0b3c9de6
      https://github.com/llvm/llvm-project/commit/092f4451cecaf52c14f1be6c8741882f0b3c9de6
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/Index/IndexingContext.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/test/AST/ast-dump-templates-pattern.cpp
    M clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/CodeGenCXX/default-arguments.cpp
    M clang/test/CodeGenCXX/explicit-instantiation.cpp
    R clang/test/Modules/GH208100.cpp
    M clang/test/SemaCXX/GH195416.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
    M clang/test/SemaCXX/member-class-11.cpp
    R clang/test/SemaTemplate/GH202358.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/friend-template.cpp
    M clang/test/SemaTemplate/instantiate-scope.cpp
    M clang/test/Templight/templight-default-func-arg.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  Revert "[clang] Reland: fix getTemplateInstantiationArgs (#208285)" (#208426)

It caused various breakages; see comments on the PR.

This reverts commit 031b773b01700acf82f5977a5aa6024621b8211c.


  Commit: 274a34579ffd8bdbe57a58768ec199a6a23f0489
      https://github.com/llvm/llvm-project/commit/274a34579ffd8bdbe57a58768ec199a6a23f0489
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    A clang/test/Driver/Inputs/clang-offload-bundler-magic-collision.co
    A clang/test/Driver/Inputs/clang-offload-bundler-magic-collision.py
    A clang/test/Driver/clang-offload-bundler-magic-collision.c
    M llvm/lib/Object/OffloadBundle.cpp
    A llvm/test/tools/llvm-objdump/Offloading/fatbin-magic-collision.test

  Log Message:
  -----------
  [OffloadBundler] Bound compressed bundles by header size, not magic scan (#206745)

When multiple offload bundles are concatenated, the unbundler
(clang-offload-bundler) and llvm-objdump --offloading located the end of
a compressed bundle, and the start of the next one, by scanning for the
next "CCOB" magic string starting right after the current header.

A zstd/zlib-compressed payload can legally contain those four bytes, so
the scan could stop in the middle of the compressed data and truncate
the bundle, corrupting the embedded code object. In practice this
produced a "decomposition" failure for hipBLASLt bf16 GEMMs on gfx942.

Use the authoritative total-size field recorded in the compressed bundle
header (format V2/V3) to compute the exact bundle boundary, and only
scan for the next magic past that point. Legacy bundles without a
recorded size (V1) keep the previous magic-scan fallback.

A skippable-frame fixture that embeds "CCOB" inside the compressed
payload is added to exercise the boundary logic from both
clang-offload-bundler and llvm-objdump --offloading.


  Commit: c138fc9acfdd34ad674c772dc2433402dc3823fe
      https://github.com/llvm/llvm-project/commit/c138fc9acfdd34ad674c772dc2433402dc3823fe
  Author: Kunal Pathak <kupathak at meta.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/br-cond-merging-loaded-operands.ll
    M llvm/test/CodeGen/AArch64/ragreedy-csr.ll

  Log Message:
  -----------
  [AArch64] Don't merge branch conditions that both compare memory loads (#206504)

`shouldKeepJumpConditionsTogether` decides whether to fold two integer
branch conditions into a CMP/CCMP chain by pricing the RHS
dependency-chain latency. That ignores register pressure: when both
conditions compare loaded values, merging pins all the loaded operands
live at once to feed the chain instead of consuming them at each split
compare-and-branch. On a load-store target that extends their live
ranges across the region the branch dominates.

Decline to merge when both sides are integer compares of loaded values,
mirroring the machine CCMP pass (which won't speculate loads).

Reference:
https://github.com/llvm/llvm-project/pull/201486#issuecomment-4812845942


  Commit: 73077ed0279054407517083bfe580b7cb40e864d
      https://github.com/llvm/llvm-project/commit/73077ed0279054407517083bfe580b7cb40e864d
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/test/API/commands/platform/connect/TestPlatformConnect.py

  Log Message:
  -----------
  [lldb][Windows] mark TestPlatformProcessConnect as XFAIL (#208445)

https://github.com/llvm/llvm-project/pull/202688 incorrectly marked
`TestPlatformProcessConnect.py` as PASS on Windows with `lldb-server`.
They do not work and are failing just like with the in process plugin.

Re-mark both of them as XFAIL.

rdar://181797532


  Commit: c0ddc3c5ce0eab49e1935a413570afd3bc4adfac
      https://github.com/llvm/llvm-project/commit/c0ddc3c5ce0eab49e1935a413570afd3bc4adfac
  Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Demangle/Demangle.h
    M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
    M llvm/lib/Demangle/MicrosoftDemangle.cpp
    M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
    M llvm/unittests/Demangle/CMakeLists.txt
    A llvm/unittests/Demangle/MicrosoftDemangleTest.cpp

  Log Message:
  -----------
  [MSVC][Demangling] Make Microsoft demangling more configurable

The goal for us is to be able to demangle Microsoft mangled function
names toward something that reads more like AST function names and
Itanium demangled names. All defaults remain the same and no existing
code or tool user should be impacted by the change.

* Make the OF_NoTagSpecifier flag accessible from `microsoftDemangle`
* Add a flag to skip the "void" keyword when there is no parameter
* Add a flag to skip the type descriptions
* Respect MSDF_NoCallingConvention with function pointers
* Add unit tests.

Assisted-by: Claude
--
CPP-7550


  Commit: 061cd69c466ef49dfaafc81d79875cf2f7afa9fa
      https://github.com/llvm/llvm-project/commit/061cd69c466ef49dfaafc81d79875cf2f7afa9fa
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    A clang/test/Driver/aarch64-nvidia-rigel.c
    A clang/test/Driver/print-enabled-extensions/aarch64-rigel.c
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/test/CodeGen/AArch64/cpus.ll
    M llvm/unittests/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add initial support for -mcpu=rigel. (#208017)

This patch adds support for the NVIDIA Rigel core.

This does not add any special tuning decisions, and those may come
later.


  Commit: 31ef7389463b1121ceecced9d8cf68e0b515bc41
      https://github.com/llvm/llvm-project/commit/31ef7389463b1121ceecced9d8cf68e0b515bc41
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/MC/AMDGPU/gfx1250_asm_smem.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_smem_err.s

  Log Message:
  -----------
  [AMDGPU][GFX1250] Add cpol support for some prefetch instructions (#208368)

Fixes ROCM-27516.


  Commit: 700442d9e4312fad3e42860bb19692fff7c94cd6
      https://github.com/llvm/llvm-project/commit/700442d9e4312fad3e42860bb19692fff7c94cd6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
    M llvm/test/Transforms/SLPVectorizer/X86/commutative-copyable-external-phi-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-operand-non-scheduled-parent-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll

  Log Message:
  -----------
  [SLP]Add AShr as a main opcode for copyables

Added AShr opcode in analysis and minbitwidth analysis

Reviewers: RKSimon, hiraditya, bababuck

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/207841


  Commit: 48aade5e5208414693b695b1dfdb6c95ae56ccf6
      https://github.com/llvm/llvm-project/commit/48aade5e5208414693b695b1dfdb6c95ae56ccf6
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/include/__vector/layout.h

  Log Message:
  -----------
  [libc++][NFC] Fix comment about size-based vector (#208463)

The closing #endif comment was using _LIBCPP_ABI_SIZE_BASED_VECTOR,
which was the name of the macro in previous iterations of the size-based
vector patch. We ended up landing on _LIBCPP_ABI_VECTOR_LAYOUT_SIZE_BASED
instead.


  Commit: c09d9a4d03a9211844e146b03ec41f957c74c4b7
      https://github.com/llvm/llvm-project/commit/c09d9a4d03a9211844e146b03ec41f957c74c4b7
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  [LSR] VScale doesn't occupy a register if it's a legal offset (#206754)

When we have an AddRec where the step value is n*vscale this value
doesn't occupy a register if the target has an add instruction where
this value is a legal offset.


  Commit: 883ef1ba1442618938961e8f8e3a6a74f3b7320a
      https://github.com/llvm/llvm-project/commit/883ef1ba1442618938961e8f8e3a6a74f3b7320a
  Author: eleviant <eleviant at accesssoftek.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Options/Options.td
    A clang/test/CodeGen/null-checks.c

  Log Message:
  -----------
  [clang] Don't omit null pointer checks with -fms-compatibility (#204658)

MSVC preserves null check after dereference, e.g

```
struct Obj { int value, extra; };

int null_check_is_kept(Obj* p) {
    int v = p->value;
    if (p == nullptr)
        return -1;
    return v + p->extra;
}
```
Also MSVC keeps standard library calls (e.g memcpy), where target is
null pointer.


  Commit: 3c849236aef32acf5b974cf0f69005aad8b196c5
      https://github.com/llvm/llvm-project/commit/3c849236aef32acf5b974cf0f69005aad8b196c5
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Symbol/TypeList.h
    M lldb/source/Symbol/TypeList.cpp

  Log Message:
  -----------
  [NFC][lldb] Simplify Typelist::GetTypeAtIndex (#208411)

Access the index value at constant time and use for range for the
`ForEach` functions.


  Commit: 178e9ce6ffe031466e0593aede0d5cdf8dd59ec5
      https://github.com/llvm/llvm-project/commit/178e9ce6ffe031466e0593aede0d5cdf8dd59ec5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-pmaddwd.ll

  Log Message:
  -----------
  [X86] combine-pmaddwd.ll - add test showing poor codegen when trying to add together VPMADDWD pairs (#208457)

Shows current limitations of combineAddOfPMADDWD - only handles 128-bit
vectors, and the shuffle pattern it generates can be really poor on SSE
targets


  Commit: f63a08bcbf763e3ca33afd3ad9850be9b0eca8d3
      https://github.com/llvm/llvm-project/commit/f63a08bcbf763e3ca33afd3ad9850be9b0eca8d3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-reduce-add-subvector.ll
    M llvm/test/CodeGen/X86/vector-reduce-add.ll

  Log Message:
  -----------
  [X86] SimplifyDemandedVectorEltsForTargetNode - add general X86ISD::PSADBW handling (#208309)

Extend the existing SimplifyMultipleUseDemandedVectorElts handling to
generic element folding as well.

lowerShuffleAsZeroOrAnyExtend requires an equivalent VZEXT_MOVL fold to
#207031 to stop us prematurely lowering to ZERO_EXTEND_VECTOR_INREG if
we only need the lowest element from a SCALAR_TO_VECTOR/LOAD


  Commit: 06c0d1b70402c1c55cdb1975b2a43148dd4fe646
      https://github.com/llvm/llvm-project/commit/06c0d1b70402c1c55cdb1975b2a43148dd4fe646
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir

  Log Message:
  -----------
  [flang][acc] Remove dangling operands in OpenACCUtilsTiling  (#208261)

When TILE has more dimensions than the loop's collapse count,
uncollapseLoops() synthesizes an inner loop via `createInnerLoop()`,
which
strips gang attributes from it but forgot to clear the gang operand
values. This left the loop with a non-empty gang operand list but no
device-type attribute, causing LoopOp::getGangValue() to dereference a
null attribute and crash with an assertion failure when the loop also
had
`GANG(STATIC:N) (or NUM/DIM)`.

Fix: also clear the gang operands when stripping gang attributes, so the
loop ends up fully gang-free.


  Commit: 8a8178e2b89fb649c6f1a11ed0d827f3b5ddfc25
      https://github.com/llvm/llvm-project/commit/8a8178e2b89fb649c6f1a11ed0d827f3b5ddfc25
  Author: disservin <disservin.social at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/Parse/ParseStmt.cpp

  Log Message:
  -----------
  [clang][NFC] Fix enum/non-enum conditional warning in ParseStmt Followup (#207503)

Missed two other cases, so a follow up to
https://github.com/llvm/llvm-project/pull/207085


  Commit: d68ad9ab736ec65a8addc67655a6b290a7f98307
      https://github.com/llvm/llvm-project/commit/d68ad9ab736ec65a8addc67655a6b290a7f98307
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/PointerIntPair.h
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
    M llvm/include/llvm/CGData/CodeGenData.h
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
    M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ProfileSummary.h
    M llvm/include/llvm/Passes/OptimizationLevel.h
    M llvm/include/llvm/Support/Alignment.h
    M llvm/lib/CGData/CodeGenData.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/LiveIntervalCalc.cpp
    M llvm/lib/CodeGen/LiveRangeCalc.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
    M llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/Object/MachOUniversalWriter.cpp
    M llvm/lib/Passes/OptimizationLevel.cpp
    M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  [LLVM][NFC] Remove some global constructors (#208407)

Largely by converting relevant functions or variables to constexpr,
changing the type, converting to static locals, or by outright removal.

PunnedPointer assignment can never be constexpr, because std::memcpy is
not constexpr and type punning is not permitted in a constant-evaluated
context.


  Commit: 5f896d9aefff377596bea73fd46aa435860c4ff8
      https://github.com/llvm/llvm-project/commit/5f896d9aefff377596bea73fd46aa435860c4ff8
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    R flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
    R flang/test/Lower/OpenMP/collapse-loop-transform.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse-60.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do22.f90
    R flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp51.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Implement collapse for imperfectly nested loops" (#208456)

Reverts llvm/llvm-project#202435


  Commit: 365790a7985e9566927c74ca580b7bddb852182a
      https://github.com/llvm/llvm-project/commit/365790a7985e9566927c74ca580b7bddb852182a
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    A llvm/test/CodeGen/SPIRV/linkage/link-attribute-numeric-name.ll
    A llvm/test/CodeGen/SPIRV/linkage/nameless-kernel-error.ll

  Log Message:
  -----------
  [SPIR-V] Fix truncated LinkageAttributes OpDecorate for numeric-named functions (#207332)

LLVM IR allows functions with numeric names (e.g. `@0`). There function
return empty strings on `getName()`, so emitting a `LinkageAttributes`
decoration for it is meaningless.

Fix: skip emitting the `LinkageAttributes` decoration for non-entry
functions with an empty name. Also add a `report_fatal_error` for the
case where an entry point function has no name, since that is invalid
input.


  Commit: 2f79efa26e25e31f99baf4c860d8d58e833cb161
      https://github.com/llvm/llvm-project/commit/2f79efa26e25e31f99baf4c860d8d58e833cb161
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_image_int64/image_int64.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll

  Log Message:
  -----------
  [SPIR-V] Tie Int64ImageEXT to R64i/R64ui image format, not sampled type (#203005)

The capability is required by the R64i/R64ui Image Format per
SPV_EXT_shader_image_int64 spec, not by a 64-bit integer sampled type

Related SPIRV-LLVM-Translator PR that fixes this issue there:
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3773


  Commit: f98afd6d04d7091673b745e1c4b47643812075be
      https://github.com/llvm/llvm-project/commit/f98afd6d04d7091673b745e1c4b47643812075be
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A clang/docs/HIPSupport.md
    R clang/docs/HIPSupport.rst
    A clang/docs/HLSL/HLSLDocs.md
    R clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/InternalsManual.rst
    A clang/docs/LTOVisibility.md
    R clang/docs/LTOVisibility.rst
    A clang/docs/MSVCCompatibility.md
    R clang/docs/MSVCCompatibility.rst
    A clang/docs/MisExpect.md
    R clang/docs/MisExpect.rst
    A clang/docs/Modules.md
    R clang/docs/Modules.rst
    A clang/docs/OpenCLSupport.md
    R clang/docs/OpenCLSupport.rst
    A clang/docs/OpenMPSupport.md
    R clang/docs/OpenMPSupport.rst
    A clang/docs/OverflowBehaviorTypes.md
    R clang/docs/OverflowBehaviorTypes.rst
    A clang/docs/PointerAuthentication.md
    R clang/docs/PointerAuthentication.rst
    A clang/docs/SYCLSupport.md
    R clang/docs/SYCLSupport.rst
    A clang/docs/SafeStack.md
    R clang/docs/SafeStack.rst
    A clang/docs/SanitizerSpecialCaseList.md
    R clang/docs/SanitizerSpecialCaseList.rst
    A clang/docs/SanitizerStats.md
    R clang/docs/SanitizerStats.rst
    A clang/docs/ShadowCallStack.md
    R clang/docs/ShadowCallStack.rst
    A clang/docs/SourceBasedCodeCoverage.md
    R clang/docs/SourceBasedCodeCoverage.rst
    A clang/docs/StandardCPlusPlusModules.md
    R clang/docs/StandardCPlusPlusModules.rst
    A clang/docs/StructureProtection.md
    R clang/docs/StructureProtection.rst
    A clang/docs/ThinLTO.md
    R clang/docs/ThinLTO.rst
    A clang/docs/UsersManual.md
    R clang/docs/UsersManual.rst
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/test/CodeGen/ubsan-type-ignorelist-category.test

  Log Message:
  -----------
  [clang][docs] Rename selected Clang docs {.rst,.md} (#208307)

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 is a rename-only commit that will temporarily break the docs build,
but it will fix after the follow-up PR lands.


  Commit: 2e81babdf17d29d2b7e833137f92a598f76a8cbb
      https://github.com/llvm/llvm-project/commit/2e81babdf17d29d2b7e833137f92a598f76a8cbb
  Author: Stefan Mada <smada at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td

  Log Message:
  -----------
  [NVVM][MLIR] Fixed valgrind leak in MMAOp (#208063)

MmaOp::getIntrinsicID triggers an uninitialized-read warning under
Valgrind. `intOverflowBehavior` is optional; in the generated selector
its `has_value()` guarded access can be speculatively loaded before the
guard, reading the empty std::optional's uninitialized payload.

The read is benign: the payload is correctly stack-allocated but
uninitialized while empty, and the loaded value is discarded by the
guard, so this is not incorrect / undefined behavior.

This MR keeps the attribute as optional, but the lowering now resolves
it to a concrete value (wrapped when omitted) before calling
getIntrinsicID, so the selector always reads an initialized value.
`wrapped` matches the PTX spec and the existing lowering, where an
omitted attribute already selected the non-satfinite intrinsic;
intrinsic selection and printed IR are unchanged. Documentation updated
to correct the stale default.


  Commit: aaad8b002c0ba5f13d5930eae45cbaa1a00e946c
      https://github.com/llvm/llvm-project/commit/aaad8b002c0ba5f13d5930eae45cbaa1a00e946c
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/HIPSupport.md
    M clang/docs/HLSL/HLSLDocs.md
    M clang/docs/LTOVisibility.md
    M clang/docs/MSVCCompatibility.md
    M clang/docs/MisExpect.md
    M clang/docs/Modules.md
    M clang/docs/OpenCLSupport.md
    M clang/docs/OpenMPSupport.md
    M clang/docs/OverflowBehaviorTypes.md
    M clang/docs/PointerAuthentication.md
    M clang/docs/SYCLSupport.md
    M clang/docs/SafeStack.md
    M clang/docs/SanitizerSpecialCaseList.md
    M clang/docs/SanitizerStats.md
    M clang/docs/ShadowCallStack.md
    M clang/docs/SourceBasedCodeCoverage.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/docs/StructureProtection.md
    M clang/docs/ThinLTO.md
    M clang/docs/UsersManual.md

  Log Message:
  -----------
  [clang][docs] Rewrite 20 selected Clang docs from reST to Markdown (#208310)

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 change was produced with rst2myst plus LLM cleanups.

I manually paged through all of the linked HTML documents looking for
visual artifacts, and I fixed everything I found.

To reviewers: Please spot check the generated HTML below, and spot check
the diff to look for artifacts. This change is too large to review
everything line-by-line, but if you check 10 pages of documentation, and
only find one migration bug, I hope you think that this is good enough
to land. We have existing reST bugs that this fixes (mostly italic
blocks that should be code font spans).

-----

Links to the updated HTML for validation:

| Source file | Before HTML | After HTML |
|---|---|---|
| `clang/docs/UsersManual.md` |
[before](https://clang.llvm.org/docs/UsersManual.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/UsersManual.html)
|
| `clang/docs/SanitizerStats.md` |
[before](https://clang.llvm.org/docs/SanitizerStats.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SanitizerStats.html)
|
| `clang/docs/SanitizerSpecialCaseList.md` |
[before](https://clang.llvm.org/docs/SanitizerSpecialCaseList.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SanitizerSpecialCaseList.html)
|
| `clang/docs/OverflowBehaviorTypes.md` |
[before](https://clang.llvm.org/docs/OverflowBehaviorTypes.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/OverflowBehaviorTypes.html)
|
| `clang/docs/LTOVisibility.md` |
[before](https://clang.llvm.org/docs/LTOVisibility.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/LTOVisibility.html)
|
| `clang/docs/PointerAuthentication.md` |
[before](https://clang.llvm.org/docs/PointerAuthentication.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/PointerAuthentication.html)
|
| `clang/docs/SafeStack.md` |
[before](https://clang.llvm.org/docs/SafeStack.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SafeStack.html)
|
| `clang/docs/ShadowCallStack.md` |
[before](https://clang.llvm.org/docs/ShadowCallStack.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/ShadowCallStack.html)
|
| `clang/docs/StructureProtection.md` |
[before](https://clang.llvm.org/docs/StructureProtection.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/StructureProtection.html)
|
| `clang/docs/SourceBasedCodeCoverage.md` |
[before](https://clang.llvm.org/docs/SourceBasedCodeCoverage.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SourceBasedCodeCoverage.html)
|
| `clang/docs/StandardCPlusPlusModules.md` |
[before](https://clang.llvm.org/docs/StandardCPlusPlusModules.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/StandardCPlusPlusModules.html)
|
| `clang/docs/Modules.md` |
[before](https://clang.llvm.org/docs/Modules.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/Modules.html)
|
| `clang/docs/MSVCCompatibility.md` |
[before](https://clang.llvm.org/docs/MSVCCompatibility.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/MSVCCompatibility.html)
|
| `clang/docs/MisExpect.md` |
[before](https://clang.llvm.org/docs/MisExpect.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/MisExpect.html)
|
| `clang/docs/OpenCLSupport.md` |
[before](https://clang.llvm.org/docs/OpenCLSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/OpenCLSupport.html)
|
| `clang/docs/OpenMPSupport.md` |
[before](https://clang.llvm.org/docs/OpenMPSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/OpenMPSupport.html)
|
| `clang/docs/SYCLSupport.md` |
[before](https://clang.llvm.org/docs/SYCLSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/SYCLSupport.html)
|
| `clang/docs/HIPSupport.md` |
[before](https://clang.llvm.org/docs/HIPSupport.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/HIPSupport.html)
|
| `clang/docs/HLSL/HLSLDocs.md` |
[before](https://clang.llvm.org/docs/HLSL/HLSLDocs.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/HLSL/HLSLDocs.html)
|
| `clang/docs/ThinLTO.md` |
[before](https://clang.llvm.org/docs/ThinLTO.html) |
[after](https://llvmdocs.staging.reidkleckner.dev/clang/docs/ThinLTO.html)
|

---------

Co-authored-by: Chris B <chris.bieneman at me.com>


  Commit: 5ffb1046335f4c1ecc9f688f1337b31c260f37c8
      https://github.com/llvm/llvm-project/commit/5ffb1046335f4c1ecc9f688f1337b31c260f37c8
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/stdint.h
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-riscv.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/stdint.c

  Log Message:
  -----------
  [Clang] Define `__WCHAR_MIN__` and related macros (#208135)

Define `__WCHAR_MIN__`, `__WINT_MIN__`, and `__SIG_ATOMIC_MIN__` for
compatibility with GCC.

This also fixes targets such as `riscv*-netbsd` that define `WCHAR_MIN`
from `__WCHAR_MIN__`.

Reference:
https://gcc.gnu.org/onlinedocs/gcc-16.1.0/cpp/Common-Predefined-Macros.html
Closes #199678


  Commit: 9722a2ceddb6e4fc098f89c9c55c5ad7afd1a64c
      https://github.com/llvm/llvm-project/commit/9722a2ceddb6e4fc098f89c9c55c5ad7afd1a64c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/IR/StorageUniquerSupport.h

  Log Message:
  -----------
  [mlir][IR] Avoid Clang 21 crash during SFINAE overload resolution (#208359)

Clang 21.1.8 segfaults during SFINAE overload resolution for
T::getChecked
when matching non-pointer arguments against an unconstrained
MLIRContext*
parameter.

This patch avoids the crash by adding an explicit SFINAE constraint to
the second overload of StorageUserBase::getChecked, ensuring that it is
only considered when the second argument is convertible to MLIRContext*.

Assisted-by: Antigravity


  Commit: d12356dbdcb217b93de0df61a3f76888d7c37420
      https://github.com/llvm/llvm-project/commit/d12356dbdcb217b93de0df61a3f76888d7c37420
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/atomic.ll
    M llvm/test/Assembler/invalid-atomicrmw-add-must-be-integer-type.ll
    M llvm/test/Assembler/invalid-atomicrmw-elementwise.ll
    M llvm/test/Assembler/invalid-atomicrmw-fadd-must-be-fp-type.ll
    M llvm/test/Assembler/invalid-atomicrmw-fsub-must-be-fp-type.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    A llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-vector.ll
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [IR] Allow integer vector atomicrmw (#190716)

Previously, we allowed floating-point vector atomicrmw, but not
integer-vector atomicrmw. Relax this restriction. By default, integer
vector atomicrmw will cmpxchg expand.

Assisted by AI


  Commit: ee5f1f82a8ddb1a30719880f79d5d37a10a163c6
      https://github.com/llvm/llvm-project/commit/ee5f1f82a8ddb1a30719880f79d5d37a10a163c6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV][P-ext] Rewrite intrinsic widening code to be more agnostic to number of operands. NFC (#208335)

Copy the operands to a vector and use a loop to widen them.


  Commit: d776ee4d4caedbcc1a02a2a002566f896278b0c2
      https://github.com/llvm/llvm-project/commit/d776ee4d4caedbcc1a02a2a002566f896278b0c2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt

  Log Message:
  -----------
  offload: Use amdgpu triple name in plugin build (#208455)

The PGO tests expect the produced filename to match the triple.
The tool pulls the triple name from the binary's triple name, and the
RUN lines expect it to match the triple the build was configured with.


  Commit: 7a48c2cb8e505c53e50a74642b0b129303163c6f
      https://github.com/llvm/llvm-project/commit/7a48c2cb8e505c53e50a74642b0b129303163c6f
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/test/CIR/CodeGen/cross-reference-globals.c
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    A clang/test/CIR/CodeGen/pointer-to-empty-data-member.cpp

  Log Message:
  -----------
  [CIR] Represent 'empty' fields in structs/unions (#207033)

Since we do field based GEPs, it isn't really possible to do a
get-address-of a field without representing all the fields in a CIR
struct. This patch makes sure we do that, so we can do the proper GEPs.

This patch also as a drive-by fixes the case where we were searching for
the 'path' inside of an empty base, which we don't represent (and
probably should not need to?).

This patch ALSO adds some NYI diagnostics for cases where we try to get
the address of a `no-unique-address` field, which we are not currently
representing. In the future, we are going to have to start representing
no-unique-address fields inside of a struct as well (plus figure out how
to lower it properly in a way that gets the offsets right), but it isn't
clear this is immediately necessary (as you'd have to take an address of
one to notice?).


  Commit: a6982e5fc9c92bda7bc80a4aaed8cb9cc2789e20
      https://github.com/llvm/llvm-project/commit/a6982e5fc9c92bda7bc80a4aaed8cb9cc2789e20
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll

  Log Message:
  -----------
  [X86] Add v16i16 shuffle tests for "shift + blend" pack patterns (#208481)

Shuffles that could be expanded by shifting one input and blending with
the second inplace input


  Commit: 3b2fe66a4eb5fc569cc9a9822440ebe3a1a36f34
      https://github.com/llvm/llvm-project/commit/3b2fe66a4eb5fc569cc9a9822440ebe3a1a36f34
  Author: Ferran Toda <ferran.todacasaban at bsc.es>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/test/OpenMP/unimplemented_clause_messages.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Parser/OpenMP/apply01.f90
    A flang/test/Parser/OpenMP/apply02.f90
    A flang/test/Semantics/OpenMP/apply01.f90
    A flang/test/Semantics/OpenMP/apply02.f90
    M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/TableGen/DirectiveEmitter.h
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [Flang][OpenMP] add Apply clause for OpenMP Flang (#204225)

This patch adds a parser and basic checks for the Apply clause from
OpenMP 6.0 in Flang.
It is missing semantic checks for nesting loop transformations that are
being worked on.


  Commit: 34bb48e9875a03e418941c17e281076b70b60836
      https://github.com/llvm/llvm-project/commit/34bb48e9875a03e418941c17e281076b70b60836
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang][docs] Fix coro_await_elidable bullet list rendering (NFC) (#208333)

Add the blank line required before the reStructuredText bullet list and
indent the continuation line for the second item. Without this, the
generated AttributeReference page does not render the
coro_await_elidable safe-elide-context bullets correctly.


  Commit: d82a0d29e1bb85304e54767763ef5c036cd5bc5b
      https://github.com/llvm/llvm-project/commit/d82a0d29e1bb85304e54767763ef5c036cd5bc5b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp

  Log Message:
  -----------
  [libc++] Add missing <string> include (#208281)

Fixes #182390


  Commit: 1df703a6f4cd535e5af49ad15afcc043c68b81ca
      https://github.com/llvm/llvm-project/commit/1df703a6f4cd535e5af49ad15afcc043c68b81ca
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp

  Log Message:
  -----------
  BPF: Remove unnecessary isReg check for copy source (#208486)


  Commit: b45d68108a585507789aa26b9e2808d68386dfca
      https://github.com/llvm/llvm-project/commit/b45d68108a585507789aa26b9e2808d68386dfca
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++] Update the label for FreeBSD in CI to version 15.1 (#205417)

The FreeBSD libc++ CI has been bumped to the new FreeBSD release. The
remaining task to do is to bump the description in CI yaml file.


  Commit: 361a3e692d8c52665e9ab54fae70935d2d1cc458
      https://github.com/llvm/llvm-project/commit/361a3e692d8c52665e9ab54fae70935d2d1cc458
  Author: Kacper Doga <kacper.doga at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/load-insert-store.ll

  Log Message:
  -----------
  [VectorCombine] Fix bailing out of the foldSingleElementStore with a freeze-pending index (#207702)

`foldSingleElementStore` calls `canScalarizeAccess` to decide whether a
single-element store can be scalarized. When the insert index is not a
constant, is provably in-bounds and may be poison, `canScalarizeAccess`
returns `SafeWithFreeze` and stashes a `ToFreeze` value that must later
be consumed by `freeze()` or cleared by `discard()`.

The bail-out for memory being modified between the load and store was
folded into same condition as the scalarizability check:

```cpp
auto ScalarizableIdx = canScalarizeAccess(...);
if (ScalarizableIdx.isUnsafe() || isMemModifiedBetween(...))
  return false;
```

When the index took the `SafeWithFreeze` path and memory was modified
between the load and the store, `isMemModifiedBetween` returns true and
hit `return false` while ScalarizableIdx still holds a live `ToFreeze`.

Its destructor then raises:
> Assertion !ToFreeze && "freeze() not called with ToFreeze being set"

### Fix
Move the `isMemModifiedBetween` bail-out above the `canScalarizeAccess`
call so the freeze-pending result is never constructed on the path where
we give up.


  Commit: dd824164c8e7c86cebfea1cf1bf2d92acfd4a9d9
      https://github.com/llvm/llvm-project/commit/dd824164c8e7c86cebfea1cf1bf2d92acfd4a9d9
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M offload/liboffload/API/Memory.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp

  Log Message:
  -----------
  [offload] Add olMemPrefetch to liboffload (#206752)

Adds olMemPrefetch and the OL_MEM_MIGRATION_FLAG_* enum, wired through a
new dataPrefetchImpl on the plugin interface with Level Zero and CUDA
implementations. Backends without prefetch support inherit the default
no-op.

Prefetch is a hint that migrates a USM allocation between the host and a
device so subsequent accesses on the target side are faster.

Assisted-by: Claude


  Commit: d4dd90ae4d7a6b559ebc2ef5b75d2eacafadb48f
      https://github.com/llvm/llvm-project/commit/d4dd90ae4d7a6b559ebc2ef5b75d2eacafadb48f
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    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/TosaTypesBase.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/ops.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 constant block scaled support (#205506)

This commit adds support for block scaled tensors.

In particular, the block scaled type has been extended with the
`DenseElementTypeInterface` to allow block scaled data values to be
specified in dense element attributes.

The block scaled type has also been extended to allow optional scale
values to be specified by the type. For now, scale values are not
expected to be propagated beyond their use in the attribute input of a
constant operation. In the future, we may want to propagate these values
to allow certain optimizations.

The `tosa.const` operation has also been updated in the validation pass.


  Commit: 494697f79f5f7f6b40b78c8f49a98588ee87f1bd
      https://github.com/llvm/llvm-project/commit/494697f79f5f7f6b40b78c8f49a98588ee87f1bd
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/ptrauth-dynamic-cast-exact.cpp

  Log Message:
  -----------
  [CodeGen] Disable exact dynamic_cast for duplicable vtables (#205929)

Add `TargetInfo::getVTableUniqueness()`, which returns a
`VTableUniquenessKind` that describes whether a target's ABI guarantees
a class's vtable has a single address program-wide. Apple Mach-O targets
return `UniqueIfStrongLinkage`, since a vague-linkage (weak) vtable may
be autohidden and duplicated per image, while a vtable with strong
linkage (e.g., a class with a key function) still has a unique address.
Every other target keeps the default, `AlwaysUnique`.

Rename the `CodeGenOpts` flag backing `-f[no-]assume-unique-vtables`
from `AssumeUniqueVTables` to `DisableExactDynamicCast`, defaulting to
false so the optimization stays on unless `-fno-assume-unique-vtables`
is given. Use it together with `getVTableUniqueness()` in
`ItaniumCXXABI::hasUniqueVTablePointer()` so a weak vtable on a target
that may duplicate vtables no longer qualifies for the exact
`dynamic_cast` optimization; a vtable with a key function, or any vtable
on a target with `AlwaysUnique` semantics, is unaffected.

Fixes https://github.com/llvm/llvm-project/issues/120129

rdar://129380573


  Commit: ef84e19e3fd3f13ffbc87544054e6605226dfc79
      https://github.com/llvm/llvm-project/commit/ef84e19e3fd3f13ffbc87544054e6605226dfc79
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/memprof/memprof_mapping.h
    M compiler-rt/lib/memprof/tests/CMakeLists.txt
    A compiler-rt/lib/memprof/tests/shadow.cpp

  Log Message:
  -----------
  [compiler-rt][memprof] fix off-by-one in shadow access-count accumula… (#208376)

…tion.

GetShadowCount and GetShadowCountHistogram used an inclusive loop up to
MEM_TO_SHADOW(p + size), summing an extra adjacent cell when p + size is
granule-aligned. Use p + size - 1 to stay within the allocation.


  Commit: adcd0b736e3b949c71b67c658f4c22242a4f21d1
      https://github.com/llvm/llvm-project/commit/adcd0b736e3b949c71b67c658f4c22242a4f21d1
  Author: Yair Ben Avraham <yairba at protonmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon-2velem.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c

  Log Message:
  -----------
  [CIR][AArch64] Lower NEON vfms builtins (#207022)

Lower additional AArch64 NEON fused multiply-subtract builtins in CIR.

This covers the ACLE wrappers from section 2.1.1.2.5:
  - vfms_f32, vfms_f64, vfmsq_f32, vfmsq_f64
  - vfms_lane_f32, vfms_lane_f64, vfmsq_lane_f32, vfmsq_lane_f64
  - vfms_laneq_f32, vfms_laneq_f64, vfmsq_laneq_f32, vfmsq_laneq_f64
  - vfmss_lane_f32, vfmss_laneq_f32
  - vfmsd_lane_f64, vfmsd_laneq_f64

The lowering reuses the existing FMA paths by negating the multiply
operand before emitting llvm.fma. Vector lane forms splat the selected
lane, while scalar lane/laneq forms extract the selected element before
the FMA.

Move the existing ACLE coverage into
clang/test/CodeGen/AArch64/neon/fused-multiply.c and add direct LLVM,
CIR-to-LLVM, and CIR checks. The replaced old-style checks are removed
from the legacy test files.

Part of #185382


  Commit: 07d5e0d550985db270e65131add93f8c5fda54dd
      https://github.com/llvm/llvm-project/commit/07d5e0d550985db270e65131add93f8c5fda54dd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy

  Log Message:
  -----------
  [lldb][Windows][CI] split steps (#206946)

Split the lldb green-dragon lldb testing steps into 2:
1. Build and run the tests without `lldb-server.exe`
2. Run the tests with `lldb-server.exe`

This gives better separation in the UI and if the first step fails, the
second step will still attempt to run.


  Commit: 2ff8ed77e69c82ab7883369c1477bd3157c1d13c
      https://github.com/llvm/llvm-project/commit/2ff8ed77e69c82ab7883369c1477bd3157c1d13c
  Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
    M llvm/test/Transforms/VectorCombine/AArch64/combine-shuffle-ext.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
    A llvm/test/Transforms/VectorCombine/X86/shuffletoidentity-bitcast.ll

  Log Message:
  -----------
  [VectorCombine] Handle widening/narrowing bitcasts in foldShuffleToIdentity (#187870)

Track lane indices through vector bitcasts that change element count in
foldShuffleToIdentity. Widening bitcasts (e.g. <2 x i32> -> <4 x i16>)
compress R consecutive destination lanes into one source lane, while
narrowing bitcasts (e.g. <4 x i16> -> <2 x i32>) expand each destination
lane into R source lanes.

Also fix identity check, splat mask, and destination type construction
to use Item.size() instead of Ty->getNumElements(), since the Item
vector changes size when passing through element-count-changing
bitcasts.

Fixes #96884


  Commit: 88d548a2b9f53a16e14ad02825df033561b4dde4
      https://github.com/llvm/llvm-project/commit/88d548a2b9f53a16e14ad02825df033561b4dde4
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [RISCV][P-ext][NFC] Add tests for packed reverse intrinsics (#208484)


  Commit: e2a8a741f75304951ea27adeb1da3db8272998fe
      https://github.com/llvm/llvm-project/commit/e2a8a741f75304951ea27adeb1da3db8272998fe
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/ctor_iter_iter.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/ctor_iter_iter_alloc.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_iter_iter.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Rename forward_list constructor tests (#208301)

The forward_list tests historically used "range" to mean an iterator
pair, but we use `iter_iter` pretty consistently elsewhere in the test
suite. Using `range` also makes it confusing with the actual tests for
`_range` operations, like `append_range` or `assign_range`.


  Commit: c7cecd8351ca1d50fca0f8526c7701e8de3fe23a
      https://github.com/llvm/llvm-project/commit/c7cecd8351ca1d50fca0f8526c7701e8de3fe23a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp

  Log Message:
  -----------
  [libc++] Fix assign_range test for forward_list (#208283)

That test was checking prepend_range instead of assign_range due to a
copy-paste error.

Fixes #74536


  Commit: 3a8d8ac23213aa702f0fd08f9ec60e4d068b58e3
      https://github.com/llvm/llvm-project/commit/3a8d8ac23213aa702f0fd08f9ec60e4d068b58e3
  Author: Alex Crichton <alex at alexcrichton.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lld/test/wasm/cooperative-threading.s
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [WebAssembly] Don't use passive segments for bss in coop threads (#208284)

This commit is an update to `wasm-ld`'s behavior with bss data segments
with `--cooperative-threading`. Previously bss segments were forced to
become passive data segments meaning that a `start` function was emitted
with a `memory.fill` that set the required region of memory to 0. This
isn't required for coop threads though because the module is only
instantiated once and the default pattern for memory is 0, so only
special treatment of TLS segments are required.


  Commit: 5a2064d4e363533957c953e4e60470811842ffd8
      https://github.com/llvm/llvm-project/commit/5a2064d4e363533957c953e4e60470811842ffd8
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/PointerIntPair.h
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
    M llvm/include/llvm/CGData/CodeGenData.h
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
    M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ProfileSummary.h
    M llvm/include/llvm/Passes/OptimizationLevel.h
    M llvm/include/llvm/Support/Alignment.h
    M llvm/lib/CGData/CodeGenData.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    M llvm/lib/CodeGen/LiveIntervalCalc.cpp
    M llvm/lib/CodeGen/LiveRangeCalc.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
    M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
    M llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/Object/MachOUniversalWriter.cpp
    M llvm/lib/Passes/OptimizationLevel.cpp
    M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/unittests/CodeGen/InstrRefLDVTest.cpp

  Log Message:
  -----------
  Revert "[LLVM][NFC] Remove some global constructors" (#208494)

Breaks some buildbots with gcc. Looks like constexpr member definitions
need an extern for old gcc otherwise they get local linkage...

Reverts llvm/llvm-project#208407


  Commit: 2a9f19fb5240aa85c4225a5b5737c0eafe94b7ca
      https://github.com/llvm/llvm-project/commit/2a9f19fb5240aa85c4225a5b5737c0eafe94b7ca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/test/std/atomics/atomics.types.generic/standard_layout.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/dtor.pass.cpp

  Log Message:
  -----------
  [libc++] Add tests for LWG3949 and mark it as done (#208272)

Closes #105301


  Commit: 4e3a68f7b8e4bdc1f16dcf3d322dc4f6750510db
      https://github.com/llvm/llvm-project/commit/4e3a68f7b8e4bdc1f16dcf3d322dc4f6750510db
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv

  Log Message:
  -----------
  [libc++] Mark LWG4276 as complete (#208273)

We already harden std::array<T, 0>::front() and back(), and we have
tests for it.

Closes #171330


  Commit: 09197218036b30cd36a490191e84f0aabd523a8d
      https://github.com/llvm/llvm-project/commit/09197218036b30cd36a490191e84f0aabd523a8d
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/test/Fir/MIF/coshape.mlir
    M flang/test/Fir/MIF/this_image.mlir
    M flang/test/Lower/MIF/coshape.f90
    M flang/test/Lower/MIF/this_image.f90

  Log Message:
  -----------
  [flang][MIF] Fix COSHAPE and THIS_IMAGE(coarray) type mismatch for non-i64 kinds (#208429)

Both COSHAPE and THIS_IMAGE(coarray [,team]) return integer arrays whose
element type is determined by the Fortran KIND argument (default: i32).
The lowering code was ignoring resultType in both cases and hardcoding
i64, which caused downstream type mismatches:

- COSHAPE: SimplifyHLFIRIntrinsics assertion in PRODUCT(COSHAPE(y)) when
the product input type (i64) did not match the declared result type
(i32).
- THIS_IMAGE(coarray): MLIR verifier error on arith.cmpi with mismatched
operand types (i64 vs i32) in comparisons like THIS_IMAGE(a) /=
[5,0,-7].

Fix: derive eleTy from resultType in both genCoshape and genThisImage
and propagate it into the mif.* op's result type. In MIFOpConversion,
extract a shared convertI64SeqToEleTy helper that post-converts the i64
scratch buffer written by the PRIF runtime into the
declared-element-type buffer when the two types differ. Both
MIFCoshapeOpConversion and MIFThisImageOpConversion call this helper.

Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 06499c927e5012166f4553c58f8af593521ea14d
      https://github.com/llvm/llvm-project/commit/06499c927e5012166f4553c58f8af593521ea14d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-root-multiuse-same-opcode.ll

  Log Message:
  -----------
  [SLP][NFC] Add regressed vectorization of reduced values, NFC

Reported in https://github.com/llvm/llvm-project/pull/185320#issuecomment-4925949343

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208504


  Commit: c526d452fc27463ef4b856ba73b529bd47fffa50
      https://github.com/llvm/llvm-project/commit/c526d452fc27463ef4b856ba73b529bd47fffa50
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/algorithms/modifying/remove.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/replace.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/transform.binary.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/transform.unary.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/ends_with.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/find_last.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
    M libcxx/test/benchmarks/algorithms/nonmodifying/starts_with.bench.cpp
    M libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
    M libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp

  Log Message:
  -----------
  [libc++] Remove benchmark::DoNotOptimize from custom predicates in benchmarks (#208412)

The point of the custom predicates is to defeat any detection of special
predicates within the library. There isn't much point in adding
`benchmark::DoNotOptimize` on top of that. It can actually hurt, since
it may hide performance changes due to how much/which information we
provide to the compiler.


  Commit: 8cc0cd82e1c6c0e6a44cedea74ee623abfd960a3
      https://github.com/llvm/llvm-project/commit/8cc0cd82e1c6c0e6a44cedea74ee623abfd960a3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/unordered-loads-operands.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle-with-root.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_clear_undefs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    M llvm/test/Transforms/SLPVectorizer/jumbled_store_crash.ll
    M llvm/test/Transforms/SLPVectorizer/semanticly-same.ll

  Log Message:
  -----------
  [SLP] Support FAdd/FSub as interchangeable instructions

fadd(x, c) and fsub(x, c) are interchangeable via fadd(x, -c), so treat
them like the existing Add/Sub/Mul/Shl/AShr/And/Or/Xor interchange in
BinOpSameOpcodeHelper. This lets a mixed fadd/fsub bundle vectorize as
a single op instead of needing an alt-shuffle/split node.

Restrict the interchange to a constant RHS. A constant LHS (e.g.
"0.0 - x") cannot be moved to the other opcode without also swapping
the variable operand, which would misalign it against lanes that keep
their native opcode and produce a node too expensive to vectorize.

Reviewers: hiraditya, bababuck, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/208002


  Commit: 5e58aac18704e2c99ec978ebbf2c28ff784ab207
      https://github.com/llvm/llvm-project/commit/5e58aac18704e2c99ec978ebbf2c28ff784ab207
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libc/cmake/modules/prepare_libc_gpu_build.cmake

  Log Message:
  -----------
  [libc] Remove CUDA Toolkit dependency for NVPTX build (#208497)

This was problematic because these CMake headers were never intended to
be used from a GPU target. We had to hack around this to suppress
threads, but all this is used for is getting the default CUDA path, so
just do this directly.


  Commit: 8a5e2c2d05cb73696ec3a943eafab00812eaa84c
      https://github.com/llvm/llvm-project/commit/8a5e2c2d05cb73696ec3a943eafab00812eaa84c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp

  Log Message:
  -----------
  [VPlan] Fold Plan variable in single user in verifyLastActivLane (NFC) (#208505)

In release builds, the variable is now unused. Sink and inline into
single user to silence warning.


  Commit: 00cd65638a7cf6538c50ee7d58b58411942e2e11
      https://github.com/llvm/llvm-project/commit/00cd65638a7cf6538c50ee7d58b58411942e2e11
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Analyses/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/SourceTransformation/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/X86/MCTargetDesc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port commits (#208516)

01846f68e5ae
39dcb0ff91b3
5275ff2efaa9
6560fef7724b
cc048e80b670
eba2fde4d540


  Commit: cfd73adfe43a6a65fef085859e2632714139e869
      https://github.com/llvm/llvm-project/commit/cfd73adfe43a6a65fef085859e2632714139e869
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll

  Log Message:
  -----------
  [X86] lowerShuffleAsDecomposedShuffleMerge - prefer BLEND(X,SHUFFLE(Y)) over UNPCKL(SHUFFLE(X), SHUFFLE(Y)) (#208503)

If blends are cheap and at least one input is a noop - perform a
permute+blend


  Commit: 615644763ffcfc939bda59e9f3e71d6e7d9fd264
      https://github.com/llvm/llvm-project/commit/615644763ffcfc939bda59e9f3e71d6e7d9fd264
  Author: Andrew Haberlandt <ahaberlandt at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/utils/lit/lit/util.py

  Log Message:
  -----------
  lit: Handle permission errors in runCommandCached (#208508)

The downstream swift CI is getting PermissionError instead of
FileNotFoundError for a [couple of
tests](https://ci.swift.org/job/pr-apple-llvm-project-llvm-linux/1819/consoleFull#-556494529d6fdb6cb-f376-4f2e-8bce-d31c7304698b).
I have no idea what is wrong with our CI, but we should be handling
those errors the same way anyway.

Also fix documentation typo.


  Commit: a627e7e9c3cc9adab27b1e6ebfd70f40dccacf5c
      https://github.com/llvm/llvm-project/commit/a627e7e9c3cc9adab27b1e6ebfd70f40dccacf5c
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/LifetimeSafety/capture-by.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/test/SemaCXX/attr-lifetime-capture-by.cpp

  Log Message:
  -----------
  [clang][Sema] Deprecate `global`/`unknown` in `lifetime_capture_by` (#196635)

Earlier, special `lifetime_capture_by` spellings `global` and `unknown`
could conflict with actual parameter names, causing [some
code](https://godbolt.org/z/YWhW1dnoe) to fail to compile.

Because of that, we deprecate those parameters (they can probably be
removed in the near future)

#192102

Assisted-by: GPT-5.4 for cleanup


  Commit: 0e8ac33c259a24ff456b8a592f140a350a8363d0
      https://github.com/llvm/llvm-project/commit/0e8ac33c259a24ff456b8a592f140a350a8363d0
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/ldexp-arm64ec.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll
    M llvm/test/CodeGen/AArch64/llvm.frexp.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/frexp.ll
    M llvm/test/CodeGen/X86/ldexp.ll
    M llvm/test/CodeGen/X86/llvm.frexp.ll

  Log Message:
  -----------
  [X86][AArch64][SPIRV] add more tests for `ldexp`/`frexp` (#208462)

In preparation of moving the implementation from `LegalizeDAG` into
`ExpandIRInsts`.


  Commit: a646503972d92ac73586bb0ecfd44cb045196f30
      https://github.com/llvm/llvm-project/commit/a646503972d92ac73586bb0ecfd44cb045196f30
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstraintSystem.cpp
    M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll

  Log Message:
  -----------
  [ConstraintElim] Skip overflowing row combinations in FM elimination. (#208404)

The constraint system uses 64-bit coefficients and previously aborted
the entire elimination as soon as a single row combination overflowed.

This is unnecessary pessimistic and can lead to lost optimizations if
the system contains constraints with large coefficients which do not
contribute to a particular solution (e.g. signed wrap checks).

Instead, skip only the overflowing row combination and continue.

Compile-time impact is in the noise:

https://llvm-compile-time-tracker.com/compare.php?from=4f41b6be1a89796d6ce89188a4fd4e0cde9d06b7&to=1dedecc1cefea9c94631cdb272717d898ac6696b&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/208404


  Commit: 44cb124f6052b789832a742f39478d88dc94662a
      https://github.com/llvm/llvm-project/commit/44cb124f6052b789832a742f39478d88dc94662a
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/test/CodeGenCXX/construction-vtable-unnamed-addr.cpp
    M clang/test/CodeGenCXX/key-function-vtable.cpp
    M clang/test/CodeGenCXX/mangle-subst-std.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/type_visibility.cpp
    M clang/test/CodeGenCXX/virt-template-vtable.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-available-externally.cpp
    M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
    M clang/test/CodeGenCXX/vtable-key-function.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp

  Log Message:
  -----------
  [CodeGen] Mark weak vtables unnamed_addr on duplicable-vtable targets (#205930)

When a target's `getVTableUniqueness()` is `UniqueIfStrongLinkage`, as
on Apple Mach-O, the platform may emit a class's weak vtable as a
separate copy in more than one linkage unit. A symbol that can
legitimately exist at several addresses has no meaningful address, so
such a vtable can be marked `unnamed_addr`.

On Mach-O, a weak vtable that is `unnamed_addr` lowers to a
`.weak_def_can_be_hidden` definition, which the static linker coalesces
and then drops from the dynamic export trie. Keeping these vtables out
of the exported symbol set cuts the work dyld has to do at load time.

#200108 dropped `unnamed_addr` from vtables because the exact
`dynamic_cast` optimization compares an object's vtable pointer against
a known vtable address and depends on that address being unique. Adding
`unnamed_addr` is safe here because that optimization is never performed
for these weak vtables, so nothing relies on them having a unique
address.

rdar://179929460


  Commit: 8c009c1e231a7dd1e9866458ef22be67a1f9332d
      https://github.com/llvm/llvm-project/commit/8c009c1e231a7dd1e9866458ef22be67a1f9332d
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/CodeGen/SystemZ/zos-abi.c

  Log Message:
  -----------
  [SystemZ][Clang] Add support for the z/OS va_list type (#202397)

On z/OS, the user has a choice between two different va_list formats.  
1. (default) uses the __builtin_zos_va_list typedef for va_list, being
added in this change
2. (-D_VARARG_EXT_) uses __builtin_va_list typedef for va_list.

The __builtin_zos_va_list type is `char * [2]`. 

This PR adds this type along with the __builtin_zos_va_start(),
__builtin_zos_va_end() & __builtin_zos_va_copy() functions to go with
it.


  Commit: e64ddf51e9d5a6b589f59adee05a1f9f4cc95ee1
      https://github.com/llvm/llvm-project/commit/e64ddf51e9d5a6b589f59adee05a1f9f4cc95ee1
  Author: Philipp Rados <philipp.rados at openchip.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/stack-offset-large.ll

  Log Message:
  -----------
  [RISCV] Follow-up fix for UB in #208223 (#208507)

Fix the detected UB in the `stack_larger_than_signed_64bit_warning`
test-case. Now just checks that the warning is correctly not emitted.


  Commit: f49e384ec7f06d7ee77685a8a5504c86f56f43fd
      https://github.com/llvm/llvm-project/commit/f49e384ec7f06d7ee77685a8a5504c86f56f43fd
  Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Disable test execution, allow compilation (#208482)


  Commit: cc5f79b3e15268e6c560840bd15c4bfdaa70642d
      https://github.com/llvm/llvm-project/commit/cc5f79b3e15268e6c560840bd15c4bfdaa70642d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll

  Log Message:
  -----------
  Reapply "[VPlan] Refine hasEarlyExit check." (#207838) (#208518)

This reverts commit b69ec1023d6604106cb64f9a6a6b04e9c3e5d533.

Recommit with small fix for potential nullptr dereference.

Original message:
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: 1bd63928e4fcf575d93aaef220c19ca41965e015
      https://github.com/llvm/llvm-project/commit/1bd63928e4fcf575d93aaef220c19ca41965e015
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
    M flang/test/Fir/OpenACC/offload-livein-value-canonicalization.fir
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
    M mlir/lib/Dialect/OpenACC/Transforms/OffloadLiveInValueCanonicalization.cpp

  Log Message:
  -----------
  [flang][acc] Add `OutlineIdentityOperandOpInterface` to hlfir/fir declare (#208091)

Inlining can leave a `fir.declare`'s dummy_scope operand (`!fir.dscope`)
defined outside an OpenACC compute region while the declare itself gets
rematerialized inside, since `fir.dummy_scope` wasn't registered as an
OutlineRematerializationOpInterface candidate.

This dangling, unmappable live-in is illegal for parallelization. 

Fix: Added `OutlineIdentityOperandOpInterface`, implemented by
`fir.declare/hlfir.declare`, so `OffloadLiveInValueCanonicalization`
drops their dummy_scope operand (an identity token that must never be
duplicated) instead of cloning it when sinking/rematerializing them into
offload regions.


  Commit: 8e0712496c891b8532157156ecacce3e5af89e26
      https://github.com/llvm/llvm-project/commit/8e0712496c891b8532157156ecacce3e5af89e26
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [InstCombine] Use constant 64-bit indices for CreateExtractElement (NFC) (#208306)

The canonical form preferred by instCombine is to use 64-bit values for
the index when it is a constant for ExtractElement.


  Commit: 4aba9d237a1ad07751fff354a56f4f2cf9dfecfe
      https://github.com/llvm/llvm-project/commit/4aba9d237a1ad07751fff354a56f4f2cf9dfecfe
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tosa] Fold tiled input into binary elementwise operations (#203941)

Canonicalizes explicit broadcasting into implicit broadcasting by
folding the tile input into the binary element-wise operation.


  Commit: 5114f5e4269bd7b189b1500889cd88d0d1eff033
      https://github.com/llvm/llvm-project/commit/5114f5e4269bd7b189b1500889cd88d0d1eff033
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/CodeGenCXX/defaulted-function-fp-features.cpp

  Log Message:
  -----------
  [Clang][Sema] Ensure explicitly defaulted functions respect FP pragmas from their declaration site (#207429)

Currently, when an explicitly defaulted function is synthesized (e.g.,
at its first use), it erroneously adopts the floating-point (FP) pragma
state of the synthesis site rather than its declaration site. This leads
to mismatched or incorrect FP features being applied to the generated
body, completely ignoring `#pragma STDC FENV_ACCESS` pragmas that were
active when the function was explicitly defaulted.
This change should fix this issue by capturing and restoring the FP
features at the appropriate times.

Fixes #207266 

I also added the following fixes to support the above:
- AST Importer Fix: Updated ASTImporter::VisitFunctionDecl to correctly
import FPFeatures and Lookups for defaulted/deleted functions, whereas
before it was silently dropping them.
- AST Version Bump: Bumped VERSION_MAJOR to 39 in ASTBitCodes.h to
reflect the new FunctionDecl binary layout changes in the AST
serialization.


  Commit: 64a9e0c2a5301797ca4cc89b9a332f01e34404fe
      https://github.com/llvm/llvm-project/commit/64a9e0c2a5301797ca4cc89b9a332f01e34404fe
  Author: David Green <david.green at arm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/select-arith-extended-reg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-atomic-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-atomicrmw.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-bit.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast-bigendian.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-br.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-brcond-of-binop.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-bswap.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-cbz.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-cmpxchg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-concat-vectors.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-const-pool.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-const-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-extload.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-extract-vector-elt-with-extend.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-extract.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-index-load.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-frint-nofp16.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-gv-cmodel-large.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-gv-cmodel-tiny.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-imm.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-extract.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-int-ptr-casts.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-aarch64-hint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-crypto-aesmc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt-constrain.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ld2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ld4.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ldaxr-intrin.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ldxr-intrin.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-load-store-vector-of-ptr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-modf.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vcvtfxu2fp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ptr-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-reduce-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext-of-load.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-rev.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-sadde.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-saddo.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-sbfx.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-scalar-merge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-sextload.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-shufflevec-undef-mask-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ssube.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ssubo.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-st2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-static.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-stlxr-intrin.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-store-truncating-float.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-stx.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-tbnz-from-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-trn.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-truncstore-atomic.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-uadde.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-uaddo.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-ubfx.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-unmerge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-usube.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-usubo.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-uzp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-vector-icmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-with-no-legality-check.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-zext-as-copy.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-zextload.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-zip.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update scalar types in selection tests. NFC (#208534)


  Commit: 16038020c99a9d7058c665ff867b8930dfd5a38e
      https://github.com/llvm/llvm-project/commit/16038020c99a9d7058c665ff867b8930dfd5a38e
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.h

  Log Message:
  -----------
  [SSAF] Replace std::set with SetVector for deterministic order of contributor Decls (#208346)

The container `std::set<const NamedDecl *>` created a non-deterministic
traversal order for a contributor's `Decls`, making the resulting
representative `Decls[0]` non-deterministic as well.

Also fix typos in assertion messages.

Follow-up to #204482.


  Commit: 72cb2762b2144eec53bfb4a0e7755d5b94ba6841
      https://github.com/llvm/llvm-project/commit/72cb2762b2144eec53bfb4a0e7755d5b94ba6841
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Silence warning for unused variable, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/208536


  Commit: bba373c7a20c280673035a7ae3c01937ca49ee3b
      https://github.com/llvm/llvm-project/commit/bba373c7a20c280673035a7ae3c01937ca49ee3b
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/lib/Lower/CallInterface.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-libdevice.cuf
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90

  Log Message:
  -----------
  [flang][Lower] Track whether a call to a function is to an intrinsic (#208000)

Add an attribute which indicates that a call is to an intrinsic
function. Intrinsic here means that the function declaration was found
in a module found in the intrinsic path.

This allows us to, when optimizing, make sure that we correctly identify
calls to intrinsic functions whose behaviours we know, and not
user-defined functions whose names happen to match.


  Commit: 6b7b8d38d47f091d953080a354692cf4f70bfd17
      https://github.com/llvm/llvm-project/commit/6b7b8d38d47f091d953080a354692cf4f70bfd17
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h

  Log Message:
  -----------
  [SampleProfile] Replace std::set with SmallVector in SortedCallTargetSet (NFC) (#208509)

This patch replaces std::set with SmallVector and llvm::sort in
SortedCallTargetSet and sortCallTargets.

Since the keys in CallTargetMap are already guaranteed to be unique,
using std::set for sorting allocates unnecessary tree nodes on the
heap.

This patch also removes unnecessary const from return-by-value types
to enable move semantics.

Assisted-by: Antigravity


  Commit: 5815dfe402a8a6b1e39edb8524fbe4d0eb885feb
      https://github.com/llvm/llvm-project/commit/5815dfe402a8a6b1e39edb8524fbe4d0eb885feb
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/float-to-arbitrary-fp.ll
    M llvm/test/CodeGen/X86/llvm.frexp.ll

  Log Message:
  -----------
  [X86] promote f16 `frexp` (#208530)

follow-up to https://github.com/llvm/llvm-project/pull/208462

Using the libcall reduces code size, gives identical output for the full
f16 range, and is apparently quite a bit faster

```
direct f16: 2.067486000 s for 1000 full-range iterations
via f32:    0.714443000 s for 1000 full-range iterations
```


  Commit: ed6097402fcfdbd3965471de70304de90f72cea9
      https://github.com/llvm/llvm-project/commit/ed6097402fcfdbd3965471de70304de90f72cea9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A llvm/test/Analysis/ScalarEvolution/minmax-decomposition-guards.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-minmax-trip-count.ll
    R llvm/test/Transforms/LoopVectorize/early-exit-umin-trip-count.ll

  Log Message:
  -----------
  [SCEV] Add more tests for reasoning about min/max expressions (NFC) (#208535)


  Commit: 3e4f56bdecac68443e37df22965ce47d6b0bd113
      https://github.com/llvm/llvm-project/commit/3e4f56bdecac68443e37df22965ce47d6b0bd113
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h

  Log Message:
  -----------
  [VPlan] Introduce VPlan-based hasTailFolded helper. (NFC) (#208329)

After having dedicated support for modeling the header mask of a region
created for tail-folding, add a new helper to query if a plan has it's
tail folded, i.e. it has a header mask (materialized or not).

Similarly to https://github.com/llvm/llvm-project/pull/207784, it also
adds a wrapper to LoopVectorizationPlanner that asserts that cost model
and VPlan decision agree. The wrapper should be removed after no
divergence are found.

PR: https://github.com/llvm/llvm-project/pull/208329


  Commit: 5a1b669c0ec2d7dd81751932469ac442e3dfc8d5
      https://github.com/llvm/llvm-project/commit/5a1b669c0ec2d7dd81751932469ac442e3dfc8d5
  Author: Krisitan Erik Olsen <kristian.erik at outlook.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Parse/ParseDecl.cpp
    A clang/test/Parser/cxx-missing-semi-crash.cpp

  Log Message:
  -----------
  [clang] Fix crash in DiagnoseMissingSemiAfterTagDefinition for annot_template_id (#208119)

DiagnoseMissingSemiAfterTagDefinition checks whether the token after a
tag definition could be a scope specifier before calling
TryAnnotateCXXScopeToken. It accepted annot_template_id unconditionally,
but TryAnnotateCXXScopeToken asserts that MightBeCXXScopeToken() holds,
which only accepts annot_template_id when followed by ::.

When the token is annot_template_id not followed by :: (e.g. union { }
::foo<int>; where ::foo<int> is annotated as a template-id after a
missing semicolon), the check passes but MightBeCXXScopeToken() returns
false, firing the assertion.

This patch adds the same NextToken().is(tok::coloncolon) guard that
MightBeCXXScopeToken uses for annot_template_id.

Fixes #207992

---------

Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>


  Commit: fedcedef0665f3be419baa7c198123fd65b72538
      https://github.com/llvm/llvm-project/commit/fedcedef0665f3be419baa7c198123fd65b72538
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Fix incorrect fixed vector lowering for VECTOR_DEINTERLEAVE (#207254)

Partially address #207136

Previously this part of the logic simply converts each operand into
scalable vector and pass on. This will run into problem when the
scalable vector container is larger than the actual fixed vector.
This patch fixes this issue by storing individual fixed vector operands
directly onto the stack, before loading them back with segmented load
just like its scalable vector counterpart


  Commit: 1b5d76004bbdcadd3371fea901f36427d3f5303a
      https://github.com/llvm/llvm-project/commit/1b5d76004bbdcadd3371fea901f36427d3f5303a
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/attr-cleanup-duplicate.c
    A clang/test/Sema/attr-cleanup-duplicate.c

  Log Message:
  -----------
  [Clang] Fix crash involving `__attribute__((cleanup))` attributes and improve handling of multiple `cleanup` attributes (#207785)

Clang would previously crash on this code:
```c
#define C(x) __attribute__((cleanup(x)))
void foo(double *x) {}
void bar() { C(foo) C(foo) baz8; }
```
Here, we were trying to query properties of `VD->getType()`, which would
crash because type of the variable declaration is null here (because the
user didn’t write a type); avoid this by bailing out early if the
declaration is invalid.

Additionally, this patch fixes a GCC compatibility issue: in code such
as
```c
#define C(x) __attribute__((cleanup(x)))
void f1(double *x);
void f2(double *x);
void bar() { C(f1) C(f2) double x; }
```
Clang would only use the first cleanup attribute, whereas GCC only uses
the last one; I’ve changed our behaviour to match GCC’s and added a
diagnostic that informs the user that only the last cleanup attribute is
actually used.

Fixes #191829.


  Commit: 766161cd2fbe851bf1a67abe469269057aa854de
      https://github.com/llvm/llvm-project/commit/766161cd2fbe851bf1a67abe469269057aa854de
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tsd_shared.h

  Log Message:
  -----------
  [scudo] Small refactor of getTSDXXX functions. (#208127)

Small modification in getTSDAndLock() to have a single shared TSD avoid
the tryLock call. Also, remove some unnecessary comments.

Add a DCHECK in getTSDSlow and only check for == 1 since a 0 number of
shared TSDs is not supported.


  Commit: 720066abc2ee68efff28cc35c7e6ae40d3a9833f
      https://github.com/llvm/llvm-project/commit/720066abc2ee68efff28cc35c7e6ae40d3a9833f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    A llvm/test/CodeGen/BPF/mov32-64-subreg-source.mir

  Log Message:
  -----------
  BPF: Fix misfolding subregisters (#208244)

This would end up introducing a copy between registers
with mismatched sizes previously. Defends against verifier
failures in a future change.

The actual transform here should be deleted. Optimizations should
not be trying to introduce SUBREG_TO_REG.


  Commit: 8bbb5a875cbc0a5bf6c43b60a7de680ea20715da
      https://github.com/llvm/llvm-project/commit/8bbb5a875cbc0a5bf6c43b60a7de680ea20715da
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M .github/workflows/release-llvm-testing-tools.yml

  Log Message:
  -----------
  [Github][TestingTools] Build on multiple platforms

Given we are shipping binaries, the produced packages are arch-specific
so we need to build/cross-compile on all the architectures that we care
about. Start by getting things working on latest MacOS and Windows.

Reviewers: Michael137, ldionne

Pull Request: https://github.com/llvm/llvm-project/pull/190884


  Commit: c050a2c677879ab2b53dba4424a1ec814e89314a
      https://github.com/llvm/llvm-project/commit/c050a2c677879ab2b53dba4424a1ec814e89314a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy

  Log Message:
  -----------
  Revert "[lldb][Windows][CI] split steps (#206946)" (#208519)

This reverts commit 07d5e0d550985db270e65131add93f8c5fda54dd.


  Commit: a1609094a014e13db33796a45e46c96e94561e78
      https://github.com/llvm/llvm-project/commit/a1609094a014e13db33796a45e46c96e94561e78
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCGOFFAttributes.h
    M llvm/include/llvm/MC/MCSectionGOFF.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/GOFFObjectWriter.cpp
    M llvm/lib/MC/MCAsmInfoGOFF.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    A llvm/test/CodeGen/SystemZ/zos-align.ll
    M llvm/test/CodeGen/SystemZ/zos-section-1.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Honor alignment of global data (#208095)

The alignment of sections is set after the section are created. Thus,
the ED structure set at object construction time is updated with the
current section alignment. This only applies to ED type section. As
result, the alignment of global data is correctly set.

Assisted by: IBM Bob


  Commit: 0f9f5a2aba97070971f2d58f2e307f621edf9ada
      https://github.com/llvm/llvm-project/commit/0f9f5a2aba97070971f2d58f2e307f621edf9ada
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/LanguageExtensions.md
    A clang/include/clang/Basic/BuiltinsZOS.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/zos_wrappers/stdlib.h
    A clang/test/CodeGen/SystemZ/builtins-zos-cs.c
    A clang/test/Headers/Inputs/zos/usr/include/stdlib.h
    A clang/test/Headers/zos-cs-wrapper.c

  Log Message:
  -----------
  [z/OS][Clang]  Add compare and swap builtin functions (#202362)

Implements the following compare and swap builtins:
```
int __cs(unsigned int *, unsigned int *, unsigned int), 4 byte compare & swap
int __cs1(void* OP1, void* OP2, void* OP3), 4 byte compare & swap
int __csg(void* OP1, void* OP2, void* OP3), 8 byte compare & swap
int __cds1(void* OP1, void* OP2, void* OP3), 8 byte compare & swap
int __cdsg(void* OP1, void* OP2, void* OP3), 16 byte compare & swap
```
The implementation utilizes the llvm cmpxchg intrinsic to generate the
CS instructions, then it generates a store instruction to store OP2 into
OP1, and finally invert the success flag of cmpxchg by an XOR
instruction with 1 and return the flag.


  Commit: 509a0b82038d04656eb4c0f172bb8199352b90e9
      https://github.com/llvm/llvm-project/commit/509a0b82038d04656eb4c0f172bb8199352b90e9
  Author: Lucas Chollet <lucas.chollet at free.fr>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/CodeGen/RISCV/zero-call-used-regs.ll

  Log Message:
  -----------
  [RISCV] Support Zdinx registers in -fzero-call-used-regs (#206323)

First, this patch makes the backend consider GPRF16 and GPRF32 registers
as GPR. These registers are aliases of normal GPR but for use with the
Zdinx extension (floating points instructions on GPR).

Second, it teaches the general -fzero-call-used-regs logic to handle
used registers that span over multiple physical registers. One example
of this is `GPRPair` in the RISC-V backend.


  Commit: 68c0f578f9a2118cb6069c10cc96649d5e27e9b6
      https://github.com/llvm/llvm-project/commit/68c0f578f9a2118cb6069c10cc96649d5e27e9b6
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes 0f9f5a2 (#208562)

This fixes 0f9f5a2aba97070971f2d58f2e307f621edf9ada.

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=0f9f5a2aba97070971f2d58f2e307f621edf9ada

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: 351b9682b43376a9beb149e45807366029ced1b1
      https://github.com/llvm/llvm-project/commit/351b9682b43376a9beb149e45807366029ced1b1
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    A llvm/test/CodeGen/AMDGPU/strict_fptrunc_bf16.ll

  Log Message:
  -----------
  [AMDGPU] Fix crash on strict fptrunc to bf16 (#208037)


  Commit: 5363d61acd674b85b22668a7b5545ff638af7ef3
      https://github.com/llvm/llvm-project/commit/5363d61acd674b85b22668a7b5545ff638af7ef3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfWriter.h
    M llvm/lib/ProfileData/SampleProfWriter.cpp

  Log Message:
  -----------
  [SampleProfile] Introduce stabilizeTable (NFC) (#208501)

This patch adds stabilizeTable to replace duplicate code involving
O(N) heap allocations and hash lookups.  The new helper function
returns pointers to key-value pairs sorted by key.

Since the keys in MapVector are already guaranteed to be unique,
using std::set for sorting allocates unnecessary tree nodes on the
heap.

Assisted-by: Antigravity


  Commit: 45f9445107e6acabc93fc47d4222ecfcdb50620d
      https://github.com/llvm/llvm-project/commit/45f9445107e6acabc93fc47d4222ecfcdb50620d
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/bindings/interface/SBValueDocstrings.i

  Log Message:
  -----------
  Fix typo (#208560)


  Commit: 4ccb701ff80976cd59cfe55198df533f9913f66a
      https://github.com/llvm/llvm-project/commit/4ccb701ff80976cd59cfe55198df533f9913f66a
  Author: Victor Perez <victor.pc.upm at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp

  Log Message:
  -----------
  [mlir][RemoveDeadValues] Use `SymbolUserMap` to avoid quadratic symbol lookups (#205448)

`processFuncOp` previously called `funcOp.getSymbolUses(module)` for
every function, which walks the entire module to find that function's
callers. Since `processFuncOp` runs once per function, the pass was
effectively *O(numFunctions * numOperations)*.

Build a `SymbolUserMap` once up front in `runOnOperation()` and look up
each function's callers in *O(1)*, making the collection phase linear in
the size of the module.

This is behavior-preserving: the map is read only during the
mutation-free collection walk, and all IR erasure happens afterwards in
`cleanUpDeadVals`, so the map cannot become stale while it is in use.

---

**Note:** AI used to generate part of the code in this PR.

Signed-off-by: Victor Perez Carrasco <victor.pc.upm at gmail.com>
Co-authored-by: Víctor Pérez Carrasco <victorperez at fb.com>
Co-authored-by: mlevesquedion <mlevesquedion at meta.com>


  Commit: ed907dee954660295f0b7de0587cfbedc708aa7e
      https://github.com/llvm/llvm-project/commit/ed907dee954660295f0b7de0587cfbedc708aa7e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/unchecked-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm

  Log Message:
  -----------
  [alpha.webkit.UncheckedLambdaCapturesChecker] Split unchecked lambda capture checker (#201044)

Split alpha.webkit.UncheckedLambdaCapturesChecker off of
UncountedLambdaCapturesChecker, which currently checks for the use of
ref counted objects as well as CheckedPtr capable types unlike all other
WebKit checkers, which only check for one type of smart pointers.

Also improve the wording of the warning text so that it can be easily
extended to support checking for the lambda capturing of raw pointers
and references to CheckedPtr/CheckedRef.


  Commit: fdde3c06cf0b62b3c9f553b4234c5ce0eed86451
      https://github.com/llvm/llvm-project/commit/fdde3c06cf0b62b3c9f553b4234c5ce0eed86451
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [Sema] Properly space namespace comments (#208561)

// namespace instead of //namespace.

This is consistent with the LLVM coding standards. We took focus on this
specific case as it was tripping up some of our internal tooling.


  Commit: 5b21ec3b69504f2fa3fcd2c91edf1df57130876c
      https://github.com/llvm/llvm-project/commit/5b21ec3b69504f2fa3fcd2c91edf1df57130876c
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/writeToOutputInParallel.cpp
    M llvm/lib/Support/Unix/Signals.inc

  Log Message:
  -----------
  [Support] Optimize signal handling file removal code (#173586)

clangd/clangd#1787 describes how LLVM's code for removing partially
written files when taking a fatal signal is slower than it should be.
This code was substantially rewritten by JF Bastien in
aa1333a91f8d8a060bcf5 to make it (more) signal-safe.

As written in 2018, the logic always allocates a new node for every file
we attempt to protect, and those nodes are added to a global singly
linked list and never removed. If you open a lot of output files,
suddenly output file opening becomes O(n^2), which is what happened
during clangd indexing.

Removing files on signals in a multi-threaded environment is really
complicated! We can use locks to synchronize between threads that are
writing to the list, but we cannot use locks to synchronize against
re-entrant signals, and we don't have any great tools for masking or
delaying things like SIGTERM. This makes it difficult to assert that we
have the one and only reference to a node, even after removing it from
the linked structure, so we can safely deallocate it.

This implementation sidesteps that problem by reusing nodes on the list
with a null Filename pointer. The Filename is null if the file no longer
needs to be removed. We replace the filename with a different sentinel
while removing files using a CAS operation to simulate a lock acquisition.
* Case 1: This is the normal case, works as intended, the list should
grow in length to the number of concurrently open files that must be
removed on exit, which should be O(# threads)
* Case 2: In this case, the signal handler will leak the filename string
without a GC root for it, which is fine, since we're exiting.

I added a benchmark, and this
change makes it 16x faster, and the profile shows that the time is no
longer mostly spent in this signal handling code.

---------

Co-authored-by: JF Bastien <github at jfbastien.com>


  Commit: aa6db49c751b53c27529d1e2830ef06f8d48329e
      https://github.com/llvm/llvm-project/commit/aa6db49c751b53c27529d1e2830ef06f8d48329e
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/include/lldb/DataFormatters/TypeCategory.h
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/DataFormatters/TypeCategory.cpp

  Log Message:
  -----------
  [lldb] Tighten interface for TypeCategoryImpl::AnyMatches (#208321)

The last 2 parameters are never actually used by any caller so they can
be removed. `only_enabled` defaults to `true` but all callers explicitly
set this to false. I removed that and rewrote the body to assume it will
always be false.


  Commit: 7ef81943c901b4963f163efe571d7bfa7ced43ff
      https://github.com/llvm/llvm-project/commit/7ef81943c901b4963f163efe571d7bfa7ced43ff
  Author: Hao Ren <haor at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp

  Log Message:
  -----------
  [Reassociate] Compute value ranks iteratively (NFC) (#204952)

ReassociatePass::getRank recursively walks operand def-use chains before
memoizing ranks. For a very deep acyclic chain whose tail feeds a
reassociable operation, this can recurse once per chain element and
overflow the native stack.

Compute ranks with an explicit post-order worklist instead. The worklist
preserves the existing rank calculation and memoization behavior while
bounding native stack use.

Co-authored-by: Justin Fargnoli <jfargnoli at nvidia.com>


  Commit: a1fcdd1a7a6943fca3d109a31d4d47d2cbd14e75
      https://github.com/llvm/llvm-project/commit/a1fcdd1a7a6943fca3d109a31d4d47d2cbd14e75
  Author: Jan Korous <jkorous at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/SARIFTransformationReportFormat.h
    M clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/SARIFTransformationReportFormat.cpp
    M clang/unittests/ScalableStaticAnalysis/CMakeLists.txt
    A clang/unittests/ScalableStaticAnalysis/SourceTransformation/SARIFFormatTest.cpp

  Log Message:
  -----------
  [clang][ssaf] Add SARIF transformation-report format (#208327)

Adds the built-in `TransformationReportFormat`, registered under the
file extension `sarif`. The writer drives clang's existing
`SarifDocumentWriter` (`clang/Basic/Sarif.h`) to produce a SARIF 2.1.0
JSON document. The tool driver name is `clang-ssaf`; the long `fullName`
carries the transformation's name.

Token-range `CharSourceRange`s are canonicalized to char ranges via
`clang::Lexer::getAsCharRange` before being attached to results; invalid
ranges (including default-constructed ones) are treated as "no location"
— the writer omits the result's `locations` key rather than fabricating
one. Source edits are not embedded in the report; the writer never emits
a `fix` or `fixes` key.

Anchored via `SSAFSARIFTransformationReportFormatAnchorSource` so static
builds keep the registration.

Assisted-By: Claude Opus 4.7


  Commit: 3bdf536992084d0a30efc65f8198549b3a824c56
      https://github.com/llvm/llvm-project/commit/3bdf536992084d0a30efc65f8198549b3a824c56
  Author: Walnut <ant_b356 at me.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
    A lldb/unittests/SymbolFile/DWARF/Inputs/DW_TAG_variant_rust-test.yaml

  Log Message:
  -----------
  [lldb] Use `llvm::APInt` for `VariantMember` Discriminants (#188487)

resolves #177812 

It currently uses a `uint32_t` even though Rust can output 64- and
128-bit discriminants. This became a more obvious issue when Rust
started niche-optimizing based on the capacity of strings (which are
`NoHighBit` values, guaranteed to be less than `u64::MAX / 2`), rather
than the `NonNull` heap pointer. With this optimization, the `None`
variant of strings is 9223372036854775808, which LLDB truncates to 0.
This means whenever the capacity is 0 (e.g. `Some(String::new())`, LLDB
will mistakenly read it as the `None` variant. Additionally, when trying
to determine the `None` variant, lldb will read the discr from memory
correctly (9223372036854775808), and the visualizer scripts will compare
that to the value in the variant name (`$variant$0`), see that it
doesn't match, and incorrectly decides that it must not be the `None`
variant.

This patch simply swaps the `uint32_t` with an `llvm::APInt`. 

Sample program:

```rust
#[repr(u128)]
enum BigDiscr {
    Value(u64),
    None = 0x16151413121110090807060504030201,
}

fn main() {
    let big_discr_none = BigDiscr::None;
    let big_disr_some = BigDiscr::Value(31);

    let some_string = Some(String::from("asdf"));
    let some_empty_string = Some(String::new());
    let none_string: Option<String> = Option::None;

    println!("Hello world!"); // break
}
```

New output without visualizers:

```txt
(sample::BigDiscr) big_discr_none = {
  $variants$ = {
    $variant$0 = {
      $discr$ = 29352461300415899028694309177919734273
      value = (__0 = 0)
    }
    $variant$29352461300415899028694309177919734273 = ($discr$ = 29352461300415899028694309177919734273, value = sample::BigDiscr::None:128 @ 0x000000710a7ff7d0)
  }
}
(sample::BigDiscr) big_disr_some = {
  $variants$ = {
    $variant$0 = {
      $discr$ = 0
      value = (__0 = 31)
    }
    $variant$29352461300415899028694309177919734273 = ($discr$ = 0, value = sample::BigDiscr::None:128 @ 0x000000710a7ff7f0)
  }
}
(core::option::Option<alloc::string::String>) some_string = {
  $variants$ = {
    $variant$9223372036854775808 = ($discr$ = 4, value = core::option::Option<alloc::string::String>::None<alloc::string::String>:64 @ 0x000000710a7ff750)
    $variant$ = {
      value = {
        __0 = {
          vec = {...}
        }
      }
    }
  }
}
(core::option::Option<alloc::string::String>) some_empty_string = {
  $variants$ = {
    $variant$9223372036854775808 = ($discr$ = 0, value = core::option::Option<alloc::string::String>::None<alloc::string::String>:64 @ 0x000000710a7ff780)
    $variant$ = {
      value = {
        __0 = {
          vec = {...}
        }
      }
    }
  }
}
(core::option::Option<alloc::string::String>) none_string = {
  $variants$ = {
    $variant$9223372036854775808 = ($discr$ = 9223372036854775808, value = core::option::Option<alloc::string::String>::None<alloc::string::String>:64 @ 0x000000710a7ff7b8)
    $variant$ = {
      value = {
        __0 = {
          vec = {...}
        }
      }
    }
  }
}
```

New output with Rust's current visualizers:

```txt
# this one is incorrect because the visualizer scripts are wrong, not because of LLDB.
# the scripts use `GetValue()`, which returns a 64 bit number. They can be modified
# on Rust's end to use `GetData()` instead. The rest work as expected
(sample::BigDiscr) big_discr_none = Value(0) {
  0 = 0
}
(sample::BigDiscr) big_disr_some = Value(31) {
  0 = 31
}
(core::option::Option<alloc::string::String>) some_string = Some("asdf") {
  0 = "asdf" {
    [0] = 'a'
    [1] = 's'
    [2] = 'd'
    [3] = 'f'
  }
}
(core::option::Option<alloc::string::String>) some_empty_string = Some("") {
  0 = ""
}
```


  Commit: 0538275eca10798aa0d0dd6261f11fbc7cc9e99e
      https://github.com/llvm/llvm-project/commit/0538275eca10798aa0d0dd6261f11fbc7cc9e99e
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Don't add the same module to a target twice (#208472)

`Target::GetOrCreateModule` uses `Append`, so a module already in the
target could be added again. Then `RemoveModule` dropped only one,
keeping the module (and its memory-mapped file) alive.
On Windows that mapped file can't be deleted, causing
`TestReplaceDLL.py` to fail with `LLDB_USE_LLDB_SERVER=1`.

This patch uses `AppendIfNeeded` instead.

rdar://181797592


  Commit: b0627c0c94bd93b6e9e6dcedb2e7bfa69e6f4052
      https://github.com/llvm/llvm-project/commit/b0627c0c94bd93b6e9e6dcedb2e7bfa69e6f4052
  Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaHLSL/Resources/resource_params_noinline.hlsl
    M clang/test/SemaHLSL/Resources/unbounded_resource_arrays.hlsl

  Log Message:
  -----------
  [HLSL] Reject unbounded resource array and noinline function resource parameters (#208111)

Fixes #180808.

This issue involved two bugs:
- `noinline` functions accepted resource parameters in the frontend,
which crashed the backend since valid DXIL cannot be generated for
resources passed across a function call. This change adds a new check in
`SemaDecl.cpp` that rejects resource parameters on `noinline` functions,
as well as a new `resource_params_noinline.hlsl` test.
- The check for incomplete resource array parameters queried the array's
element type to decide if it was a resource. When the parameter was the
first use of the resource type, the element was still incomplete and
wouldn't register as a resource, so the check would be skipped and the
compiler would later crash. This change fixes the check to now force
element completion with `isCompleteType` before querying the type, and
updates `unbounded_resource_arrays.hlsl` to test this.

This change also fixes the `unbounded_resource_arrays.hlsl` test in
general; the `not` in the RUN command was inverting the result and
hiding an actual failure (one of the expected error messages was
misspelled).

Assisted by: Github Copilot


  Commit: 9dabe383fd71aadb5588d1d5bb2eafe7b6fdf4f2
      https://github.com/llvm/llvm-project/commit/9dabe383fd71aadb5588d1d5bb2eafe7b6fdf4f2
  Author: Chennes <xuchen359 at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][xegpu] Fix crash on 0D vector in vector-to-xegpu transfer lowering (#205812)

`transferPreconditions` accepted rank-0 vectors, which then reached
`computeOffsets` and indexed an empty `SmallVector` (`broadcasted[0]`),
asserting `idx < size()` and crashing. For example:

```mlir
vector.transfer_write %arg0, %arg1[%1] : vector<f32>, memref<3xf32>
```

This is valid IR (the verifier accepts it; 0D vector transfers are part
of the vector dialect spec), so the conversion pass should not crash on
it.

Bail out via `notifyMatchFailure` for 0D vectors in the shared
`transferPreconditions`, so both `transfer_read` and `transfer_write`
are left unconverted instead of crashing. This matches how the core
vector lowering already treats 0D transfers as an unsupported corner
case (see `mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp`).

Regression tests are added for 0D `transfer_read` and `transfer_write`.

Fixes #205281


  Commit: 9cfa768e63f81d91de4c6ceb1a3e101399e2dd99
      https://github.com/llvm/llvm-project/commit/9cfa768e63f81d91de4c6ceb1a3e101399e2dd99
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M offload/ci/openmp-offload-amdgpu-clang-flang.py
    M offload/ci/openmp-offload-amdgpu-libc-runtime.py
    M offload/ci/openmp-offload-amdgpu-runtime.py
    M offload/cmake/caches/AMDGPUBot.cmake
    M offload/cmake/caches/AMDGPULibcBot.cmake
    M offload/cmake/caches/FlangOffload.cmake
    M offload/cmake/caches/Offload.cmake

  Log Message:
  -----------
  [Offload][CI][AMDGPU] Update build scripts for updated triple (#208568)

As new triple is introduced
https://github.com/llvm/llvm-project/pull/206480, updated the build
scripts accordingly.


  Commit: 80d57d10969b7d1cbf20a28470c200d875b89e55
      https://github.com/llvm/llvm-project/commit/80d57d10969b7d1cbf20a28470c200d875b89e55
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/undefined_behavior.ll

  Log Message:
  -----------
  [Attributor] Add remarks when UB is optimized to unreachable (#207864)

These often bite LTO users in surprising and hard-to-debug ways. Adding
remarks to give at least a small bread-crumb as to 'why' we're
optimizing out chunks of code.


  Commit: 314576176481027a0cb40790c43b851886ab3c55
      https://github.com/llvm/llvm-project/commit/314576176481027a0cb40790c43b851886ab3c55
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf

  Log Message:
  -----------
  [flang][cuda] Fix atomicCAS to return the old value (#208558)

atomicCAS returned cmpxchg's success flag instead of the old value,
breaking spinlock idioms. Extract element 0 (bitcast back for floats).


  Commit: 3a3d2cbc194b09e1a8bbbe1d3abb09c268cb3236
      https://github.com/llvm/llvm-project/commit/3a3d2cbc194b09e1a8bbbe1d3abb09c268cb3236
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir

  Log Message:
  -----------
  [mlir][xegpu] Fix expandDim distribution for shape_cast layout inference (#205987)

The expanded dims of a shape_cast collapse are row-major (innermost is
fastest-varying), so sg_layout/lane_layout must be distributed
inner-to-outer rather than outer-to-inner, and jointly with the data
component: distribute sg_data/lane_data first, then stride
sg_layout/lane_layout over the per-dim leftover.

Example — shape_cast [8,32,32] -> [256,32] (consumer lane_layout=[8,4],
lane_data=[2,1], order=[0,1]),
  inferred source layout:
before: inst_data=[8,2,4], lane_layout=[8,1,4], lane_data=[1,2,1],
order=[1,0,2] # lanes on slow dim
after: inst_data=[1,16,4], lane_layout=[1,8,4], lane_data=[1,2,1],
order=[1,0,2] # lanes wrap to fast dim

This also fixes wrap-around, e.g. [2,16]->[32] with sg_layout=[4],
sg_data=[4] → sg_layout=[1,4], sg_data=[1,4].

assisted-by-claude

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: e2bd9ce693120b716c7e29e01be78ae7860e6616
      https://github.com/llvm/llvm-project/commit/e2bd9ce693120b716c7e29e01be78ae7860e6616
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M offload/ci/openmp-offload-amdgpu-clang-flang.py
    M offload/ci/openmp-offload-amdgpu-libc-runtime.py
    M offload/ci/openmp-offload-amdgpu-runtime.py
    M offload/cmake/caches/AMDGPUBot.cmake
    M offload/cmake/caches/AMDGPULibcBot.cmake
    M offload/cmake/caches/FlangOffload.cmake
    M offload/cmake/caches/Offload.cmake

  Log Message:
  -----------
  Revert "[Offload][CI][AMDGPU] Update build scripts for updated triple" (#208583)

Reverts llvm/llvm-project#208568

It breaks bots.


  Commit: 2c04b3317301e09403b05ac88c5d69d4bc7fe80f
      https://github.com/llvm/llvm-project/commit/2c04b3317301e09403b05ac88c5d69d4bc7fe80f
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/docs/AArch64SME.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX10.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX1011.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX1013.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX1030.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX11.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX7.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX8.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX9.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX900.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX904.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX906.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX908.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX90a.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX940.rst
    M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
    M llvm/docs/AMDGPUInstructionNotation.rst
    M llvm/docs/AMDGPUInstructionSyntax.rst
    M llvm/docs/AMDGPUModifierSyntax.rst
    M llvm/docs/AMDGPUOperandSyntax.rst
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/AddingConstrainedIntrinsics.rst
    M llvm/docs/AdvancedBuilds.md
    M llvm/docs/AliasAnalysis.md
    M llvm/docs/Atomics.md
    M llvm/docs/BigEndianNEON.rst
    M llvm/docs/BitCodeFormat.md
    M llvm/docs/BlockFrequencyTerminology.rst
    M llvm/docs/BranchWeightMetadata.rst
    M llvm/docs/BugLifeCycle.rst
    M llvm/docs/BuildingADistribution.md
    M llvm/docs/CFIVerify.md
    M llvm/docs/CMakePrimer.rst
    M llvm/docs/CodeGenerator.md
    M llvm/docs/CodingStandards.md
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/docs/CommandGuide/llvm-pdbutil.rst
    M llvm/docs/CommandLine.md
    M llvm/docs/CompileCudaWithLLVM.rst
    M llvm/docs/CompilerWriterInfo.md
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/Coroutines.md
    M llvm/docs/CoverageMappingFormat.md
    M llvm/docs/CycleTerminology.md
    M llvm/docs/DTLTO.md
    M llvm/docs/DependenceGraphs/index.rst
    M llvm/docs/DeveloperPolicy.md
    M llvm/docs/DirectX/DXContainer.rst
    M llvm/docs/DirectX/DXILArchitecture.rst
    M llvm/docs/DirectX/DXILOpTableGenDesign.rst
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/DirectX/RootSignatures.rst
    M llvm/docs/DirectXUsage.rst
    M llvm/docs/ExceptionHandling.md
    M llvm/docs/Extensions.md
    M llvm/docs/FAQ.md
    M llvm/docs/FatLTO.rst
    M llvm/docs/FaultMaps.rst
    M llvm/docs/FuzzingLLVM.rst
    M llvm/docs/GarbageCollection.md
    M llvm/docs/GetElementPtr.rst
    M llvm/docs/GettingStarted.md
    M llvm/docs/GettingStartedVS.md
    M llvm/docs/GitHub.md
    M llvm/docs/GlobalISel/GMIR.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/GlobalISel/index.rst
    M llvm/docs/GwpAsan.rst
    M llvm/docs/HowToReleaseLLVM.rst
    M llvm/docs/HowToSetUpLLVMStyleRTTI.rst
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/docs/HowToUseAttributes.rst
    M llvm/docs/HowToUseInstrMappings.rst
    M llvm/docs/InstCombineContributorGuide.md
    M llvm/docs/InstrProfileFormat.md
    M llvm/docs/JITLink.rst
    M llvm/docs/KernelInfo.rst
    M llvm/docs/LFI.rst
    M llvm/docs/LangRef.md
    M llvm/docs/LibFuzzer.md
    M llvm/docs/LoopTerminology.md
    M llvm/docs/MIRLangRef.md
    M llvm/docs/MLGO.rst
    M llvm/docs/MarkedUpDisassembly.rst
    M llvm/docs/MemTagSanitizer.rst
    M llvm/docs/MemoryModelRelaxationAnnotations.rst
    M llvm/docs/MemorySSA.md
    M llvm/docs/MergeFunctions.md
    M llvm/docs/MisExpect.rst
    M llvm/docs/MyFirstTypoFix.md
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/NewPassManager.md
    M llvm/docs/ORCv2.rst
    M llvm/docs/OptBisect.rst
    M llvm/docs/PCSectionsMetadata.rst
    M llvm/docs/PDB/CodeViewSymbols.rst
    M llvm/docs/PDB/CodeViewTypes.rst
    M llvm/docs/PDB/DbiStream.rst
    M llvm/docs/PDB/HashTable.rst
    M llvm/docs/PDB/ModiStream.rst
    M llvm/docs/PDB/MsfFile.rst
    M llvm/docs/PDB/PdbStream.rst
    M llvm/docs/PDB/TpiStream.rst
    M llvm/docs/PDB/index.rst
    M llvm/docs/Passes.md
    M llvm/docs/Projects.rst
    M llvm/docs/Proposals/GitHubMove.rst
    M llvm/docs/Proposals/TestSuite.rst
    M llvm/docs/Proposals/VariableNames.rst
    M llvm/docs/Proposals/VectorPredication.rst
    M llvm/docs/RFCProcess.md
    M llvm/docs/RISCV/RISCVVectorExtension.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/ReleaseProcess.rst
    M llvm/docs/Remarks.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/SandboxVectorizer.md
    M llvm/docs/ScudoHardenedAllocator.rst
    M llvm/docs/SegmentedStacks.rst
    M llvm/docs/SphinxQuickstartTemplate.md
    M llvm/docs/StackMaps.rst
    M llvm/docs/Statepoints.rst
    M llvm/docs/SymbolizerMarkupFormat.rst
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/docs/TableGen/BackGuide.rst
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/docs/Telemetry.rst
    M llvm/docs/TransformMetadata.rst
    M llvm/docs/UndefinedBehavior.rst
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/Vectorizers.md
    M llvm/docs/XRay.rst
    M llvm/docs/XRayExample.rst
    M llvm/docs/XRayFDRFormat.rst
    M llvm/docs/YamlIO.rst
    A llvm/docs/_static/LLVMWyvernSmall.png
    A llvm/docs/_static/copybutton.css
    A llvm/docs/_static/copybutton.js
    A llvm/docs/_static/custom.css
    M llvm/docs/conf.py
    M llvm/docs/tutorial/BuildingAJIT1.rst
    M llvm/docs/tutorial/BuildingAJIT2.rst
    M llvm/docs/tutorial/BuildingAJIT3.rst
    M llvm/docs/tutorial/BuildingAJIT4.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl01.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl05.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl06.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst

  Log Message:
  -----------
  [Docs] Migrate LLVM docs to furo (#184440)

Implements the proposal at
https://discourse.llvm.org/t/rfc-update-llvm-docs-to-furo-theme/90053

Furo output at https://nigham.github.io/llvm_docs_furo/LangRef.html

- Switched theme to Furo
- Removed `:content` directives from RSTs, since Furo always has a TOC
on the side.

Credits for various pieces of feedback and improvements: @Pierre-vh
@aengelke @slinder1 @jhuber6 @fmayer @llvm/infrastructure-area-team
@petrhosek @rnk @boomanaiden154 (see discussions in the RFC)


  Commit: 1eb67aa8bfe49e8f5e926054af899bb56ad4d8f3
      https://github.com/llvm/llvm-project/commit/1eb67aa8bfe49e8f5e926054af899bb56ad4d8f3
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  [libc] Disable baremetal modular printf (#208576)

This reverts commit a14d084bbb1a7261d8a71c56120159abb6af330b.
Though the modular printf works as intented, we noticed a few challenges
using this feature. Without diagnostic help it is difficult to
understand which "modules" got linked in and why. Disabling this to be
the default setting until this is sorted.


  Commit: 09ad7f10b0e154118e1f356f189e06ebd5bab4e2
      https://github.com/llvm/llvm-project/commit/09ad7f10b0e154118e1f356f189e06ebd5bab4e2
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/SourceTransformation/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Demangle/BUILD.gn

  Log Message:
  -----------
  [gn build] Port commits (#208584)

0f9f5a2aba97
a1fcdd1a7a69
c0ddc3c5ce0e
cfa5d6f59db9


  Commit: f40ad8fcf0b4914409ce46ef7b5287b8eb4de609
      https://github.com/llvm/llvm-project/commit/f40ad8fcf0b4914409ce46ef7b5287b8eb4de609
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/AMDGPUSupport.rst
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    A clang/test/CodeGenOpenCL/builtins-amdgcn-s-buffer-load.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-s-buffer-load-error.cl

  Log Message:
  -----------
  [Clang][AMDGPU] Add __builtin_amdgcn_s_buffer_load_<T> (#203352)

Expose `llvm.amdgcn.s.buffer.load` intrinsic overloads for OpenCL via
`__builtin_amdgcn_s_buffer_load_*` builtins.

Function prototypes:
```
  <return-type>
  __builtin_amdgcn_s_buffer_load_<suffix>(
      v4i32 rsrc,  // 4-dword buffer resource in SGPRs
      int offset,  // byte offset from the base of the buffer
      int aux);    // cache-policy, control flags. Must be compile-time const.
```
Where:
```
  return-type       suffix
  ----------------  ------
  char              i8
  unsigned char     u8
  short             i16
  unsigned short    u16
  int               i32
  half              f16
  float             f32

  v2i8              v2i8
  v3i8              v3i8
  v4i8              v4i8

  v2i32             v2i32
  v3i32             v3i32
  v4i32             v4i32
  v8i32             v8i32
  v16i32            v16i32

  v2f16             v2f16
  v3f16             v3f16
  v4f16             v4f16

  v2f32             v2f32
  v3f32             v3f32
  v4f32             v4f32
  v8f32             v8f32
  v16f32            v16f32
```


  Commit: 27d83e2795e7ae9f98f695fe5113493a83f46b28
      https://github.com/llvm/llvm-project/commit/27d83e2795e7ae9f98f695fe5113493a83f46b28
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/test/Sema/attr-target.c
    M llvm/include/llvm/TargetParser/PPCTargetParser.h
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/lib/TargetParser/PPCTargetParser.cpp

  Log Message:
  -----------
  [AIX] diagnose invalid feature strings on the target attribute (#208059)

Currently, Sema calls `getTargetInfo().isValidFeatureName(S)` to
validate string inputs on the `target` attribute. `PPCTargetInfo`
doesn't override the function and the base class implementation returns
true unconditionally. This results in the FE accepting invalid feature
strings on `target` attribute, and generates invalid target-feature
values in the IR.

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>


  Commit: 880f3d0fbe323abfe225193254244c8163d40712
      https://github.com/llvm/llvm-project/commit/880f3d0fbe323abfe225193254244c8163d40712
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir

  Log Message:
  -----------
  [mlir][xegpu] Support subgroup layout assignment for scatter stores (#205955)

Add getStoreSubgroupLayouts() to derive the subgroup (sg_layout/sg_data)
anchor layout for store_scatter and store_matrix. It factorizes numSg
into the most balanced sg_layout that divides the workgroup tile with
sg_data a multiple of inst_data (lane_layout * lane_data).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: b2b67ba3b96d33b5ab71c1ad7f1e529b61f41883
      https://github.com/llvm/llvm-project/commit/b2b67ba3b96d33b5ab71c1ad7f1e529b61f41883
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll

  Log Message:
  -----------
  [GISel] Don't return false when an intrinsic is not supported (#208567)

This will abort immediately by default, which is not ideal.


  Commit: f5169f2a5c53ef64c751ccbafa1799f9915b2814
      https://github.com/llvm/llvm-project/commit/f5169f2a5c53ef64c751ccbafa1799f9915b2814
  Author: halbi2 <hehiralbi at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/deque
    M libcxx/include/forward_list
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/set
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/vector
    M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_allocator.pass.cpp

  Log Message:
  -----------
  [libc++] Enable missing allocator constructors in C++11 (#204845)

LWG2210 was a patch to N2554 (C++11) which added missing
allocator-extended constructors to various containers. When LWG2210 was
implemented, the constructors were gated with C++14. However, we
normally apply LWG issue resolutions as DRs.

This patch enables these constructors in C++11 mode too.

Fixes #204843

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 76066e5867611b7ed87e4f8eb8f18dc6ec479855
      https://github.com/llvm/llvm-project/commit/76066e5867611b7ed87e4f8eb8f18dc6ec479855
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    A orc-rt/include/orc-rt-utils/CommandLine.h
    M orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/CommandLineTest.cpp

  Log Message:
  -----------
  [orc_rt] adding a very simple CLI flags parser in (#172987)

Adds orc_rt::CommandLineParser, a small header-only option parser in
  orc-rt-utils for use by orc-rt tools that need argument handling.

  Features:
   - Long (--name, --name=value) and short (-n, -nvalue) options.
   - Short-flag clustering (e.g. -vp9999) and "--" to terminate option
     parsing, with remaining tokens collected as positionals.
   - Typed values, with parse failures returning an orc_rt::Error.
   - printHelp() with aligned, optionally short-name-aware output.

  Values are bound to caller-owned storage supplied at registration time and
  reset to their defaults on each parse().

  Also adds CommandLineTest.cpp to the CoreTests unittest and fixes the
  indentation of the docs subdirectory guard in orc-rt/CMakeLists.txt.


  Commit: 15f7d143d6d61a6d3358144af611a1210eca2357
      https://github.com/llvm/llvm-project/commit/15f7d143d6d61a6d3358144af611a1210eca2357
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Host/JSONTransport.h
    A lldb/include/lldb/Protocol/MCP/Client.h
    M lldb/source/Protocol/MCP/CMakeLists.txt
    A lldb/source/Protocol/MCP/Client.cpp
    M lldb/source/Protocol/MCP/Protocol.cpp
    M lldb/unittests/Host/JSONTransportTest.cpp
    M lldb/unittests/Protocol/CMakeLists.txt
    A lldb/unittests/Protocol/MCPClientTest.cpp
    M lldb/unittests/Protocol/ProtocolMCPTest.cpp
    M lldb/unittests/TestingSupport/Host/JSONTransportTestUtilities.h

  Log Message:
  -----------
  [lldb] Add an MCP client and asynchronous request binding (#208371)

This PR contains the groundwork to convert lldb-mcp from a naive
forwarder into a multiplexer. This requires acting both an MCP server
and MCP client.

This PR adds a new MCP Client abstraction, a thin wrapper over
MCPTransport and MCPBinder exposing the protocol's requests as typed
asynchronous calls. BindAsync hands an incoming-request handler a Reply
it may invoke later.

This PR also makes fromJSON symmetric with toJSON for
ServerCapabilities. The former only restored supportsToolsList and
silently dropped the resources, completions and logging capabilities, so
a client parsing an initialize result never saw them.

Assisted-by: Claude


  Commit: 964cd4d79b6396250ec6c1bd1a6a60ae18e2b392
      https://github.com/llvm/llvm-project/commit/964cd4d79b6396250ec6c1bd1a6a60ae18e2b392
  Author: Younes Yazami <younes.elidrissiyazami at amd.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

  Log Message:
  -----------
  [AMDGPU] [NFC] Init pointers, widen mask complements (#208469)

- Initialize local pointers before use, silencing uninitialized local
pointer warnings.
- Compute mask complements at 64 bits to avoid zero-extending the result
from a type to a type of greater size and dropping high bits.


  Commit: 2370ce38cbe05ccc922a7bee980bba34bb084331
      https://github.com/llvm/llvm-project/commit/2370ce38cbe05ccc922a7bee980bba34bb084331
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M orc-rt/include/orc-rt-c/Logging.h

  Log Message:
  -----------
  [orc-rt] Expand 'extern "C"' guard coverage in Logging.h. NFC. (#208596)

We'll be adding more APIs here soon -- the 'extern "C"' guards should
cover the whole header.


  Commit: 9141f715500fecff8e3209b8f8da93715fecb5ca
      https://github.com/llvm/llvm-project/commit/9141f715500fecff8e3209b8f8da93715fecb5ca
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/SemaCXX/typo-correction.cpp

  Log Message:
  -----------
  [clang] fix typo-correction for template name lookup (#208586)

Only consider candidates which are templates.

Disable spell checking for a DR test in order to not introduce noise, as
spell checking is never helpful in those.

Fixes #207498


  Commit: 8b38729f1a655bdb2595c1e9c157b9a0312486c8
      https://github.com/llvm/llvm-project/commit/8b38729f1a655bdb2595c1e9c157b9a0312486c8
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
    M clang/test/Analysis/Checkers/WebKit/unchecked-members.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
    M clang/test/Analysis/Checkers/WebKit/uncounted-members-ref-deref-on-diff-classes.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-members.mm

  Log Message:
  -----------
  [webkit.NoUncountedMemberChecker] Improve the warning text (#204557)

This PR aligns NoUncountedMemberChecker and its variant's warning
message with the new warning format in
https://github.com/llvm/llvm-project/pull/202724.


  Commit: e898ca97c55f31428719a51179c4e5e2ff89e9e8
      https://github.com/llvm/llvm-project/commit/e898ca97c55f31428719a51179c4e5e2ff89e9e8
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M orc-rt/include/orc-rt-c/Logging.h

  Log Message:
  -----------
  [orc-rt] Apply orc_rt_log_* naming convention to Logging.h. NFC. (#208599)

orc_rt_ is the top-level C namespace and orc_rt_log_ a nested namespace
for logging. Following the C API convention, types, values, and
variables are PascalCase and functions are camelCase (as in LLVM).


  Commit: ac78ce369272ea46ceb8b00f762c496ecd40cb19
      https://github.com/llvm/llvm-project/commit/ac78ce369272ea46ceb8b00f762c496ecd40cb19
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    A flang/unittests/Optimizer/AliasAnalysisCacheTest.cpp
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  [flang][AliasAnalysis] Add opt-in getSource memoization cache (#208319)

Add an opt-in cache to fir::AliasAnalysis that memoizes getSource()
results keyed on (value, flags). Caching is off by default and turned on
via enableSourceCache(); getSource() becomes a thin wrapper over the
uncached getSourceImpl(). The cache is a frozen snapshot with no
automatic invalidation and lives no longer than the AliasAnalysis
instance, so a client enables it only for a region in which it does not
mutate IR in a way that would change a source.

Flang's LICM enables the cache on its fir::AliasAnalysis before adding
it to the mlir::AliasAnalysis aggregate: LICM only moves operations, so
getSource()'s inputs are unchanged across the hoists, and the pass
manager drops the analysis (and its cache) after the pass.

Add a unit test covering the default-off behavior, cache fill/hit, and
that disableSourceCache() clears and bypasses the cache.

Assisted-by: Cursor


  Commit: f348b0d2e72777f0f3de9180fa7ca80f39e62ef1
      https://github.com/llvm/llvm-project/commit/f348b0d2e72777f0f3de9180fa7ca80f39e62ef1
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/unittests/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes ac78ce3 (#208600)

This fixes ac78ce369272ea46ceb8b00f762c496ecd40cb19.

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=ac78ce369272ea46ceb8b00f762c496ecd40cb19

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: 21edbeac33964ec9e38209b40abfb40cbde95075
      https://github.com/llvm/llvm-project/commit/21edbeac33964ec9e38209b40abfb40cbde95075
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler][NFC] Add direction arg to Scheduler constructor (#208602)

With this patch we require the user to set the scheduling direction
during construction. The direction used to default to BottomUp which
would cause crashes if the user had forgotten to set the direction and
attempt to scheduler top-down.

Also drop Scheduler::setDirection() as there is no longer a need for it.


  Commit: f1daa4cd537799edcd2984b09ab59e0f9e00e2bf
      https://github.com/llvm/llvm-project/commit/f1daa4cd537799edcd2984b09ab59e0f9e00e2bf
  Author: Hongjune Kim <hongjune.kim at intel.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/BranchFolding.h
    A llvm/test/CodeGen/AArch64/branch-folder-hoist-disable.mir
    A llvm/test/CodeGen/AArch64/branch-folder-reorder-disable.mir

  Log Message:
  -----------
  [CodeGen][BranchFolding] Add options to control common hoisting and block reordering (#205704)

The BranchFolder pass performs several independent optimizations: tail
 merging, common-code hoisting, and branch optimization (which includes
 basic-block reordering). Currently only tail merging is individually
controllable -- it is disabled for targets that require a structured
CFG,
because tail merging can make the CFG irreducible. Common-code hoisting
and
 basic-block reordering always run whenever the pass executes.

 Those two sub-phases do not change CFG edges (so they cannot affect
 reducibility); they only change block layout. A target whose register
 allocation is sensitive to the final block layout may need the rest of
 branch folding while suppressing reordering and/or hoisting. This is a
 layout / register-allocation concern, distinct from the structured-CFG
 (reducibility) concern that gates tail merging.

 This change makes common-code hoisting and basic-block reordering
 individually controllable:

  - BranchFolder gains an EnableBasicBlockReordering flag (with a
setBasicBlockReordering() setter) that gates the two block-reordering
    transforms in OptimizeBlock.
- BranchFolderLegacy gains constructor parameters for both sub-phases,
and a
createBranchFolder(EnableCommonHoist, EnableBasicBlockReordering)
factory
is exposed so a target can request a safe subset from its pass pipeline.
  - Two hidden command-line flags, -branch-folder-hoist-common-code and
-branch-folder-reorder-blocks, override the configured values at the
start
    of OptimizeFunction (mirroring -enable-tail-merge).

Defaults enable both sub-phases, so existing behavior is unchanged for
all
 in-tree targets.

 New MIR tests exercise each flag via -run-pass=branch-folder.

 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: 10b965f0788ac4cf9a2c9ebd6c65d433aad19729
      https://github.com/llvm/llvm-project/commit/10b965f0788ac4cf9a2c9ebd6c65d433aad19729
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp

  Log Message:
  -----------
  [Clang] ASTUnit should use the CompilerInstance's CodeGenOptions (#195338)

Currently, `ASTUnit::LoadFromCompilerInvocation()` just calls the
constructor of `ASTUnit`, which default-constructs a `CodeGenOptions`
instance. The options from the `CompilerInstance` are never actually
saved in the `ASTUnit`. As a result, serialising the `ASTUnit` ends up
serialising the default-constructed `CodeGenOptions` rather than the
_actual_ `CodeGenOptions`.

This is problematic if you attempt to do the following:
1. Call e.g. `buildASTFromCodeWithArgs()` to build an `ASTUnit`
2. Serialise that `ASTUnit`.
3. Call e.g. `buildASTFromCodeWithArgs()` again with the exact same
arguments and add use the first `ASTUnit` as a PCH using `-include-pch`.

This causes Clang to error because the `CodeGenOptions` we deserialised
for the first `ASTUnit` (the default-constructed ones) are incompatible
with the `CodeGenOptions` implicitly created for the second TU (which
were created by the `CompilerInstance` and potentially modified due to
command-line argument parsing)... despite the fact that we basically
just attempted to build two TUs with the same arguments.

To fix this, copy the `CodeGenOptions` from the `CompilerInstance` into
the `ASTUnit`.


  Commit: 089c9c1c3ede224bdc79510d09e779922d46388c
      https://github.com/llvm/llvm-project/commit/089c9c1c3ede224bdc79510d09e779922d46388c
  Author: disservin <disservin.social at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/test/CodeGen/builtin-cpu-supports-all.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/x86_target_features.c

  Log Message:
  -----------
  [clang] Add -mavx512bmm flag (#208520)

https://github.com/llvm/llvm-project/pull/182556 missed the addition of
the -mavx512bmm flag


  Commit: 43e98b2e08ec8d012e4aa442392c1d204650d471
      https://github.com/llvm/llvm-project/commit/43e98b2e08ec8d012e4aa442392c1d204650d471
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-07-09 (Thu, 09 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Driver/bbc-implicit-use-module.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Do not implicitly use module when processing the module (#208582)

https://github.com/llvm/llvm-project/pull/207824 Added ability to use
implicitly a module. The use should not happen while processing the
module used implicitly.


  Commit: 54627d80f511def8b7a9baf55a784a22e101a1af
      https://github.com/llvm/llvm-project/commit/54627d80f511def8b7a9baf55a784a22e101a1af
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-zip.ll

  Log Message:
  -----------
  [RISCV][P-ext] Improve the codegen for pzip (#208479)

This patch recognizes interleaved shuffle (as packed zip intrinsics use)
and selects the corresponding instructions.


  Commit: d3cfebb31979bfaa22da2c5bdc5ccd95678b380d
      https://github.com/llvm/llvm-project/commit/d3cfebb31979bfaa22da2c5bdc5ccd95678b380d
  Author: usamoi <usamoi at outlook.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/test/Transforms/Inline/X86/inline-target-cpu-i686.ll
    M llvm/test/Transforms/Inline/X86/inline-target-cpu-x86_64.ll

  Log Message:
  -----------
  [X86][Inline] Don't inline callee with cx16 if caller is without cx16 (#187505)

closes https://github.com/llvm/llvm-project/issues/187503


  Commit: d0339aef5f4648106de6ad34932adfb011204772
      https://github.com/llvm/llvm-project/commit/d0339aef5f4648106de6ad34932adfb011204772
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Program.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Simplify redecl loop (#208477)

Avoid the `Redecl == VD` iteration.


  Commit: bdc65804e46da97dbf3d45f2283bff7e49b8caf1
      https://github.com/llvm/llvm-project/commit/bdc65804e46da97dbf3d45f2283bff7e49b8caf1
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/docs/AArch64SME.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX10.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX1011.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX1013.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX1030.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX11.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX12.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX7.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX8.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX9.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX900.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX904.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX906.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX908.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX90a.rst
    M llvm/docs/AMDGPU/AMDGPUAsmGFX940.rst
    M llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
    M llvm/docs/AMDGPUInstructionNotation.rst
    M llvm/docs/AMDGPUInstructionSyntax.rst
    M llvm/docs/AMDGPUModifierSyntax.rst
    M llvm/docs/AMDGPUOperandSyntax.rst
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/AddingConstrainedIntrinsics.rst
    M llvm/docs/AdvancedBuilds.md
    M llvm/docs/AliasAnalysis.md
    M llvm/docs/Atomics.md
    M llvm/docs/BigEndianNEON.rst
    M llvm/docs/BitCodeFormat.md
    M llvm/docs/BlockFrequencyTerminology.rst
    M llvm/docs/BranchWeightMetadata.rst
    M llvm/docs/BugLifeCycle.rst
    M llvm/docs/BuildingADistribution.md
    M llvm/docs/CFIVerify.md
    M llvm/docs/CMakePrimer.rst
    M llvm/docs/CodeGenerator.md
    M llvm/docs/CodingStandards.md
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/docs/CommandGuide/llvm-pdbutil.rst
    M llvm/docs/CommandLine.md
    M llvm/docs/CompileCudaWithLLVM.rst
    M llvm/docs/CompilerWriterInfo.md
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/Coroutines.md
    M llvm/docs/CoverageMappingFormat.md
    M llvm/docs/CycleTerminology.md
    M llvm/docs/DTLTO.md
    M llvm/docs/DependenceGraphs/index.rst
    M llvm/docs/DeveloperPolicy.md
    M llvm/docs/DirectX/DXContainer.rst
    M llvm/docs/DirectX/DXILArchitecture.rst
    M llvm/docs/DirectX/DXILOpTableGenDesign.rst
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/DirectX/RootSignatures.rst
    M llvm/docs/DirectXUsage.rst
    M llvm/docs/ExceptionHandling.md
    M llvm/docs/Extensions.md
    M llvm/docs/FAQ.md
    M llvm/docs/FatLTO.rst
    M llvm/docs/FaultMaps.rst
    M llvm/docs/FuzzingLLVM.rst
    M llvm/docs/GarbageCollection.md
    M llvm/docs/GetElementPtr.rst
    M llvm/docs/GettingStarted.md
    M llvm/docs/GettingStartedVS.md
    M llvm/docs/GitHub.md
    M llvm/docs/GlobalISel/GMIR.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/GlobalISel/index.rst
    M llvm/docs/GwpAsan.rst
    M llvm/docs/HowToReleaseLLVM.rst
    M llvm/docs/HowToSetUpLLVMStyleRTTI.rst
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/docs/HowToUseAttributes.rst
    M llvm/docs/HowToUseInstrMappings.rst
    M llvm/docs/InstCombineContributorGuide.md
    M llvm/docs/InstrProfileFormat.md
    M llvm/docs/JITLink.rst
    M llvm/docs/KernelInfo.rst
    M llvm/docs/LFI.rst
    M llvm/docs/LangRef.md
    M llvm/docs/LibFuzzer.md
    M llvm/docs/LoopTerminology.md
    M llvm/docs/MIRLangRef.md
    M llvm/docs/MLGO.rst
    M llvm/docs/MarkedUpDisassembly.rst
    M llvm/docs/MemTagSanitizer.rst
    M llvm/docs/MemoryModelRelaxationAnnotations.rst
    M llvm/docs/MemorySSA.md
    M llvm/docs/MergeFunctions.md
    M llvm/docs/MisExpect.rst
    M llvm/docs/MyFirstTypoFix.md
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/NewPassManager.md
    M llvm/docs/ORCv2.rst
    M llvm/docs/OptBisect.rst
    M llvm/docs/PCSectionsMetadata.rst
    M llvm/docs/PDB/CodeViewSymbols.rst
    M llvm/docs/PDB/CodeViewTypes.rst
    M llvm/docs/PDB/DbiStream.rst
    M llvm/docs/PDB/HashTable.rst
    M llvm/docs/PDB/ModiStream.rst
    M llvm/docs/PDB/MsfFile.rst
    M llvm/docs/PDB/PdbStream.rst
    M llvm/docs/PDB/TpiStream.rst
    M llvm/docs/PDB/index.rst
    M llvm/docs/Passes.md
    M llvm/docs/Projects.rst
    M llvm/docs/Proposals/GitHubMove.rst
    M llvm/docs/Proposals/TestSuite.rst
    M llvm/docs/Proposals/VariableNames.rst
    M llvm/docs/Proposals/VectorPredication.rst
    M llvm/docs/RFCProcess.md
    M llvm/docs/RISCV/RISCVVectorExtension.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/ReleaseProcess.rst
    M llvm/docs/Remarks.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/SandboxVectorizer.md
    M llvm/docs/ScudoHardenedAllocator.rst
    M llvm/docs/SegmentedStacks.rst
    M llvm/docs/SphinxQuickstartTemplate.md
    M llvm/docs/StackMaps.rst
    M llvm/docs/Statepoints.rst
    M llvm/docs/SymbolizerMarkupFormat.rst
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/docs/TableGen/BackGuide.rst
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/docs/Telemetry.rst
    M llvm/docs/TransformMetadata.rst
    M llvm/docs/UndefinedBehavior.rst
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/Vectorizers.md
    M llvm/docs/XRay.rst
    M llvm/docs/XRayExample.rst
    M llvm/docs/XRayFDRFormat.rst
    M llvm/docs/YamlIO.rst
    R llvm/docs/_static/LLVMWyvernSmall.png
    R llvm/docs/_static/copybutton.css
    R llvm/docs/_static/copybutton.js
    R llvm/docs/_static/custom.css
    M llvm/docs/conf.py
    M llvm/docs/tutorial/BuildingAJIT1.rst
    M llvm/docs/tutorial/BuildingAJIT2.rst
    M llvm/docs/tutorial/BuildingAJIT3.rst
    M llvm/docs/tutorial/BuildingAJIT4.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl01.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl05.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl06.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst

  Log Message:
  -----------
  Revert "[Docs] Migrate LLVM docs to furo" (#208619)

Reverts llvm/llvm-project#184440

Furo seems to parse the entire navtree HTML blob for every page, and the
navtree is large, so now doc building takes > 25min. I wasn't able to
fix forward, so let's roll back for now.

Agent analysis here:
https://gist.github.com/rnk/5e26e09fbf1f51a501e6ab4139d048ad


  Commit: 1d73e32bf36b98cce9dda0d5fba482aa81a88d1d
      https://github.com/llvm/llvm-project/commit/1d73e32bf36b98cce9dda0d5fba482aa81a88d1d
  Author: David Green <david.green at arm.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combine-ptr-add-chain.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-and-trivial-mask.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-anyext-to-zext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-constant-fold.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-copy-prop.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-identity.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-merge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-redundant-sextinreg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-sameopcode-hands-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-split-zero-stores.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-undef.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-unmergedup.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-adjust-icmp-imm.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-ext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-rev.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-sextinreg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-duplane.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuffle-splat.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-trn.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-truncstore.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-unmerge-ext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-uzp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-vashr-vlshr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-zip.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extending-loads.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extractvec-faddp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-hoist-same-hands.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-mulpow2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-rotate.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-select.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update scalar types in postlegalizer tests. NFC (#208620)


  Commit: 3c138b5c5958dce2daefa923a1cae612e47a4273
      https://github.com/llvm/llvm-project/commit/3c138b5c5958dce2daefa923a1cae612e47a4273
  Author: Emery Conrad <conrade.ctc at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    A clang/test/Interpreter/emulated-tls.cpp
    M llvm/lib/ExecutionEngine/Orc/Layer.cpp

  Log Message:
  -----------
  Reland "[ORC] Track __emutls_t definitions in IRMaterializationUnit" (#207161) (#208413)

Relands #207161, which was reverted in #207775 after the new
`clang/test/Interpreter/emulated-tls.cpp` failed on Darwin with `Symbols
not found: [ ___emutls_get_address ]`.

The `IRMaterializationUnit` fix and the test are unchanged from #207161.
What the failure exposed is that thread_locals never worked in
clang-repl on Darwin: `__emutls_get_address` is implemented in the
compiler-rt builtins static archive, and nothing links it into the
process, so process-symbol lookup cannot resolve it (on Linux it
resolves from `libgcc_s.so`).

New in this reland, per @lhames's suggestion (option 2) on the original
PR:

- `clang/lib/Interpreter/IncrementalExecutor.cpp`: on `__APPLE__`,
reference `__emutls_get_address` (forcing the builtins archive member to
be linked in) and define it as an absolute symbol in the process-symbols
JITDylib, following the precedent of the MinGW `__main` workaround in
`lli.cpp`. Scoped to the default in-process JITBuilder path only — the
host address would be meaningless for an out-of-process executor, and
custom-builder clients do their own setup.

Verified on an aarch64-darwin machine: the previously failing test now
passes, along with the rest of `clang/test/Interpreter`.

@vgvassilev @lhames — could you take a look?

🤖 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: 3ce1af9f73de5577ed611d93440a751e68d467cb
      https://github.com/llvm/llvm-project/commit/3ce1af9f73de5577ed611d93440a751e68d467cb
  Author: David Green <david.green at arm.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add bf16 vecreduce test coverage. NFC (#208628)


  Commit: 9bfd0ff9143d96c249e55180b0bfe0e39516cc81
      https://github.com/llvm/llvm-project/commit/9bfd0ff9143d96c249e55180b0bfe0e39516cc81
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/test/Target/Cpp/expressions.mlir

  Log Message:
  -----------
  [mlir][emitc] Fix hasSideEffects of emitc.cast (#208607)

When `pure` attribute is set, the cast op is side-effect-free, so we
should return false in `hasSideEffects` method.


  Commit: 5246dffd0e54a500db30249fe2e76343b7e9d187
      https://github.com/llvm/llvm-project/commit/5246dffd0e54a500db30249fe2e76343b7e9d187
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    A orc-rt/docs/CodingConventions.md
    M orc-rt/docs/index.md

  Log Message:
  -----------
  [orc-rt] Add a coding conventions doc (#208623)

Add docs/CodingConventions.md, recording that ORC-RT follows the LLVM
Coding Standards and describing the C API naming conventions.


  Commit: 94b8fb92f78cbef24ff357d37db18b13d47749ad
      https://github.com/llvm/llvm-project/commit/94b8fb92f78cbef24ff357d37db18b13d47749ad
  Author: Urvi Rav <94829943+ravurvi20 at users.noreply.github.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/ordered02.f90

  Log Message:
  -----------
  [Flang][OpenMP] Added diagnostic for ORDERED THREADS SIMD inside plain SIMD region (#205723)

Fixes [#205516 ](https://github.com/llvm/llvm-project/issues/205516)

#### Problem
Per OpenMP 4.5 Sec 2.13.8 Restrictions:

> An ordered region arising from an ordered construct with both the simd
and
> threads clauses must be closely nested inside a loop SIMD region.

Flang was missing this check. `!$OMP ORDERED THREADS SIMD` inside a
standalone `!$OMP SIMD` region was accepted without diagnostic.
#### Fix
`check-omp-structure.cpp`: Added a new check in
`ChecksOnOrderedAsBlock()`. If an ORDERED directive has both SIMD and
THREADS clauses and is nested inside a standalone SIMD region (but not a
DO SIMD region), emit the following error:

`An ORDERED directive with SIMD and THREADS clauses must be closely
nested in a worksharing-loop SIMD region.`

`ordered02.f90`: Added two test cases:
Negative test: ORDERED THREADS SIMD inside !$OMP SIMD → expected error.
Positive test: ORDERED THREADS SIMD inside !$OMP DO SIMD ordered → no
error, as allowed by OpenMP 2.13.8.


  Commit: b6a66701fae185048c88a04a4584b4f2de01b73a
      https://github.com/llvm/llvm-project/commit/b6a66701fae185048c88a04a4584b4f2de01b73a
  Author: Akshat Dalal <adalal at amd.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/ImplicitNullChecks.cpp
    A llvm/test/CodeGen/X86/implicit-null-check-debugloc.ll

  Log Message:
  -----------
  [ImplicitNullChecks] Preserve debug location on FAULTING_OP (#205560)

insertFaultingInstr() built the FAULTING_OP with an empty DebugLoc,
dropping the folded memory op's source location. As a result, the
faulting load is mislabeled in the line table, giving wrong source
attribution for the very instruction that traps on a null deref. Fix by
using MI->getDebugLoc().

The original report also flagged dropped MIFlags and def renamable/
sub-register/early-clobber bits, but those are not observable:
Unpredictable is never set on loads, the register bits are never read
(FAULTING_OP is opaque until AsmPrinter), and the sub-register write is
already modeled correctly. Only the debug location is fixed here.


  Commit: 94f2339a71a34c076583c7c33085737e6f3eaf69
      https://github.com/llvm/llvm-project/commit/94f2339a71a34c076583c7c33085737e6f3eaf69
  Author: bassiounix <muhammad.m.bassiouni at gmail.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/green-dragon/lldb-windows.groovy
    M .clang-format-ignore
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/actions/push-container/action.yml
    M .github/new-issues-labeler.yml
    M .github/new-prs-labeler.yml
    M .github/workflows/bazel-checks.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/docs.yml
    M .github/workflows/hlsl-test-all.yaml
    M .github/workflows/ids-check.yml
    M .github/workflows/issue-release-workflow.yml
    R .github/workflows/issue-subscriber.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    R .github/workflows/libclang-python-tests.yml
    A .github/workflows/libcxx-pr-benchmark.yml
    R .github/workflows/libcxx-run-benchmarks.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-lint.yml
    R .github/workflows/pr-subscriber.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/prune-branches.yml
    M .github/workflows/prune-unused-branches.py
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    M .github/workflows/release-llvm-testing-tools.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/spirv-tests.yml
    A .github/workflows/subscriber.yml
    M .github/workflows/sycl-tests.yml
    A .github/workflows/test-suite.yml
    A .github/workflows/test-suite/aarch64.cmake
    A .github/workflows/test-suite/configure-and-build.sh
    A .github/workflows/test-suite/llvm.cmake
    A .github/workflows/test-suite/riscv64.cmake
    A .github/workflows/test-suite/x86_64.cmake
    M .github/workflows/upload-release-artifact/action.yml
    M .gitignore
    M bolt/CMakeLists.txt
    M bolt/docs/BAT.md
    A bolt/docs/BOLTAArch64OptimizationStatus.rst
    M bolt/docs/BinaryAnalysis.md
    M bolt/docs/CMakeLists.txt
    A bolt/docs/GettingStarted.rst
    M bolt/docs/OptimizingClang.md
    M bolt/docs/PointerAuthDesign.md
    M bolt/docs/conf.py
    M bolt/docs/doxygen.cfg.in
    M bolt/docs/index.rst
    M bolt/docs/profiles.md
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/include/bolt/Passes/DataflowAnalysis.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/DataReader.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/ProfileQualityStats.cpp
    M bolt/lib/Passes/ReorderAlgorithm.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    M bolt/test/AArch64/computed-goto.s
    A bolt/test/AArch64/constant-island-reproducible.s
    A bolt/test/AArch64/icp-inline.c
    A bolt/test/AArch64/icp.c
    M bolt/test/AArch64/instrument-no-fini.s
    M bolt/test/AArch64/unsupported-passes.test
    A bolt/test/AArch64/use-old-text-zero-padding.c
    A bolt/test/AArch64/veneer-erratum-843419.s
    M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
    A bolt/test/X86/dwarf4-cross-cu-ranges.test
    M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
    A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
    M bolt/test/X86/dwarf5-locexpr-addrx.s
    M bolt/test/X86/heatmap-preagg.test
    M bolt/test/X86/icf-safe-icp.test
    M bolt/test/X86/icf-safe-test1.test
    M bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
    M bolt/test/X86/indirect-goto.test
    M bolt/test/X86/infer_no_exits.test
    M bolt/test/X86/instrument-no-fini.s
    A bolt/test/X86/instrument-static-pie.s
    M bolt/test/X86/nolbr.s
    M bolt/test/X86/patch-entries.test
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/pre-aggregated-records.s
    A bolt/test/X86/relr-odd-unaligned.c
    A bolt/test/binary-analysis/AArch64/cfg-warning.s
    M bolt/test/eh-frame-hdr.test
    M bolt/test/indirect-goto-relocs.test
    M bolt/test/lit.cfg.py
    A bolt/test/merge-fdata-no-lbr-event-multi.test
    A bolt/test/merge-fdata-no-lbr-event.test
    M bolt/test/perf2bolt/lit.local.cfg
    A bolt/test/perf2bolt/perf_brstack.test
    M bolt/test/perf2bolt/perf_test.test
    M bolt/test/runtime/X86/instrument-wrong-target.s
    A bolt/test/runtime/setup-race.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/Core/MemoryMaps.cpp
    M bolt/unittests/Profile/CMakeLists.txt
    M bolt/unittests/Profile/DataAggregator.cpp
    A bolt/unittests/Profile/PerfScripts.cpp
    M bolt/unittests/Profile/PerfSpeEvents.cpp
    A clang-tools-extra/Maintainers.md
    R clang-tools-extra/Maintainers.rst
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/CMakeLists.txt
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    A clang-tools-extra/clang-doc/markdown/CMakeLists.txt
    A clang-tools-extra/clang-doc/markdown/Markdown.cpp
    A clang-tools-extra/clang-doc/markdown/Markdown.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.h
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
    M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
    M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
    M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantNestedIfCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantNestedIfCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/TrivialSwitchCheck.cpp
    A clang-tools-extra/clang-tidy/readability/TrivialSwitchCheck.h
    M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
    M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.cpp
    M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.h
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
    M clang-tools-extra/clang-tidy/utils/TypeTraits.h
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/AST.h
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
    M clang-tools-extra/clangd/Headers.h
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/SymbolDocumentation.cpp
    M clang-tools-extra/clangd/SymbolDocumentation.h
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/StdLib.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/SymbolID.h
    M clang-tools-extra/clangd/index/dex/Token.h
    M clang-tools-extra/clangd/index/dex/Trigram.h
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/support/Markup.cpp
    M clang-tools-extra/clangd/support/Markup.h
    M clang-tools-extra/clangd/test/background-index.test
    M clang-tools-extra/clangd/test/did-change-configuration-params.test
    M clang-tools-extra/clangd/test/include-cleaner-batch-fix.test
    A clang-tools-extra/clangd/test/modules_config_remove_flags.test
    M clang-tools-extra/clangd/test/path-mappings.test
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompletionStringsTests.cpp
    M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
    M clang-tools-extra/docs/CMakeLists.txt
    A clang-tools-extra/docs/Maintainers.md
    R clang-tools-extra/docs/Maintainers.rst
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/command-processor.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/float-loop-counter.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/std-namespace-modification.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-code-paths.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/new-delete-overloads.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/non-copyable-objects.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/static-initialization-cycle.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-setjmp-longjmp.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-variadic-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-nested-if.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/trivial-switch.rst
    M clang-tools-extra/docs/conf.py
    M clang-tools-extra/docs/doxygen.cfg.in
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    M clang-tools-extra/test/.gitattributes
    A clang-tools-extra/test/clang-doc/Inputs/DR-141990.cpp
    A clang-tools-extra/test/clang-doc/Inputs/array-type.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/database_template.json
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Rectangle.h
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Shape.h
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
    A clang-tools-extra/test/clang-doc/Inputs/builtin_types.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class-requires.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class-specialization.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class-template.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class.cpp
    A clang-tools-extra/test/clang-doc/Inputs/comments-in-macros.cpp
    A clang-tools-extra/test/clang-doc/Inputs/compact.cpp
    A clang-tools-extra/test/clang-doc/Inputs/compound-constraints.cpp
    A clang-tools-extra/test/clang-doc/Inputs/concept.cpp
    A clang-tools-extra/test/clang-doc/Inputs/conversion_function.cpp
    M clang-tools-extra/test/clang-doc/Inputs/enum.cpp
    A clang-tools-extra/test/clang-doc/Inputs/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/function-requires.cpp
    A clang-tools-extra/test/clang-doc/Inputs/function-specifiers.cpp
    A clang-tools-extra/test/clang-doc/Inputs/index.cpp
    A clang-tools-extra/test/clang-doc/Inputs/inheritance.cpp
    A clang-tools-extra/test/clang-doc/Inputs/long-name.cpp
    A clang-tools-extra/test/clang-doc/Inputs/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/method-template.cpp
    A clang-tools-extra/test/clang-doc/Inputs/multiple-namespaces.cpp
    A clang-tools-extra/test/clang-doc/Inputs/mustache-index.cpp
    A clang-tools-extra/test/clang-doc/Inputs/mustache-separate-namespace.cpp
    A clang-tools-extra/test/clang-doc/Inputs/namespace-html-md.cpp
    A clang-tools-extra/test/clang-doc/Inputs/namespace.cpp
    A clang-tools-extra/test/clang-doc/Inputs/nested-namespace.cpp
    A clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/Inputs/single-file-public.cpp
    A clang-tools-extra/test/clang-doc/Inputs/single-file.cpp
    A clang-tools-extra/test/clang-doc/Inputs/templates.cpp
    M clang-tools-extra/test/clang-doc/Inputs/test-assets/test.css
    M clang-tools-extra/test/clang-doc/Inputs/test-assets/test.js
    A clang-tools-extra/test/clang-doc/Inputs/typedef-alias.cpp
    M clang-tools-extra/test/clang-doc/basic-project.mustache.test
    M clang-tools-extra/test/clang-doc/basic-project.test
    R clang-tools-extra/test/clang-doc/builtin_types.cpp
    R clang-tools-extra/test/clang-doc/comments-in-macros.cpp
    R clang-tools-extra/test/clang-doc/conversion_function.cpp
    R clang-tools-extra/test/clang-doc/enum.cpp
    A clang-tools-extra/test/clang-doc/html/array-type.cpp
    A clang-tools-extra/test/clang-doc/html/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/html/class-specialization.cpp
    A clang-tools-extra/test/clang-doc/html/class.cpp
    A clang-tools-extra/test/clang-doc/html/comments-in-macros.cpp
    A clang-tools-extra/test/clang-doc/html/compound-constraints.cpp
    A clang-tools-extra/test/clang-doc/html/conversion_function.cpp
    A clang-tools-extra/test/clang-doc/html/enum.cpp
    A clang-tools-extra/test/clang-doc/html/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/html/index.cpp
    A clang-tools-extra/test/clang-doc/html/long-name.cpp
    A clang-tools-extra/test/clang-doc/html/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/html/mustache-index.cpp
    A clang-tools-extra/test/clang-doc/html/mustache-separate-namespace.cpp
    A clang-tools-extra/test/clang-doc/html/namespace.cpp
    A clang-tools-extra/test/clang-doc/html/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/html/templates.cpp
    A clang-tools-extra/test/clang-doc/html/typedef-alias.cpp
    R clang-tools-extra/test/clang-doc/index.cpp
    A clang-tools-extra/test/clang-doc/json/array-type.cpp
    A clang-tools-extra/test/clang-doc/json/class-partial-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-requires.cpp
    M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-template.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp
    A clang-tools-extra/test/clang-doc/json/compact.cpp
    M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    A clang-tools-extra/test/clang-doc/json/conversion_function.cpp
    A clang-tools-extra/test/clang-doc/json/enum.cpp
    A clang-tools-extra/test/clang-doc/json/function-pointer-type.cpp
    M clang-tools-extra/test/clang-doc/json/function-requires.cpp
    M clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
    A clang-tools-extra/test/clang-doc/json/index.cpp
    M clang-tools-extra/test/clang-doc/json/inheritance.cpp
    A clang-tools-extra/test/clang-doc/json/long-name.cpp
    A clang-tools-extra/test/clang-doc/json/member-function-pointer-type.cpp
    M clang-tools-extra/test/clang-doc/json/method-template.cpp
    M clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
    A clang-tools-extra/test/clang-doc/json/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/json/templates.cpp
    R clang-tools-extra/test/clang-doc/long-name.cpp
    A clang-tools-extra/test/clang-doc/md/array-type.cpp
    A clang-tools-extra/test/clang-doc/md/builtin_types.cpp
    A clang-tools-extra/test/clang-doc/md/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/md/comments-in-macros.cpp
    A clang-tools-extra/test/clang-doc/md/enum.cpp
    A clang-tools-extra/test/clang-doc/md/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/md/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/md/namespace.cpp
    A clang-tools-extra/test/clang-doc/md/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/md/templates.cpp
    R clang-tools-extra/test/clang-doc/mustache-index.cpp
    R clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
    R clang-tools-extra/test/clang-doc/namespace.cpp
    R clang-tools-extra/test/clang-doc/single-file-public.cpp
    R clang-tools-extra/test/clang-doc/single-file.cpp
    R clang-tools-extra/test/clang-doc/templates.cpp
    R clang-tools-extra/test/clang-doc/typedef-alias.cpp
    A clang-tools-extra/test/clang-doc/yaml/builtin_types.cpp
    A clang-tools-extra/test/clang-doc/yaml/conversion_function.cpp
    A clang-tools-extra/test/clang-doc/yaml/single-file-public.cpp
    A clang-tools-extra/test/clang-doc/yaml/single-file.cpp
    A clang-tools-extra/test/clang-doc/yaml/templates.cpp
    A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
    A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
    M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
    M clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-inline-asm.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/copy-constructor-mutates-argument.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-bitfield.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-code-paths.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-allow-implicit.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-implicit-delete.cpp
    M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/loop-convert/structures.h
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-default-member-init/non-visible-references.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-style-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits-remove-cvref.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references-notes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-virtual-and-override.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
    M clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/redundant-nested-if/common.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-attributes.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-allow-bool-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx17-allow-bool-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx17.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx23.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx26.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-notes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/trivial-switch.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-mac-libcxx.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/remarks.cpp
    M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    A clang-tools-extra/unittests/clang-doc/MarkdownParserTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
    A clang-tools-extra/unittests/clang-tidy/TypeTraitsTest.cpp
    R clang/.clang-format-ignore
    M clang/CMakeLists.txt
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_source_range.py
    M clang/bindings/python/tests/cindex/test_translation_unit.py
    M clang/bindings/xml/comment-xml-schema.rng
    M clang/cmake/caches/Fuchsia-stage2.cmake
    A clang/cmake/caches/generic-allow-shared-imports.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
    M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
    M clang/cmake/modules/ClangConfig.cmake.in
    M clang/docs/AMDGPUSupport.rst
    A clang/docs/AddressSanitizer.md
    R clang/docs/AddressSanitizer.rst
    M clang/docs/CMakeLists.txt
    M clang/docs/ClangLinkerWrapper.rst
    M clang/docs/ClangSYCLLinker.rst
    A clang/docs/ClangStaticAnalyzer.md
    R clang/docs/ClangStaticAnalyzer.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/ConstantInterpreter.rst
    A clang/docs/CrossCompilation.md
    R clang/docs/CrossCompilation.rst
    A clang/docs/DataFlowSanitizer.md
    R clang/docs/DataFlowSanitizer.rst
    A clang/docs/FunctionEffectAnalysis.md
    R clang/docs/FunctionEffectAnalysis.rst
    A clang/docs/HIPSupport.md
    R clang/docs/HIPSupport.rst
    A clang/docs/HLSL/HLSLDocs.md
    R clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/InternalsManual.rst
    A clang/docs/LTOVisibility.md
    R clang/docs/LTOVisibility.rst
    A clang/docs/LanguageExtensions.md
    R clang/docs/LanguageExtensions.rst
    A clang/docs/LeakSanitizer.md
    R clang/docs/LeakSanitizer.rst
    M clang/docs/LibASTMatchersReference.html
    A clang/docs/LifetimeSafety.md
    R clang/docs/LifetimeSafety.rst
    A clang/docs/MSVCCompatibility.md
    R clang/docs/MSVCCompatibility.rst
    A clang/docs/MemorySanitizer.md
    R clang/docs/MemorySanitizer.rst
    A clang/docs/MisExpect.md
    R clang/docs/MisExpect.rst
    A clang/docs/Modules.md
    R clang/docs/Modules.rst
    M clang/docs/Multilib.rst
    A clang/docs/OpenCLSupport.md
    R clang/docs/OpenCLSupport.rst
    A clang/docs/OpenMPSupport.md
    R clang/docs/OpenMPSupport.rst
    A clang/docs/OverflowBehaviorTypes.md
    R clang/docs/OverflowBehaviorTypes.rst
    A clang/docs/PointerAuthentication.md
    R clang/docs/PointerAuthentication.rst
    A clang/docs/RealtimeSanitizer.md
    R clang/docs/RealtimeSanitizer.rst
    A clang/docs/ReleaseNotes.md
    R clang/docs/ReleaseNotes.rst
    M clang/docs/ReleaseNotesTemplate.txt
    A clang/docs/SYCLSupport.md
    R clang/docs/SYCLSupport.rst
    A clang/docs/SafeBuffers.md
    R clang/docs/SafeBuffers.rst
    A clang/docs/SafeStack.md
    R clang/docs/SafeStack.rst
    A clang/docs/SanitizerCoverage.md
    R clang/docs/SanitizerCoverage.rst
    A clang/docs/SanitizerSpecialCaseList.md
    R clang/docs/SanitizerSpecialCaseList.rst
    A clang/docs/SanitizerStats.md
    R clang/docs/SanitizerStats.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/index.rst
    A clang/docs/ScalableStaticAnalysis/index.md
    A clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/SummaryExtractionInternals.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/index.rst
    R clang/docs/ScalableStaticAnalysisFramework/index.rst
    R clang/docs/ScalableStaticAnalysisFramework/user-docs/SummaryExtraction.rst
    A clang/docs/ShadowCallStack.md
    R clang/docs/ShadowCallStack.rst
    A clang/docs/SourceBasedCodeCoverage.md
    R clang/docs/SourceBasedCodeCoverage.rst
    A clang/docs/StandardCPlusPlusModules.md
    R clang/docs/StandardCPlusPlusModules.rst
    A clang/docs/StructureProtection.md
    R clang/docs/StructureProtection.rst
    A clang/docs/ThinLTO.md
    R clang/docs/ThinLTO.rst
    A clang/docs/ThreadSafetyAnalysis.md
    R clang/docs/ThreadSafetyAnalysis.rst
    A clang/docs/ThreadSanitizer.md
    R clang/docs/ThreadSanitizer.rst
    A clang/docs/Toolchain.md
    R clang/docs/Toolchain.rst
    A clang/docs/TypeSanitizer.md
    R clang/docs/TypeSanitizer.rst
    A clang/docs/UndefinedBehaviorSanitizer.md
    R clang/docs/UndefinedBehaviorSanitizer.rst
    A clang/docs/UsersManual.md
    R clang/docs/UsersManual.rst
    A clang/docs/WarningSuppressionMappings.md
    R clang/docs/WarningSuppressionMappings.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/developer-docs/IPA.rst
    M clang/docs/conf.py
    M clang/docs/doxygen.cfg.in
    R clang/docs/ghlinks.py
    M clang/docs/index.rst
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang-c/BuildSystem.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTTypeTraits.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/BaseSubobject.h
    M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
    M clang/include/clang/AST/CharUnits.h
    M clang/include/clang/AST/Comment.h
    M clang/include/clang/AST/CommentLexer.h
    M clang/include/clang/AST/CommentSema.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DeclarationName.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/HLSLResource.h
    M clang/include/clang/AST/Mangle.h
    A clang/include/clang/AST/MatrixUtils.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/StmtVisitor.h
    A clang/include/clang/AST/SubobjectVisitor.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/AST/TypeOrdering.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/Dominators.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/Analysis/CFG.h
    M clang/include/clang/Analysis/CallGraph.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/Formula.h
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/Analysis/RetainSummaryManager.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/ABIVersions.def
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinHeaders.def
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    A clang/include/clang/Basic/BuiltinsAVR.def
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/BuiltinsX86_64.td
    A clang/include/clang/Basic/BuiltinsZOS.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/DebugOptions.def
    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/DiagnosticCommonKinds.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/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticOptions.def
    M clang/include/clang/Basic/DiagnosticOptions.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DirectoryEntry.h
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/FileManager.h
    R clang/include/clang/Basic/FileSystemStatCache.h
    M clang/include/clang/Basic/HLSLIntrinsics.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/Module.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/OpenCLOptions.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/PragmaKinds.h
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/CIRToCIRPasses.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    A clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
    A clang/include/clang/CIR/InitAllDialects.h
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    M clang/include/clang/Config/config.h.cmake
    M clang/include/clang/DependencyScanning/DependencyActionController.h
    M clang/include/clang/DependencyScanning/DependencyGraph.h
    M clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/Compilation.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Interpreter/IncrementalExecutor.h
    M clang/include/clang/Interpreter/Value.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Lex/MultipleIncludeOpt.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    A clang/include/clang/Lex/TextEncoding.h
    M clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/OptionUtils.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/CMakeLists.txt
    M clang/include/clang/Parse/Parser.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointers.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/BuiltinAnchorSources.def
    A clang/include/clang/ScalableStaticAnalysis/Core/ASTEntityMapping.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntitySummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchSharedLibrary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/StaticLibrary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/TUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityId.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityIdTable.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityLinkage.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/SummaryName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/LUSummaryConsumer.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryData.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataStore.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataTraits.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Support/ErrorBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Support/FormatProviders.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/EntitySummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummaryBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisBase.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisResult.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisTraits.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/DerivedAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/SummaryAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/WPASuite.h
    A clang/include/clang/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.h
    A clang/include/clang/ScalableStaticAnalysis/SSAFBuiltinForceLinker.h
    A clang/include/clang/ScalableStaticAnalysis/SSAFForceLinker.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/SARIFTransformationReportFormat.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/SourceEditEmitter.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformation.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationReportEmitter.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/YAMLSourceEditFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Tool/Utils.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisBase.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisDriver.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisResult.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisTraits.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SSAFForceLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.h
    M clang/include/clang/Sema/CMakeLists.txt
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Designator.h
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/include/clang/Sema/Initialization.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/include/clang/Sema/SemaCUDA.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenCL.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/Weak.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/CMakeLists.txt
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
    M clang/include/clang/StaticAnalyzer/Core/Analyses.def
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/Checker.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Support/Compiler.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Testing/TestLanguage.def
    M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/AttrImpl.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.h
    M clang/lib/AST/ByteCode/Floating.h
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/InitMap.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpHelpers.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/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/Source.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/CommentLexer.cpp
    M clang/lib/AST/CommentParser.cpp
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/FormatString.cpp
    M clang/lib/AST/ItaniumCXXABI.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/ScanfFormatString.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/CallGraph.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/FormulaSerialization.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.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/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/DarwinSDKInfo.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    R clang/lib/Basic/FileSystemStatCache.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/ParsedAttrInfo.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.cpp
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/Basic/Warnings.cpp
    M clang/lib/CIR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenMPClause.cpp
    A clang/lib/CIR/CodeGen/CIRGenOpenMPClause.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    A clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    A clang/lib/CIR/Dialect/IR/CIROpenCLAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
    A clang/lib/CIR/Dialect/Transforms/LibOpt.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/AMDGPU.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/NVPTX.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    A clang/lib/CIR/RegisterAllDialects.cpp
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/lib/CodeGen/README.txt
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    A clang/lib/CodeGen/TargetBuiltins/AVR.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/BPF.cpp
    M clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/lib/CodeGen/pch.h
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.h
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.h
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.h
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Haiku.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hexagon.h
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSP430.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/Managarm.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OHOS.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.h
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.h
    M clang/lib/Driver/ToolChains/Serenity.cpp
    M clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/Solaris.h
    M clang/lib/Driver/ToolChains/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/ToolChains/XCore.cpp
    M clang/lib/Driver/ToolChains/XCore.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/ToolChains/ZOS.h
    M clang/lib/Driver/Types.cpp
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/NumericLiteralInfo.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/ASTConsumers.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/__clang_gpu_builtin_vars.h
    A clang/lib/Headers/__clang_gpu_device_functions.h
    A clang/lib/Headers/__clang_gpu_intrinsics.h
    M clang/lib/Headers/__clang_hip_libdevice_declares.h
    M clang/lib/Headers/__clang_hip_runtime_wrapper.h
    M clang/lib/Headers/amdgpuintrin.h
    R clang/lib/Headers/amxtf32intrin.h
    M clang/lib/Headers/arm64intr.h
    M clang/lib/Headers/avx2intrin.h
    A clang/lib/Headers/avx512bmmintrin.h
    A clang/lib/Headers/avx512bmmvlintrin.h
    M clang/lib/Headers/avx512bwintrin.h
    M clang/lib/Headers/avx512fintrin.h
    M clang/lib/Headers/avx512vlvnniintrin.h
    M clang/lib/Headers/avx512vnniintrin.h
    M clang/lib/Headers/avx512vp2intersectintrin.h
    M clang/lib/Headers/avxvnniintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/ptrauth.h
    A clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Headers/spirvintrin.h
    M clang/lib/Headers/stdint.h
    M clang/lib/Headers/wasm_simd128.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/stdlib.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/Index/CommentToXML.cpp
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/lib/Interpreter/Value.cpp
    M clang/lib/Lex/CMakeLists.txt
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    A clang/lib/Lex/TextEncoding.cpp
    M clang/lib/Options/OptionUtils.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphJSONFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointersExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.h
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    A clang/lib/ScalableStaticAnalysis/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Core/ASTEntityMapping.cpp
    A clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/BuildNamespace.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityId.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityIdTable.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityLinkage.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/SummaryName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/ModelStringConversions.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchSharedLibrary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchStaticLibrary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/StaticLibrary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/TUSummary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/WPASuite.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/SummaryData/LUSummaryConsumer.cpp
    A clang/lib/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Support/ErrorBuilder.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryBuilder.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Frontend/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/AnalysisResults.h
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/PairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/TagsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/SARIFTransformationReportFormat.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/YAMLSourceEditFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Tool/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Tool/Utils.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/AnalysisResults.h
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/PairsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaBase.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.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/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenCL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.h
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedNewArraySizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/UseAfterLifetimeEnd.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Yaml.h
    M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    R clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
    A clang/lib/StaticAnalyzer/Core/PrettyStackTraceStackFrame.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Core/WorkList.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/CompilationDatabase.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/Execution.cpp
    M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
    A clang/test/APINotes/Inputs/Headers/WhereParametersMapElement.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersMethodWhereSequence.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersMissingName.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersParser.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersScalar.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersUnknownWhereKey.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersWhereSequence.apinotes
    A clang/test/APINotes/Inputs/WhereParametersConvertDiag/APINotes.apinotes
    A clang/test/APINotes/Inputs/WhereParametersConvertDiag/WhereParametersConvertDiag.h
    A clang/test/APINotes/Inputs/WhereParametersEmptyWhereDiag/APINotes.apinotes
    A clang/test/APINotes/Inputs/WhereParametersEmptyWhereDiag/WhereParametersConvertDiag.h
    M clang/test/APINotes/module-cache.m
    A clang/test/APINotes/where-parameters-convert-diags.cpp
    A clang/test/APINotes/where-parameters-yaml.test
    A clang/test/AST/ByteCode/blocks.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/builtins.c
    M clang/test/AST/ByteCode/c.c
    A clang/test/AST/ByteCode/codegen-cxx2a.cpp
    M clang/test/AST/ByteCode/codegen.c
    M clang/test/AST/ByteCode/codegen.cpp
    A clang/test/AST/ByteCode/command-line-options.cpp
    M clang/test/AST/ByteCode/complex.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    A clang/test/AST/ByteCode/dynamic-cast.cpp
    A clang/test/AST/ByteCode/enable_if.c
    A clang/test/AST/ByteCode/evaluate-dtor-codegen.cpp
    A clang/test/AST/ByteCode/evaluate-dtor.cpp
    M clang/test/AST/ByteCode/extern.cpp
    M clang/test/AST/ByteCode/intap.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    A clang/test/AST/ByteCode/libcxx/getfield-nonrecord.cpp
    M clang/test/AST/ByteCode/literals.cpp
    A clang/test/AST/ByteCode/module-dummy-redecl.cpp
    M clang/test/AST/ByteCode/mutable.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/ByteCode/switch-case-steps.cpp
    M clang/test/AST/ByteCode/typeid.cpp
    M clang/test/AST/ByteCode/unions.cpp
    R clang/test/AST/HLSL/ConstantBuffers-AST-error.hlsl
    M clang/test/AST/HLSL/ConstantBuffers-AST.hlsl
    A clang/test/AST/HLSL/StructPassing-AST.hlsl
    A clang/test/AST/HLSL/Texture2DArray-scalar-AST.hlsl
    A clang/test/AST/HLSL/Texture2DArray-shorthand-AST.hlsl
    A clang/test/AST/HLSL/Texture2DArray-vector-AST.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/matrix-constructors.hlsl
    M clang/test/AST/HLSL/matrix_layout_attr.hlsl
    A clang/test/AST/HLSL/resources-in-structs-method-call.hlsl
    M clang/test/AST/HLSL/semantic-output-struct-shadow.hlsl
    M clang/test/AST/HLSL/semantic-output-struct.hlsl
    M clang/test/AST/ast-dump-aarch64-mte.c
    A clang/test/AST/ast-dump-init.cpp
    R clang/test/AST/ast-dump-openmp-atomic.c
    R clang/test/AST/ast-dump-openmp-barrier.c
    R clang/test/AST/ast-dump-openmp-cancel.c
    R clang/test/AST/ast-dump-openmp-cancellation-point.c
    R clang/test/AST/ast-dump-openmp-critical.c
    R clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-distribute.c
    R clang/test/AST/ast-dump-openmp-flush.c
    R clang/test/AST/ast-dump-openmp-for-simd.c
    R clang/test/AST/ast-dump-openmp-for.c
    R clang/test/AST/ast-dump-openmp-master.c
    R clang/test/AST/ast-dump-openmp-ordered.c
    R clang/test/AST/ast-dump-openmp-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-parallel-for.c
    R clang/test/AST/ast-dump-openmp-parallel-sections.c
    R clang/test/AST/ast-dump-openmp-parallel.c
    R clang/test/AST/ast-dump-openmp-section.c
    R clang/test/AST/ast-dump-openmp-sections.c
    R clang/test/AST/ast-dump-openmp-simd.c
    R clang/test/AST/ast-dump-openmp-single.c
    R clang/test/AST/ast-dump-openmp-split.c
    R clang/test/AST/ast-dump-openmp-target-data.c
    R clang/test/AST/ast-dump-openmp-target-enter-data.c
    R clang/test/AST/ast-dump-openmp-target-exit-data.c
    R clang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-target-parallel-for.c
    R clang/test/AST/ast-dump-openmp-target-parallel.c
    R clang/test/AST/ast-dump-openmp-target-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute.c
    R clang/test/AST/ast-dump-openmp-target-teams.c
    R clang/test/AST/ast-dump-openmp-target-update.c
    R clang/test/AST/ast-dump-openmp-target.c
    R clang/test/AST/ast-dump-openmp-task.c
    R clang/test/AST/ast-dump-openmp-taskgroup.c
    R clang/test/AST/ast-dump-openmp-taskloop-simd.c
    R clang/test/AST/ast-dump-openmp-taskloop.c
    R clang/test/AST/ast-dump-openmp-taskwait.c
    R clang/test/AST/ast-dump-openmp-taskyield.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-teams-distribute.c
    R clang/test/AST/ast-dump-openmp-teams.c
    A clang/test/AST/ast-dump-riscv-rvv-fixed-length-mask-types.c
    A clang/test/AST/ast-print-amdgcn-predicate.c
    A clang/test/AST/ast_matchers_updated.test
    A clang/test/AST/attributed-type-dedup-address-space.c
    A clang/test/AST/attributed-type-dedup-annotate-type-args.c
    A clang/test/AST/attributed-type-dedup-annotate-type.m
    A clang/test/AST/attributed-type-dedup-nullability.m
    A clang/test/AST/attributed-type-dedup-objc-ownership.m
    A clang/test/AST/attributed-type-dedup-pcs.c
    A clang/test/AST/attributed-type-dedup-swift-attr.m
    A clang/test/AST/builtin-name-registration.c
    A clang/test/AST/dependent-assignment-classification.cpp
    A clang/test/AST/pr198903.cpp
    A clang/test/AST/tyloctype_alignment.cpp
    A clang/test/AST/undocumented-attrs.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
    A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    A clang/test/Analysis/Checkers/WebKit/unchecked-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
    M clang/test/Analysis/Checkers/WebKit/unchecked-members.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
    M clang/test/Analysis/Checkers/WebKit/uncounted-members-ref-deref-on-diff-classes.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-edges.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-id.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-empty.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-odd-count.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
    A clang/test/Analysis/Scalable/PointerFlow/entity-name-no-conflict.cpp
    A clang/test/Analysis/Scalable/PointerFlow/external-inline-function-in-multi-tu.test
    A clang/test/Analysis/Scalable/PointerFlow/lref-to-rref-cast.test
    A clang/test/Analysis/Scalable/PointerFlow/multi-decl-contributor.cpp
    A clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-epls.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-id.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-empty.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-odd-count.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
    M clang/test/Analysis/Scalable/call-graph.cpp
    A clang/test/Analysis/Scalable/cli-errors-compilation-unit-id.cpp
    M clang/test/Analysis/Scalable/command-line-interface.cpp
    M clang/test/Analysis/Scalable/downgradable-errors.cpp
    M clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp
    M clang/test/Analysis/Scalable/help.cpp
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-lu-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-shared-library-nonempty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-static-library-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-multi-arch-static-library-nonempty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-static-library-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-tu-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-wpa-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/unknown-type.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/id-table.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/linkage.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/summary-data.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/duplicate-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-empty-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-inner-error.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-namespace-mismatch.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/member-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/members-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/namespace-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-empty-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-multiple-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-nonempty-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-single-member.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/rt-three-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/Inputs/unsorted-three-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchSharedLibrary/top-level.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/duplicate-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-inner-error.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-namespace-mismatch.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/member-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/members-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/namespace-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/namespace-wrong-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-empty-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-multiple-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-nonempty-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-single-member.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-three-members.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/unsorted-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/unsorted-three-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/top-level.test
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/duplicate-member.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/member-inner-error.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/member-mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/member-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/member-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/member-triple-mismatch.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/members-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/missing-members.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/missing-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/missing-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/namespace-invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/namespace-missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/namespace-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/namespace-wrong-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/not-normalized-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/rt-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/rt-multiple-members.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/rt-single-member.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/Inputs/unsorted-members-input.json
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/StaticLibrary/top-level.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/id-table.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/linkage.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/summary-data.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/mismatched-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    A clang/test/Analysis/array-of-structs-initializer.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bstring.cpp
    M clang/test/Analysis/bstring_UninitRead.c
    M clang/test/Analysis/cstring-uninitread-notes.c
    M clang/test/Analysis/cxx23-assume-attribute.cpp
    A clang/test/Analysis/debug-lifetime-bound.cpp
    M clang/test/Analysis/infeasible-crash.c
    M clang/test/Analysis/initialization.c
    M clang/test/Analysis/initialization.cpp
    A clang/test/Analysis/lifetime-bound.cpp
    A clang/test/Analysis/lifetime-end-simple-cfg-output.cpp
    A clang/test/Analysis/malloc-failure.c
    A clang/test/Analysis/malloc-sizeof-fp.cpp
    M clang/test/Analysis/missing-z3-nocrash.c
    M clang/test/Analysis/placement-new.cpp
    A clang/test/Analysis/pr169302.cpp
    A clang/test/Analysis/pthreadlock-notes.c
    M clang/test/Analysis/std-c-library-functions-arg-constraints-tracking-notes.c
    M clang/test/Analysis/std-c-library-functions-arg-constraints.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/uninit-const.c
    M clang/test/Analysis/uninit-vals.m
    A clang/test/Analysis/use-after-move-iterator.cpp
    M clang/test/Analysis/use-after-move.cpp
    M clang/test/Analysis/wstring.c
    M clang/test/Analysis/z3/D83660.c
    M clang/test/Analysis/z3/pretty-dump.c
    M clang/test/Analysis/z3/z3-unarysymexpr.c
    M clang/test/C/C11/n1285_1.c
    M clang/test/C/C23/n3007.c
    M clang/test/C/C23/n3037.c
    M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
    M clang/test/CIR/CodeGen/abstract-cond.c
    A clang/test/CIR/CodeGen/agg-atomic-cast.c
    M clang/test/CIR/CodeGen/agg-expr-lvalue.c
    M clang/test/CIR/CodeGen/agg-init-constexpr.cpp
    M clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
    M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    M clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
    A clang/test/CIR/CodeGen/anonymous-nested-init.c
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array-dtor.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/assign-operator.cpp
    M clang/test/CIR/CodeGen/assume-attr.cpp
    A clang/test/CIR/CodeGen/atomic-libcall.c
    M clang/test/CIR/CodeGen/atomic-thread-fence.c
    M clang/test/CIR/CodeGen/atomic.c
    M clang/test/CIR/CodeGen/attr-noundef.cpp
    M clang/test/CIR/CodeGen/attr-target-x86.c
    M clang/test/CIR/CodeGen/base-to-derived.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/binassign.c
    A clang/test/CIR/CodeGen/bind-temporary-lvalue.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    A clang/test/CIR/CodeGen/bitfield-init-values.c
    A clang/test/CIR/CodeGen/bitfield-postinc.cpp
    M clang/test/CIR/CodeGen/bitfield-union.c
    M clang/test/CIR/CodeGen/bitfields.c
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/bitfields_be.c
    A clang/test/CIR/CodeGen/builtin-atomic-is-lock-free.c
    A clang/test/CIR/CodeGen/builtin-multiprecision.c
    M clang/test/CIR/CodeGen/builtins-x86.c
    M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast-cxx20.cpp
    M clang/test/CIR/CodeGen/cast.c
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/choose-expr.cpp
    M clang/test/CIR/CodeGen/class.cpp
    M clang/test/CIR/CodeGen/cleanup-automatic-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-out.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-within.cpp
    A clang/test/CIR/CodeGen/cleanup-scope-throw-caught.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-tmp-with-exception.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-tmp.cpp
    A clang/test/CIR/CodeGen/cleanup-throw-from-cleanup.cpp
    M clang/test/CIR/CodeGen/cleanup-throwing-dtor.cpp
    M clang/test/CIR/CodeGen/cleanup.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/comma.c
    M clang/test/CIR/CodeGen/complex-atomic-cast.c
    M clang/test/CIR/CodeGen/complex-builtins.cpp
    M clang/test/CIR/CodeGen/complex-cast.cpp
    M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
    M clang/test/CIR/CodeGen/complex-mul-div.cpp
    M clang/test/CIR/CodeGen/complex-plus-minus.cpp
    M clang/test/CIR/CodeGen/complex-unary.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    A clang/test/CIR/CodeGen/compound_literal.c
    M clang/test/CIR/CodeGen/compound_literal.cpp
    M clang/test/CIR/CodeGen/concept-specialization.cpp
    A clang/test/CIR/CodeGen/const-array-floating-point.c
    A clang/test/CIR/CodeGen/const-label-addr.c
    M clang/test/CIR/CodeGen/constant-expr.cpp
    M clang/test/CIR/CodeGen/constant-inits.cpp
    M clang/test/CIR/CodeGen/consteval-aggregate.cpp
    A clang/test/CIR/CodeGen/constexpr-ptr-offset.cpp
    M clang/test/CIR/CodeGen/copy-constructor.cpp
    A clang/test/CIR/CodeGen/coro-exceptions.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/count-of.c
    A clang/test/CIR/CodeGen/cross-reference-globals.c
    M clang/test/CIR/CodeGen/ctor-alias-prev-decl.cpp
    M clang/test/CIR/CodeGen/ctor-alias.cpp
    M clang/test/CIR/CodeGen/ctor-null-init.cpp
    M clang/test/CIR/CodeGen/ctor-try-body.cpp
    M clang/test/CIR/CodeGen/ctor.cpp
    M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
    A clang/test/CIR/CodeGen/cxx-construct-lvalue.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    M clang/test/CIR/CodeGen/cxx-default-init.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
    M clang/test/CIR/CodeGen/cxx-traits.cpp
    M clang/test/CIR/CodeGen/cxx23-explicit-object-member.cpp
    M clang/test/CIR/CodeGen/defaultarg.cpp
    M clang/test/CIR/CodeGen/deferred-fn-defs.cpp
    M clang/test/CIR/CodeGen/delegating-ctor-exceptions.cpp
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    M clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
    M clang/test/CIR/CodeGen/delete-array-unsized-dtor.cpp
    M clang/test/CIR/CodeGen/delete-array.cpp
    M clang/test/CIR/CodeGen/delete-destroying.cpp
    M clang/test/CIR/CodeGen/delete.cpp
    M clang/test/CIR/CodeGen/derived-to-base.cpp
    M clang/test/CIR/CodeGen/destructors.cpp
    M clang/test/CIR/CodeGen/dtor-alias-prev-decl.cpp
    M clang/test/CIR/CodeGen/dtor-alias.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/dumb-record.cpp
    M clang/test/CIR/CodeGen/dynamic-cast.cpp
    M clang/test/CIR/CodeGen/embed-expr.c
    M clang/test/CIR/CodeGen/empty-union.c
    M clang/test/CIR/CodeGen/empty-union.cpp
    A clang/test/CIR/CodeGen/enum-bool.cpp
    M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
    M clang/test/CIR/CodeGen/fixed-point-literal.c
    A clang/test/CIR/CodeGen/flexible-array-init.c
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/test/CIR/CodeGen/forward-decls.cpp
    A clang/test/CIR/CodeGen/fp16-native-args.c
    A clang/test/CIR/CodeGen/fp16.c
    A clang/test/CIR/CodeGen/func-linkage-weak-import.c
    M clang/test/CIR/CodeGen/generic-selection.c
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-decomp-decls.cpp
    M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    A clang/test/CIR/CodeGen/global-pointer-array-fast-lowering.cpp
    A clang/test/CIR/CodeGen/global-replace-string-array.c
    A clang/test/CIR/CodeGen/global-temp-dtor.cpp
    A clang/test/CIR/CodeGen/global-temporary-comdat.cpp
    M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
    M clang/test/CIR/CodeGen/global-tls-templates.cpp
    M clang/test/CIR/CodeGen/globals.cpp
    M clang/test/CIR/CodeGen/gnu-null.cpp
    M clang/test/CIR/CodeGen/gnu-ptr-math.c
    A clang/test/CIR/CodeGen/goto-address-label-table.c
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/implicit-return-zero.c
    M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/init-list-lvalue.cpp
    M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
    M clang/test/CIR/CodeGen/inline-asm.c
    M clang/test/CIR/CodeGen/inline-cxx-func.cpp
    A clang/test/CIR/CodeGen/inline-extern-force-codegen.c
    A clang/test/CIR/CodeGen/inline-forward-decl.c
    M clang/test/CIR/CodeGen/instantiate-init.cpp
    A clang/test/CIR/CodeGen/int128-global-const.cpp
    M clang/test/CIR/CodeGen/kr-func-promote.c
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/label.c
    M clang/test/CIR/CodeGen/lambda-decomp-decl-captures.cpp
    M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    M clang/test/CIR/CodeGen/launder.cpp
    M clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
    M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/mem-expr-fn.cpp
    M clang/test/CIR/CodeGen/member-functions.cpp
    A clang/test/CIR/CodeGen/member-pointer-null-init.cpp
    M clang/test/CIR/CodeGen/mms-bitfields.c
    M clang/test/CIR/CodeGen/multi-vtable.cpp
    M clang/test/CIR/CodeGen/new-array-in-ternary.cpp
    A clang/test/CIR/CodeGen/new-array-init.cpp
    M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/new-delete.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    M clang/test/CIR/CodeGen/noexcept.cpp
    M clang/test/CIR/CodeGen/non-scalar-lval-return.cpp
    M clang/test/CIR/CodeGen/non-type-template-param.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/opaque.c
    M clang/test/CIR/CodeGen/opaque.cpp
    M clang/test/CIR/CodeGen/openmp_default_simd_align.c
    M clang/test/CIR/CodeGen/pack-indexing.cpp
    M clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/pass-object-size.c
    M clang/test/CIR/CodeGen/placement-new.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    A clang/test/CIR/CodeGen/pointer-to-empty-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
    M clang/test/CIR/CodeGen/record-type-metadata.cpp
    M clang/test/CIR/CodeGen/record-with-padded-union.cpp
    M clang/test/CIR/CodeGen/record-zero-init-padding.c
    M clang/test/CIR/CodeGen/replace-global.cpp
    M clang/test/CIR/CodeGen/requires-expr.cpp
    M clang/test/CIR/CodeGen/self-assign.c
    M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
    M clang/test/CIR/CodeGen/size-of-vla.cpp
    M clang/test/CIR/CodeGen/source-loc.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    M clang/test/CIR/CodeGen/static-local-arm-guard.cpp
    A clang/test/CIR/CodeGen/static-local-nested-reference.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/static-members.cpp
    M clang/test/CIR/CodeGen/stmt-expr.cpp
    A clang/test/CIR/CodeGen/string-literal-high-bytes.c
    M clang/test/CIR/CodeGen/string-literals.cpp
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/struct.c
    M clang/test/CIR/CodeGen/struct.cpp
    A clang/test/CIR/CodeGen/switch-cleanup.cpp
    A clang/test/CIR/CodeGen/switch-pre-case-stmts.cpp
    A clang/test/CIR/CodeGen/switch-range.c
    M clang/test/CIR/CodeGen/switch.cpp
    M clang/test/CIR/CodeGen/switch_flat_op.cpp
    M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
    M clang/test/CIR/CodeGen/template-specialization.cpp
    M clang/test/CIR/CodeGen/temporary-materialization-adjust.cpp
    M clang/test/CIR/CodeGen/temporary-materialization.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/thread-local-in-func.cpp
    M clang/test/CIR/CodeGen/three-way-cmp.cpp
    M clang/test/CIR/CodeGen/throws.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
    A clang/test/CIR/CodeGen/trivially-recursive-skip.cpp
    M clang/test/CIR/CodeGen/try-catch-all-with-cleanup.cpp
    M clang/test/CIR/CodeGen/try-catch-non-trivial-copy.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    M clang/test/CIR/CodeGen/try-no-throwing-calls.cpp
    M clang/test/CIR/CodeGen/typedef.c
    A clang/test/CIR/CodeGen/unary-expr-or-type-trait-32bit.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/union-agg-init.c
    M clang/test/CIR/CodeGen/union-agg-init.cpp
    M clang/test/CIR/CodeGen/union.c
    M clang/test/CIR/CodeGen/union.cpp
    M clang/test/CIR/CodeGen/var-arg-aggregate.c
    M clang/test/CIR/CodeGen/var_arg.c
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGen/variable-template-specialization.cpp
    M clang/test/CIR/CodeGen/vbase.cpp
    A clang/test/CIR/CodeGen/vector-binop-overflow.cpp
    A clang/test/CIR/CodeGen/vector-convert-to-bool.c
    M clang/test/CIR/CodeGen/vector-ext-element.cpp
    M clang/test/CIR/CodeGen/vector-ext.cpp
    M clang/test/CIR/CodeGen/vector.cpp
    M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
    M clang/test/CIR/CodeGen/virtual-fn-calls-eh.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    M clang/test/CIR/CodeGen/vla-pointer-arith.c
    M clang/test/CIR/CodeGen/vla.c
    M clang/test/CIR/CodeGen/vtable-emission.cpp
    M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
    A clang/test/CIR/CodeGen/vtable-load-invariant.cpp
    M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
    M clang/test/CIR/CodeGen/vtt.cpp
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xcvalu.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
    M clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bcopy.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
    A clang/test/CIR/CodeGenBuiltins/builtin-nondeterministic-value.c
    A clang/test/CIR/CodeGenBuiltins/builtin-nontemporal.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
    M clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-bitwise.c
    M clang/test/CIR/CodeGenBuiltins/builtin-setjmp-longjmp.c
    M clang/test/CIR/CodeGenBuiltins/builtin-signbit.c
    A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    A clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    M clang/test/CIR/CodeGenCUDA/device-printf.cu
    M clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    A clang/test/CIR/CodeGenCUDA/surface.cu
    A clang/test/CIR/CodeGenCXX/base-layout.cpp
    M clang/test/CIR/CodeGenCXX/global-refs.cpp
    M clang/test/CIR/CodeGenCXX/lvalue-nttp.cpp
    M clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
    M clang/test/CIR/CodeGenCXX/new-array-init.cpp
    M clang/test/CIR/CodeGenCXX/simple-reinterpret-const-cast.cpp
    M clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
    M clang/test/CIR/CodeGenCXX/typeid.cpp
    M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
    M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CIR/CodeGenCXX/vtable-virt-thunk-adj.cpp
    M clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    A clang/test/CIR/CodeGenHIP/device-var-registration.hip
    M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-read.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
    M clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c
    A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
    M clang/test/CIR/CodeGenOpenCL/as_type.cl
    M clang/test/CIR/CodeGenOpenCL/vector.cl
    M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
    M clang/test/CIR/CodeGenOpenMP/parallel.c
    A clang/test/CIR/CodeGenOpenMP/target-map-llvm-device.c
    A clang/test/CIR/CodeGenOpenMP/target-map-llvm-host.c
    A clang/test/CIR/CodeGenOpenMP/target-map.c
    M clang/test/CIR/IR/alloca.cir
    M clang/test/CIR/IR/array-ctor.cir
    M clang/test/CIR/IR/array-dtor.cir
    M clang/test/CIR/IR/array.cir
    M clang/test/CIR/IR/binassign.cir
    M clang/test/CIR/IR/bitfield_info.cir
    A clang/test/CIR/IR/builtin-int-cast.cir
    M clang/test/CIR/IR/cmp.cir
    A clang/test/CIR/IR/const-record-flexible-array.cir
    A clang/test/CIR/IR/const-record-union.cir
    M clang/test/CIR/IR/construct-catch-param.cir
    M clang/test/CIR/IR/copy.cir
    M clang/test/CIR/IR/dynamic-cast.cir
    M clang/test/CIR/IR/func-attrs.cir
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/IR/global-init.cir
    M clang/test/CIR/IR/global.cir
    M clang/test/CIR/IR/indirect-br.cir
    M clang/test/CIR/IR/inline-asm.cir
    M clang/test/CIR/IR/invalid-addrspace.cir
    M clang/test/CIR/IR/invalid-array-structor.cir
    A clang/test/CIR/IR/invalid-bit.cir
    A clang/test/CIR/IR/invalid-builtin-int-cast.cir
    M clang/test/CIR/IR/invalid-cast.cir
    M clang/test/CIR/IR/invalid-complex.cir
    M clang/test/CIR/IR/invalid-const-record.cir
    M clang/test/CIR/IR/invalid-construct-catch-param.cir
    M clang/test/CIR/IR/invalid-data-member.cir
    M clang/test/CIR/IR/invalid-delete-array.cir
    M clang/test/CIR/IR/invalid-dyn-cast.cir
    A clang/test/CIR/IR/invalid-int-attr.cir
    A clang/test/CIR/IR/invalid-lifetime.cir
    M clang/test/CIR/IR/invalid-linkage.cir
    A clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/invalid-struct.cir
    M clang/test/CIR/IR/invalid-throw.cir
    M clang/test/CIR/IR/invalid-try-catch.cir
    M clang/test/CIR/IR/invalid-type-info.cir
    M clang/test/CIR/IR/invalid-vtable.cir
    A clang/test/CIR/IR/lifetime.cir
    A clang/test/CIR/IR/load-invariant.cir
    M clang/test/CIR/IR/method-attr.cir
    A clang/test/CIR/IR/openacc.cir
    A clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/resume-flat.cir
    M clang/test/CIR/IR/struct.cir
    M clang/test/CIR/IR/throw.cir
    M clang/test/CIR/IR/unary.cir
    M clang/test/CIR/IR/vector.cir
    M clang/test/CIR/IR/vtable-addrpt.cir
    M clang/test/CIR/IR/vtable-attr.cir
    M clang/test/CIR/IR/vtt-addrpoint.cir
    M clang/test/CIR/Lowering/address-space.cir
    M clang/test/CIR/Lowering/alloca.cir
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/binop-bool.cir
    M clang/test/CIR/Lowering/binop-fp.cir
    M clang/test/CIR/Lowering/binop-signed-int.cir
    M clang/test/CIR/Lowering/binop-unsigned-int.cir
    A clang/test/CIR/Lowering/builtin-int-cast.cir
    A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
    M clang/test/CIR/Lowering/cast.cir
    A clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    A clang/test/CIR/Lowering/const-array-of-pointers.cir
    M clang/test/CIR/Lowering/goto.cir
    M clang/test/CIR/Lowering/inline-asm.cir
    A clang/test/CIR/Lowering/lifetime.cir
    A clang/test/CIR/Lowering/load-invariant.cir
    M clang/test/CIR/Lowering/module-asm.cir
    M clang/test/CIR/Lowering/omp-target-map.cir
    M clang/test/CIR/Lowering/resume-flat.cir
    M clang/test/CIR/Lowering/struct.cir
    M clang/test/CIR/Lowering/switch.cir
    M clang/test/CIR/Lowering/vtt-addrpoint.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
    A clang/test/CIR/Transforms/abi-lowering/direct-flatten.cir
    A clang/test/CIR/Transforms/abi-lowering/expand-struct-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-after-ignore.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-return.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-unsigned-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
    A clang/test/CIR/Transforms/builtin-int-cast-fold.cir
    M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
    M clang/test/CIR/Transforms/canonicalize.cir
    M clang/test/CIR/Transforms/complex-create-fold.cir
    M clang/test/CIR/Transforms/complex-imag-fold.cir
    M clang/test/CIR/Transforms/complex-real-fold.cir
    M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
    M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
    M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
    M clang/test/CIR/Transforms/flatten-try-op.cir
    M clang/test/CIR/Transforms/goto_solver.cir
    M clang/test/CIR/Transforms/hoist-allocas.cir
    A clang/test/CIR/Transforms/lib-opt.cpp
    M clang/test/CIR/Transforms/mem2reg.cir
    M clang/test/CIR/Transforms/omp-mark-declare-target.cir
    M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
    M clang/test/CIR/Transforms/scope.cir
    M clang/test/CIR/Transforms/switch-fold.cir
    M clang/test/CIR/Transforms/switch.cir
    M clang/test/CIR/Transforms/ternary-fold.cir
    M clang/test/CIR/Transforms/ternary.cir
    M clang/test/CIR/Transforms/vector-cmp-fold.cir
    M clang/test/CIR/Transforms/vector-extract-fold.cir
    M clang/test/CIR/func-simple.cpp
    M clang/test/CMakeLists.txt
    A clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/class/class.friend/p6.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp
    M clang/test/CXX/dcl/dcl.fct/p17.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    A clang/test/CXX/drs/cwg3088.cpp
    M clang/test/CXX/drs/cwg30xx.cpp
    M clang/test/CXX/drs/cwg31xx.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/expr/expr.const/p6-2a.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp
    M clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    A clang/test/CXX/lex/lex.header/p2.cpp
    M clang/test/CXX/module/cpp.pre/module_decl.cpp
    M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
    M clang/test/ClangScanDeps/diagnostics.c
    M clang/test/ClangScanDeps/header-search-pruning-transitive.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    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-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
    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
    A clang/test/ClangScanDeps/modules-pch-compatibility.c
    M clang/test/ClangScanDeps/modules-pch.c
    M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
    M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
    M clang/test/ClangScanDeps/multiple-commands.c
    M clang/test/ClangScanDeps/tu-buffer.c
    A clang/test/CodeCompletion/GH200879.cpp
    A clang/test/CodeCompletion/GH201632.cpp
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/AArch64/args.cpp
    M clang/test/CodeGen/AArch64/atomic-ops-float-check-minmax.c
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-lane-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-ldst-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
    M clang/test/CodeGen/AArch64/byval-temp.c
    A clang/test/CodeGen/AArch64/f16f32dot-intrinsics.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/ls64-inline-asm.c
    A clang/test/CodeGen/AArch64/mskernel-interlocked.c
    M clang/test/CodeGen/AArch64/neon-2velem.c
    R clang/test/CodeGen/AArch64/neon-across.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-luti.c
    M clang/test/CodeGen/AArch64/neon-misc-constrained.c
    M clang/test/CodeGen/AArch64/neon-misc.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    A clang/test/CodeGen/AArch64/neon/add.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    A clang/test/CodeGen/AArch64/neon/conversion-fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    A clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
    A clang/test/CodeGen/AArch64/neon/subtraction.c
    A clang/test/CodeGen/AArch64/neon/widen.c
    R clang/test/CodeGen/AArch64/poly-add.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
    A clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
    M clang/test/CodeGen/Inputs/stdbit.h
    M clang/test/CodeGen/LoongArch/bitint.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
    M clang/test/CodeGen/LoongArch/lasx/builtin.c
    M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
    M clang/test/CodeGen/PowerPC/ppc64-vector.c
    A clang/test/CodeGen/PowerPC/pragma-comment-copyright-modules.cpp
    A clang/test/CodeGen/PowerPC/pragma-comment.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-struct-call.c
    M clang/test/CodeGen/RISCV/bitint.c
    M clang/test/CodeGen/RISCV/riscv-abi.cpp
    M clang/test/CodeGen/RISCV/riscv-cf-protection.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    M clang/test/CodeGen/RISCV/riscv32-abi.c
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    A clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_s.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_u.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_s.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_u.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.c
    M clang/test/CodeGen/Sparc/sparcv9-abi.c
    A clang/test/CodeGen/SystemZ/builtins-zos-cs.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
    M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    A clang/test/CodeGen/SystemZ/zos-abi.c
    A clang/test/CodeGen/SystemZ/zos-abi.cpp
    M clang/test/CodeGen/WebAssembly/builtins-table-externref.c
    M clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
    M clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
    M clang/test/CodeGen/WebAssembly/wasm-arguments.c
    M clang/test/CodeGen/WebAssembly/wasm-externref.c
    A clang/test/CodeGen/WebAssembly/wasm-funcref-to-ptr-error.c
    M clang/test/CodeGen/WebAssembly/wasm-funcref.c
    A clang/test/CodeGen/WebAssembly/wasm-swiftasynccall.c
    R clang/test/CodeGen/X86/amx_tf32.c
    R clang/test/CodeGen/X86/amx_tf32_api.c
    R clang/test/CodeGen/X86/amx_tf32_errors.c
    R clang/test/CodeGen/X86/amx_tf32_inline_asm.c
    M clang/test/CodeGen/X86/avx-cxx-record.cpp
    M clang/test/CodeGen/X86/avx2-builtins.c
    A clang/test/CodeGen/X86/avx512bmm-builtins.c
    A clang/test/CodeGen/X86/avx512bmmvl-builtins.c
    M clang/test/CodeGen/X86/avx512bw-builtins.c
    M clang/test/CodeGen/X86/avx512f-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/avx512f-builtins.c
    M clang/test/CodeGen/X86/avx512fp16-abi.c
    M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
    M clang/test/CodeGen/X86/avx512vl-builtins.c
    M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
    M clang/test/CodeGen/X86/avx512vlvnni-builtins.c
    M clang/test/CodeGen/X86/avx512vnni-builtins.c
    M clang/test/CodeGen/X86/avxvnni-builtins.c
    M clang/test/CodeGen/X86/bfloat-half-abi.c
    M clang/test/CodeGen/X86/bmi2-builtins.c
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/X86/fp128-abi.c
    M clang/test/CodeGen/X86/mmx-builtins.c
    M clang/test/CodeGen/X86/mmx-inline-asm-error.c
    A clang/test/CodeGen/X86/mskernel-interlocked.c
    A clang/test/CodeGen/X86/newpm.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/X86/sse41-builtins.c
    M clang/test/CodeGen/X86/x86_32-arguments-win32.c
    M clang/test/CodeGen/X86/x86_64-arguments-win32.c
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
    M clang/test/CodeGen/allow-ubsan-check.c
    R clang/test/CodeGen/amdgpu-abi-struct-coerce.c
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    R clang/test/CodeGen/amdgpu-feature-builtins-invalid-use.cpp
    M clang/test/CodeGen/amdgpu-variadic-call.c
    M clang/test/CodeGen/arm-aapcs-vfp.c
    M clang/test/CodeGen/arm-abi-vector.c
    M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
    M clang/test/CodeGen/arm-cmse-attr.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/arm64-abi-vector.c
    M clang/test/CodeGen/arm64-arguments.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/arm64-mte.c
    M clang/test/CodeGen/arm64ec-varargs.c
    M clang/test/CodeGen/arm_neon_intrinsics.c
    M clang/test/CodeGen/armv7k-abi.c
    M clang/test/CodeGen/asm.c
    M clang/test/CodeGen/asm_incbin.c
    M clang/test/CodeGen/atomic-arm64.c
    A clang/test/CodeGen/atomic-auto-type.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
    A clang/test/CodeGen/attr-cleanup-duplicate.c
    M clang/test/CodeGen/attr-counted-by-for-pointers.c
    A clang/test/CodeGen/attr-counted-by-issue200014.c
    A clang/test/CodeGen/attr-counted-by-nested-structs.c
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    A clang/test/CodeGen/attr-counted-by-with-sanitizers.c
    A clang/test/CodeGen/attr-counted-by-without-sanitizers.c
    R clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/avr/avr-builtins.c
    A clang/test/CodeGen/bpf-struct-return-regs.c
    A clang/test/CodeGen/bpf-struct-return.c
    A clang/test/CodeGen/builtin-clear-padding-codegen.c
    A clang/test/CodeGen/builtin-cpu-is-cputype.c
    A clang/test/CodeGen/builtin-cpu-is-subtype.c
    A clang/test/CodeGen/builtin-cpu-is-vendor.c
    R clang/test/CodeGen/builtin-cpu-is.c
    A clang/test/CodeGen/builtin-cpu-supports-all.c
    A clang/test/CodeGen/builtin-masked-addrspace.c
    M clang/test/CodeGen/builtin-masked.c
    A clang/test/CodeGen/builtin-stdc-memreverse8.c
    M clang/test/CodeGen/builtin_float.c
    M clang/test/CodeGen/builtin_float_strictfp.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-nvptx-native-half-type.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/builtins-x86.c
    M clang/test/CodeGen/call-graph-section-callback.cpp
    M clang/test/CodeGen/call-graph-section-internal.cpp
    M clang/test/CodeGen/call-graph-section-templates.cpp
    M clang/test/CodeGen/call-graph-section-virtual-methods.cpp
    M clang/test/CodeGen/call-graph-section.c
    M clang/test/CodeGen/call-graph-section.cpp
    M clang/test/CodeGen/cfi-check-fail2-nomerge.c
    M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
    M clang/test/CodeGen/cfi-salt.c
    M clang/test/CodeGen/cfi-unchecked-callee-attribute.cpp
    M clang/test/CodeGen/construction-vtable-visibility.cpp
    M clang/test/CodeGen/convergent-functions.cpp
    M clang/test/CodeGen/cx-complex-range.c
    R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/main' into users/bassiounix/clang/c2y/if-decl


  Commit: 7a1d957a68c760e00f84b223565b199bd365bcbd
      https://github.com/llvm/llvm-project/commit/7a1d957a68c760e00f84b223565b199bd365bcbd
  Author: bassiounix <muhammad.m.bassiouni at gmail.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/test/C/C2y/n3267.c

  Log Message:
  -----------
  remove custom path to GNU attributes with a FIXME comment waiting for GCC to finalize it


Compare: https://github.com/llvm/llvm-project/compare/e4bacc6c8a6e...7a1d957a68c7

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