[all-commits] [llvm/llvm-project] 16e213: [AMDGPU][GlobalISel] Fix wrong half selection in w...

Mariusz Sikora via All-commits all-commits at lists.llvm.org
Tue Jul 21 05:38:38 PDT 2026


  Branch: refs/heads/users/mariusz-sikora-at-amd/gfx13/add-builtins-intrinsics-v-cvt-scalef32-pk32-fp6-f32
  Home:   https://github.com/llvm/llvm-project
  Commit: 16e213f7dd3b8a2ec93b3015268efb8f59c9b52d
      https://github.com/llvm/llvm-project/commit/16e213f7dd3b8a2ec93b3015268efb8f59c9b52d
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Fix wrong half selection in wave.shuffle lowering (#210661)

selectWaveShuffleIntrin XORed ThreadID with the shifted index instead of
the original index, picking the wrong lane half on wave64 targets
without wave wide bpermute (GFX10/GFX11)


  Commit: 75ee393652ca86f5d9b3670be5fa04d2bd8bb95a
      https://github.com/llvm/llvm-project/commit/75ee393652ca86f5d9b3670be5fa04d2bd8bb95a
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-weird-size.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Use integer as MMO type for loads and stores lowering (#210096)

We could get away with just the type from MMO in most cases, but MMO splitting
creates MMO with LLT::scalar and we prefer integer.


  Commit: 112aac39131f7fdc8b4a50cb3fb13ef293e1c620
      https://github.com/llvm/llvm-project/commit/112aac39131f7fdc8b4a50cb3fb13ef293e1c620
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix extending load narrow scalar (#210097)

isAnyScalar is explicit LLT::scalar check but we want to narrow scalar
integer types as well.


  Commit: 88a19bdee051ef4ce15fc4e29f50a328b80b0166
      https://github.com/llvm/llvm-project/commit/88a19bdee051ef4ce15fc4e29f50a328b80b0166
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fpext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-salu-float.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-waterfall-call.mir
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.inst.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Use integers for read-any-lane split type (#210098)


  Commit: 92873559f90a35f89ebc5ac94a6d7e4c3a419ecb
      https://github.com/llvm/llvm-project/commit/92873559f90a35f89ebc5ac94a6d7e4c3a419ecb
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
    M lldb/test/API/macosx/simulator/hello.cpp
    M lldb/test/API/tools/lldb-server/apple-simulator/TestAppleSimulatorOSType.py

  Log Message:
  -----------
  [lldb][test] Bump safety timeout in simulator tests to fix flakyness (#209180)

On really slow machines, the current 10 second timeout can expire and
cause the test to randomly fail. Bump the timeout to 10 minutes which 60
times the current value and should be unreachable even on the slowest of
machines.

To avoid making the tests run for 10 minutes, we now consistently kill
the test process on shutdown using the subprocess list in lldbtest which
gets killed on tearDown.


  Commit: 1e18a0f4d758ff796acbb3987c2d01c02bb223a1
      https://github.com/llvm/llvm-project/commit/1e18a0f4d758ff796acbb3987c2d01c02bb223a1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/MemCpyOpt/callslot.ll

  Log Message:
  -----------
  [MemCpyOpt] Precommit tests for PR210667 (NFC) (#210708)


  Commit: 92539cf3a83e22dd589fa97d223da06339dc304a
      https://github.com/llvm/llvm-project/commit/92539cf3a83e22dd589fa97d223da06339dc304a
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/callslot.ll

  Log Message:
  -----------
  [MemCpyOpt] Ensure call slot optz does not lower destination alloca alignment (#210667)

A destination alloca's alignment could have been unconditionally
overwritten, letting a lower-aligned source incorrectly undo a
previous alignment increase. This issue has been addressed by
considering the maximum alignment between the new source target
and current destination, adhering to what the existing comment
already promises.

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


  Commit: 4f939577de61ffdf85087499b99aa3686ed362cd
      https://github.com/llvm/llvm-project/commit/4f939577de61ffdf85087499b99aa3686ed362cd
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll

  Log Message:
  -----------
  GlobalISel: Use extended LLTs in f64 to f16 fptrunc lowering (#210099)


  Commit: e3016ce1a9a14c690c90a343849d45837d9d95d7
      https://github.com/llvm/llvm-project/commit/e3016ce1a9a14c690c90a343849d45837d9d95d7
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll

  Log Message:
  -----------
  GlobalISel: Use extended LLTs in extract lowering (#210100)


  Commit: e8969304fe0ca32088120702267772a622f5f746
      https://github.com/llvm/llvm-project/commit/e8969304fe0ca32088120702267772a622f5f746
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Use integers for clamp i64 to i16 prelegalizer combine (#210101)


  Commit: 066fba24b425211e80deb4486ba56ddf70472c37
      https://github.com/llvm/llvm-project/commit/066fba24b425211e80deb4486ba56ddf70472c37
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.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/pseudo-scalar-transcendental.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Use extended LLTs in AMDGPUCombinerHelper (#210102)

Here we also had to change comparisons to extended LLTs to avoid
matching bfloats. In the old scalar version, before the switch to extended
LLTs, s16 was treated as f16 and bf16 was combined as if it were f16.


  Commit: 499fd10534993eec4aefc8f06026fc4876bbd371
      https://github.com/llvm/llvm-project/commit/499fd10534993eec4aefc8f06026fc4876bbd371
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++] Run macOS CI on self-hosted runners instead of Github ones (#210124)

This should increase our capacity and allow better turn around times,
and potentially unblock additional test coverage.

Note that this change implies that the self-hosted runners provide a
version of Xcode that is supported by libc++ (the latest released one),
which is currently the case.


  Commit: 03b780679bdb5152aef0182dfc8b2f1d182a94e0
      https://github.com/llvm/llvm-project/commit/03b780679bdb5152aef0182dfc8b2f1d182a94e0
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    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

  Log Message:
  -----------
  [libc++][test] Fix build failure from typo in #171785 (#210552)

If `__STDCPP_DEFAULT_NEW_ALIGNMENT__` is not defined, these tests will
fail to build due to a typo that was added in #171785.


  Commit: 8888665966f14abfac4f2c352846abfc1212d8e5
      https://github.com/llvm/llvm-project/commit/8888665966f14abfac4f2c352846abfc1212d8e5
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix type mismatch in regbank combiner for applyD16Load (#210103)


  Commit: 743813d10023a0616833062f5d448284022b8063
      https://github.com/llvm/llvm-project/commit/743813d10023a0616833062f5d448284022b8063
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll

  Log Message:
  -----------
  GlobalISel: Use extended LLTs in lshr narrow combine (#210298)


  Commit: a8617034c4a7cc733676a31b736d3118fec34259
      https://github.com/llvm/llvm-project/commit/a8617034c4a7cc733676a31b736d3118fec34259
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    A libcxx/test/selftest/if-else.sh.cpp
    M libcxx/utils/libcxx/test/format.py

  Log Message:
  -----------
  [libc++][utils] Fix LIT `%if` substitution support (#209358)

Update the applySubstitutions call in `libcxx/utils/libcxx/test/format.py` to match the
change to `llvm/utils/lit/lit/TestRunner.py` done in 1041a9642ba0.


  Commit: 3fc6711ccaf60c15371402c3ee7776fde5f01b4f
      https://github.com/llvm/llvm-project/commit/3fc6711ccaf60c15371402c3ee7776fde5f01b4f
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/test/CodeGen/PowerPC/2010-02-12-saveCR.ll
    M llvm/test/CodeGen/PowerPC/aix-crspill.ll
    M llvm/test/CodeGen/PowerPC/aix32-crsave.mir
    M llvm/test/CodeGen/PowerPC/cc.ll
    M llvm/test/CodeGen/PowerPC/crsave.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-creq.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-crun.ll
    M llvm/test/CodeGen/PowerPC/ppc64-crsave.mir
    M llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll
    M llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll

  Log Message:
  -----------
  [PowerPC]optimize the epilogue for restore non volatile cr fields (#202339)

For AIX and ELFv2 ABI, 
1. When we only spill one non-volatile CR field , using one
mfocrf/mtocrf instruction.
2. when spill two or more non-volatile CR fields, using one mfcr/mtcr
instead of multi mfocrf/mtocrf instructions


  Commit: faf7261308da236627ae8f813d17d6e1ef1e9d68
      https://github.com/llvm/llvm-project/commit/faf7261308da236627ae8f813d17d6e1ef1e9d68
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp

  Log Message:
  -----------
  [libc++] Bring std::{any,all,none}_of tests up to current standards (#209266)

The tests for these algorithms were minimal, didn't test all iterator
categories, and the constexpr coverage didn't follow our current
practice. This patch brings all three tests (which are very similar) up
to our current standards.

Assisted by Claude


  Commit: 44e37579d19c7d0965166808c77f9e7ebf407df9
      https://github.com/llvm/llvm-project/commit/44e37579d19c7d0965166808c77f9e7ebf407df9
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/if_construct_execute_region_wrap.f90

  Log Message:
  -----------
  [flang][PFT-to-MLIR] reset Evaluation blocks between entry-point passes (#210681)

A subprogram with an alternate ENTRY is lowered by walking the shared
PFT once per entry. Evaluation::block is populated during each walk
(top-level createEmptyBlocks and inside wrapUnstructuredConstruct's own
createEmptyBlocks), but the second pass previously inherited stale
pointers into the first entry's function/wrap regions. For a wrappable
IfConstruct nested inside a structured container, the entry block that
genFIR(IfConstruct) starts before creating its scf.execute_region then
sent the builder into the previous entry's region, and the wrap plus its
inner load ended up in the wrong func:

    subroutine foo(a)
      integer a
    entry bar(a)
      if (a .eq. 1) then
        if (a .ne. 3) stop
      end if
    end subroutine

produced both scf.execute_region ops in _QPfoo, with an inner fir.load
referencing bar's %arg0 — 'fir.load' op using value defined outside the
region.

Fix: null every Evaluation::block in the shared PFT at the start of each
entry-point pass, so createEmptyBlocks fills a clean tree and later
reads (in particular the landing-pad reposition in genFIR(IfConstruct))
never see a pointer from a prior pass.

Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 2a33792a2ec1a980259bd9388834e3c1fa53af3d
      https://github.com/llvm/llvm-project/commit/2a33792a2ec1a980259bd9388834e3c1fa53af3d
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/ExpressionTraits.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/TokenKinds.def
    A clang/include/clang/Basic/Traits.td
    R clang/include/clang/Basic/TransformTypeTraits.def
    M clang/include/clang/Basic/TypeTraits.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Basic/ExpressionTraits.cpp
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/utils/TableGen/CMakeLists.txt
    A clang/utils/TableGen/ClangTraitsEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [clang][NFC] move traits to tablegen (#201491)

This patch moves all traits to a tablegen file. 

The motivation for this change is a review comment in
https://github.com/llvm/llvm-project/pull/142341 - since then about a
year has passed and we've accumulated 9 standard names that are
maintained separately from their corresponding trait definitions. For
transform type traits we keep the standard names around as well. While
this is still a reasonably low number, it is definitely going to keep
increasing.


  Commit: 0549fbe55ba4f9fc172591a61b04700d4ff5045e
      https://github.com/llvm/llvm-project/commit/0549fbe55ba4f9fc172591a61b04700d4ff5045e
  Author: Daemon <daemonpilot at hotmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-maxdepth.mir

  Log Message:
  -----------
  [GlobalISel] Synchronize GISelValueTrackingAnalysis behavior across Legacy and New PM paths (#207013)

This patch aligns the New Pass Manager (NPM) implementation of
`GISelValueTrackingAnalysis::run()` with the Legacy pass manager by
dynamically adjusting the maximum search depth based on the optimization
level. This eliminates behavioral discrepancies between the two code
paths, reducing migration risks and ensuring consistent compilation
performance and code generation quality across both code paths.


  Commit: 97a105f8e681e8e9e5778b6f8bf95a8c365a05f6
      https://github.com/llvm/llvm-project/commit/97a105f8e681e8e9e5778b6f8bf95a8c365a05f6
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-directive-sets.h
    A flang/test/Semantics/OpenMP/teams_loop.f90

  Log Message:
  -----------
  [Flang][OpenMP] Allow `parallel loop` inside of `teams` (#210679)

A missing `parallel_loop` directive in the `nestedTeamsAllowedSet`
currently causes code like the following to report a semantics issue:
```f90
!$omp teams
  !$omp parallel loop
  do i=1, 10
  end do
!$omp end teams
```
This patch makes sure to accept it, since `parallel` is an allowed
construct to be immediately nested inside of `teams`, even when combined
with another construct.


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Use m_scev_AffineAddRec in get{Zero,Sign}ExtendExprImpl (NFC) (#210082)

It's a small win in number of lines, and reduces the nesting level a
bit.

Suggested in https://github.com/llvm/llvm-project/pull/208805

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


  Commit: 35aa7b529ebeafc9767a4c5398047a92b86bd4a8
      https://github.com/llvm/llvm-project/commit/35aa7b529ebeafc9767a4c5398047a92b86bd4a8
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/attr-no-specializations.cpp

  Log Message:
  -----------
  Ensure that we properly propagate template decl attributes to redecls (#209873)

Variable and class templates weren't forwarding their declaration
attributes that were attached directly to them (at the moment, the only
one I could find that had this issue is the no_specialization attr). The
result was that intermediate redeclarations would prevent the
diagnostics from happening.

This patch ensures we propagate them properly for variable and class
templates. It seems our function templates already do the right thing.

Fixes: #209812


  Commit: b16c5f7cc88c9f41d904cc73d5618cc7453ac862
      https://github.com/llvm/llvm-project/commit/b16c5f7cc88c9f41d904cc73d5618cc7453ac862
  Author: yinghao <73093416+andreww0210 at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
    A llvm/test/CodeGen/NVPTX/proxy-reg-erasure-kill-flag.mir
    M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir

  Log Message:
  -----------
  [NVPTX] Clear unsafe kill flags in NVPTXProxyRegErasure (#198143)

Fixes #198142

After replacing regsiter, stale `killed` flags my leave on non-terminal
uses, breaking liveness and triggering MachineVerifier errors.
    
Fix this by conservatively dropping the `killed` flag on `ToReg`.


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

  Changed paths:
    M llvm/docs/LangRef.md

  Log Message:
  -----------
  [LangRef] Add immarg attributes to memcpy, memset, memmove isvolatile args (#210669)


  Commit: 1ed1ca59245bfa949919f31cef5fd5c87c20c6ec
      https://github.com/llvm/llvm-project/commit/1ed1ca59245bfa949919f31cef5fd5c87c20c6ec
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  Re-commit: [GVN] Remove the "private" `llvm::gvn` namespace (NFC) (#210712)

Re-commit of https://github.com/llvm/llvm-project/pull/210323 after
adding
a forward declaration for GVNLegacyPass class to work around GCC
compilation
failure.

Move `AvailableValue` and `AvailableValueInBlock` into GVNPass, similar
to other helper types.
  
Retain `llvm::gvn::GVNLegacyPass` as just `llvm::GVNLegacyPass` -
"legacy" is already a sufficent hint and it is not going to become more
"private" by stacking "gvn" prefixes to the name.

Ideally, `GVNLegacyPass` should be defined in an anonymous namespace,
but
that is not possible because it is declared as a friend of GVNPass.


  Commit: 6998fd59e16026a00fee8e83243c0ec91047fee3
      https://github.com/llvm/llvm-project/commit/6998fd59e16026a00fee8e83243c0ec91047fee3
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    A llvm/test/Transforms/Inline/AMDGPU/inline-max-bb-debug.ll

  Log Message:
  -----------
  [AMDGPU] Print max-BB inline rejections


  Commit: 6f744fb04cf1cf30b45ff73883566eeebb7eeb7d
      https://github.com/llvm/llvm-project/commit/6f744fb04cf1cf30b45ff73883566eeebb7eeb7d
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes 2a33792 (#210726)

This fixes 2a33792a2ec1a980259bd9388834e3c1fa53af3d.

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=2a33792a2ec1a980259bd9388834e3c1fa53af3d

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: 4c5b4f40c4ac77f1b50a90451fd040356748ac6a
      https://github.com/llvm/llvm-project/commit/4c5b4f40c4ac77f1b50a90451fd040356748ac6a
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libsycl/test/basic/platform_get_devices.cpp
    M libsycl/test/lit.cfg.py
    M libsycl/test/usm/alloc_functions.cpp

  Log Message:
  -----------
  [libsycl][E2E] Compile all E2E tests with -fsycl (#204115)


  Commit: 2549a2c39b4b86b035df052948bd3f867728b075
      https://github.com/llvm/llvm-project/commit/2549a2c39b4b86b035df052948bd3f867728b075
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libsycl/CMakeLists.txt

  Log Message:
  -----------
  [libsycl][NFC] Move the cmake msvc DLL check (#193485)

Addresses a review comment from
https://github.com/llvm/llvm-project/pull/188770


  Commit: 7bbed7999de1a60c790a3b0f01d965c18fd832e8
      https://github.com/llvm/llvm-project/commit/7bbed7999de1a60c790a3b0f01d965c18fd832e8
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/array-coor-canonicalization.fir
    A flang/test/Fir/box-dims-folding.fir
    M flang/test/Fir/boxaddr-folding.fir

  Log Message:
  -----------
  [flang] Fold reads of fir.create_box components (#210388)

Fold fir.box_addr and constant-dimension fir.box_dims of a descriptor
built by fir.create_box back to the operands that built it, so the
create_box can die when nothing consumes it as a real descriptor.
fir.array_coor is intentionally not folded through create_box, since
that would drop its explicit byte strides.

Assisted-by: Cursor


  Commit: b2d3db9bfb01ceb821b38dfc57f7965b09f602cf
      https://github.com/llvm/llvm-project/commit/b2d3db9bfb01ceb821b38dfc57f7965b09f602cf
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/Delinearization/multidim_pointer_addrspace.ll

  Log Message:
  -----------
  [SCEV] Derive element size from the access's own pointer address space (#209824)

ScalarEvolution::getElementSize always derived the element-size SCEV
using a generic address-space-0 pointer index type. On targets whose
data layout uses different pointer index widths per address space (for
example, where some address spaces use 32-bit pointers and others
64-bit), a load/store through a narrow address space produced an access
function SCEV of one width but an element-size SCEV of another.

Delinearization then called SCEVDivision::divide with numerator and
denominator of mismatched types, tripping the assertion added in
a9d295d615a8 once the implicit sign-extension was removed in
23a32bcedb91.

Derive the index type from the memory access's actual pointer operand
address space so the element-size SCEV matches the width of the access
function's SCEV.


  Commit: 9c024f3a83cf2469b27ae42c1a8d3ab635da3dc1
      https://github.com/llvm/llvm-project/commit/9c024f3a83cf2469b27ae42c1a8d3ab635da3dc1
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M bolt/lib/Passes/Instrumentation.cpp
    R bolt/test/X86/instrument-funcs-file.s

  Log Message:
  -----------
  [BOLT] Drop option --instrument-funcs-file (#210217)


  Commit: 34aefe9744fa83fa222d7f28e073c693c2c4ff5b
      https://github.com/llvm/llvm-project/commit/34aefe9744fa83fa222d7f28e073c693c2c4ff5b
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
    M clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake

  Log Message:
  -----------
  [Hexagon] Fix compiler-rt install dir type, scope sanitizers (#209375)

COMPILER_RT_INSTALL_LIBRARY_DIR must be CACHE STRING, not CACHE PATH: a
relative PATH-typed cache entry resolves against the runtimes sub-build
directory instead of CMAKE_INSTALL_PREFIX, misplacing sanitizer libs.

Replace the explicit COMPILER_RT_BUILD_* ON list with
COMPILER_RT_SANITIZERS_TO_BUILD=all, since those options already default
ON upstream and infeasible sanitizers self-exclude via their own
ALL_<X>_SUPPORTED_ARCH lists.

Add FORCE to the dylib overrides so they take effect after
hexagon-unknown-linux-musl-clang-dist.cmake has already cached them OFF.


  Commit: c84d20b18026fc230a7957c8faf3cf3a40d9cb55
      https://github.com/llvm/llvm-project/commit/c84d20b18026fc230a7957c8faf3cf3a40d9cb55
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/sockatmark_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel

  Log Message:
  -----------
  [libc] Fix sockatmark test (#210655)

When writing the test, I assumed that (linux) domain sockets do not
support OOB data, and that sockatmark returns 0, because it can never
read it.

In fact, as of 2021, linux does support OOB on domain sockets, but this
feature can be turned off at build time (CONFIG_AF_UNIX_OOB). In this
case (or in the case of older kernels), the kernel returns an error (and
the test fails).

Armed with this knowledge, I modify the test to test both "1" (OOB
present) and "0" (no OOB data) cases by actually sending OOB data into
the socket. I use the send call to determine the presence of OOB
support, and have the test skip itself if it is absent. OOB data only
makes sense on stream sockets, so change the socketpair type to that.

---------

Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>


  Commit: 5a19a3a4b9915d19fff1b8298e723ee2b24ebc6a
      https://github.com/llvm/llvm-project/commit/5a19a3a4b9915d19fff1b8298e723ee2b24ebc6a
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/resources/build.md

  Log Message:
  -----------
  [lldb][Windows] Only embed Python home in Debug config (#209464)

On Windows, we used to embed `PYTHONHOME` by default on Windows. In the
documentation, we say

> This is most useful for developers who simply want to run LLDB after
they build it.

Since we use the limited/stable API now, we're less restricted in the
Python version, so I think it's less of an issue that LLDB won't find
Python. The only configuration where it might cause issues is the debug
configuration, since, when installing Python, you usually don't include
the debug libraries. Thus, you might not have the debug version
(`python3_d.py`) of Python in your PATH.


  Commit: 0c0d9ff3b01b5709bda34198a01da2f19b88650e
      https://github.com/llvm/llvm-project/commit/0c0d9ff3b01b5709bda34198a01da2f19b88650e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-add-part.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with fmuladd copyables candidates, NFC



Reviewers: 

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


  Commit: b7810e97d6281f65e255b36af7b39af18d3d2006
      https://github.com/llvm/llvm-project/commit/b7810e97d6281f65e255b36af7b39af18d3d2006
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

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

  Log Message:
  -----------
  workflows/release-documentation: Add missing secrets (#210421)


  Commit: 9ba8a3c8ebf0dee73c7e3e1aa8ae0a81dd6439c7
      https://github.com/llvm/llvm-project/commit/9ba8a3c8ebf0dee73c7e3e1aa8ae0a81dd6439c7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

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

  Log Message:
  -----------
  [AMDGPU] Use simpler form of applyWaitcnt. NFC. (#210736)


  Commit: 95f39100f1c1dab2aefbdc42d6e9ca26955535d1
      https://github.com/llvm/llvm-project/commit/95f39100f1c1dab2aefbdc42d6e9ca26955535d1
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-20 (Mon, 20 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-labeled-do-host-eval.f90
    A flang/test/Lower/OpenMP/collapse-loop-transform.f90
    A flang/test/Lower/OpenMP/collapse-target-intervening-todo.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
    M flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
    A flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
    A flang/test/Semantics/OpenMP/ordered-nesting-omp51.f90

  Log Message:
  -----------
  Redo [flang][OpenMP] Implement collapse for imperfectly nested loops (#208528)

Relands https://github.com/llvm/llvm-project/pull/202435, reverted in
https://github.com/llvm/llvm-project/pull/208456 because it broke
lowering of labeled DO loops under collapse with host-evaluated bounds.


  Commit: bf2c381c6f9609428f1bfcc8e572cadefdf7e5c9
      https://github.com/llvm/llvm-project/commit/bf2c381c6f9609428f1bfcc8e572cadefdf7e5c9
  Author: parya03 <34556720+parya03 at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/fp-intrinsics-vector.ll
    M llvm/test/CodeGen/ARM/fp16-fullfp16.ll
    M llvm/test/CodeGen/ARM/strict-fp-int-promote.ll

  Log Message:
  -----------
  [ARM] Add strict uint to FP conversion handling during operation legalization (#208554)

Currently, strict uint to FP conversions for the ARM backend end up
falling through to software emulation.

This commit allows them to be correctly handled using the corresponding
vcvt instruction.


  Commit: 65bd2df84bb9e6ee8513a313840d8e2096c82e4d
      https://github.com/llvm/llvm-project/commit/65bd2df84bb9e6ee8513a313840d8e2096c82e4d
  Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll
    M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop5.ll
    M llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll

  Log Message:
  -----------
  [SCEV] Tighten loop guards range check idiom (#210387)

Previously, the idiom matcher derived the clamp range only from the raw
`(LHS + C1) u< C2` form and rejected wrapped or full ranges.

Intersect the derived range with the known unsigned range of `LHSUnknown`.
This can reduce wrapped or full ranges to a usable interval and allows the
matcher to extract clamps in more cases.

Related to https://github.com/llvm/llvm-project/issues/208778


  Commit: 53136bd4b70071169edbae1fd9149a9f4fca6c8c
      https://github.com/llvm/llvm-project/commit/53136bd4b70071169edbae1fd9149a9f4fca6c8c
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp

  Log Message:
  -----------
  [flang][NFC] Remove unreachable legacy FORALL/WHERE lowering code from Bridge.cpp (#210639)

The HLFIR lowering migration left a cluster of legacy, now-unreachable
code in Bridge.cpp behind. None of it has a live caller (FORALL is
lowered by genForallNest; DO CONCURRENT by getConcurrentControl):

- forceControlVariableBinding and the old DoLoopOp-based genFIR(const
parser::ConcurrentHeader &) FORALL-nest lowering (the ConcurrentHeader
is not a PFT evaluation node and is never visited).
- The member genInitializerExprValue, implicitIterationSpace/
explicitIterationSpace, genArrayAssignment, and the NDEBUG-only
isFuncResultDesignator.
- The analyzeExplicitSpace overload set, analyzeExplicitSpacePop, and
addMaskVariable.
  - The explicitIterSpace / implicitIterSpace members.

These were the only Bridge.cpp users of the legacy expression lowering
(createSome*Assignment / createSomeInitializerExpression) and of
IterationSpace, so their includes (ConvertExpr.h, IterationSpace.h, and
Runtime/Ragged.h, used only by addMaskVariable) are removed as well.

Assisted-by: AI


  Commit: 4158229224381e8038617d9e25b8e152551f5e08
      https://github.com/llvm/llvm-project/commit/4158229224381e8038617d9e25b8e152551f5e08
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/test/SemaTemplate/destructor-template.cpp

  Log Message:
  -----------
  [clang] fix a crash for uses of a pseudo-destructor of enum without definition (#210424)

Lookup for the destuctor name in the object type only applies to record
types.

Since this will be backported, there are no release notes.

Fixes #209808


  Commit: 272378ef3ce1cbddb37b5c2b1ffe595a123e04fd
      https://github.com/llvm/llvm-project/commit/272378ef3ce1cbddb37b5c2b1ffe595a123e04fd
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [clang][NFC] Extract LookupOverloadedUnaryOp (#210567)

This patch extracts `LookupOverloadedUnaryOp` from
`CreateOverloadedUnaryOp` for consistency with
`LookupOverloadedBinOp`/`CreateOverloadedBinOp`.


  Commit: bdfcef52762c746d82326b2e4ce9b2ba470551f4
      https://github.com/llvm/llvm-project/commit/bdfcef52762c746d82326b2e4ce9b2ba470551f4
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Frontend/ASTConsumers.cpp
    M clang/test/AST/ast-print-enum-decl.c
    M clang/test/Misc/diag-template-diffing-cxx11.cpp
    M clang/test/SemaCXX/static-assert.cpp

  Log Message:
  -----------
  [clang] improve diagnostics for enums (#204682)

This patch makes clang attempt printing enumerator names rather than
C-style cast expressions in more diagnostics (notably static_assert) iff
the value matches an enumerator exactly.

For example, consider a static assertion `static_assert(E ==
TestEnum::B);` where `E` is a constant template argument. Assuming
`(TestEnum)1 == TestEnum::A`, this changes emitted diagnostics as
follows:
```
// old
static assertion failed due to requirement '(TestEnum)1 == TestEnum::B'

// new
static assertion failed due to requirement 'TestEnum::A == TestEnum::B'
```


  Commit: b80af9cc2d856e211fa6ac58959e46b5707e9d71
      https://github.com/llvm/llvm-project/commit/b80af9cc2d856e211fa6ac58959e46b5707e9d71
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Enhance unrolling of convert layout (#209822)

This PR adds rewriteWithRegrouping to unroll ConvertLayoutOp by
extracting at the input inst_data granularity and inserting at the
target inst_data granularity for cancellation during canonicalization.

Assisted by Claude


  Commit: 160f9c15b9f1627364d33d56cd7d30fdcb0225ed
      https://github.com/llvm/llvm-project/commit/160f9c15b9f1627364d33d56cd7d30fdcb0225ed
  Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/test/Parser/acc-unparse.f90

  Log Message:
  -----------
  [flang][OpenACC] Allow blanks around ':' in more clause separators (#210446)

Several OpenACC clause parsers glue a keyword directly to its `:`
separator in the token string (`"DEVNUM:"`, `"QUEUES:"`, `"FORCE:"`,
`"ZERO:"`, `"READONLY:"`). A blank in a `TokenStringMatch` pattern is
the only place a blank is accepted between characters of the token, so
these spellings rejected an otherwise valid separating space, e.g.

```fortran
!$acc wait(devnum : 1 : 2, 3)
!$acc loop collapse(force : 2)
!$acc data copyin(readonly : a) create(zero : b)
```

This moves the blank in each token string to before the `:` so zero or
more blanks are accepted on either side of the separator, matching
free-form Fortran's treatment of blanks and the spec grammar (which
writes these with spaces around the `:`). It mirrors the earlier fix for
the gang `static`/`dim`/`num` arguments.

Parser/unparse coverage is added for the spaced spellings of the wait
`devnum`/`queues` argument, the collapse `force` modifier, and the
`zero` and `readonly` data modifiers.

Assisted-by: AI


  Commit: cfddcac22dabf01901424b746c94d3b6c9bddc4a
      https://github.com/llvm/llvm-project/commit/cfddcac22dabf01901424b746c94d3b6c9bddc4a
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix new metadirective-loop-nest.f90 test expectation with collapse changes in #208528 (#210753)


  Commit: 331e5641480d24de1951d30ef6b10362ab3b6acf
      https://github.com/llvm/llvm-project/commit/331e5641480d24de1951d30ef6b10362ab3b6acf
  Author: Bhavesh M <85327930+beamandala at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
    M mlir/lib/Dialect/EmitC/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/EmitC/Transforms/MLGOAddReflectionMap.cpp
    A mlir/test/Dialect/EmitC/mlgo-add-reflection-map.mlir
    A mlir/test/Target/Cpp/mlgo-add-reflection-map.mlir

  Log Message:
  -----------
  [mlir][EmitC] Create a pass to add a reflection map to a class (#205464)

This creates the `add-reflection-map` pass to add a reflection map and a
helper method to EmitC classes for runtime field lookup.

Details:
- Add headers to import `map` and `string` if not already present.
- For every `ClassOp`:
- Collect all the `FieldOp`s that contain the attribute whose value we
want as the reflection map key. We ignore all `FieldOp`s that contain an
attribute present in `excludedFieldAttrs` and if there's a `FieldOp`
that neither has the attribute we're looking for and isn't excluded by
the presence of one of the `excludedFieldAttrs`, emit and error.
- Create the reflection map where the key is the value of the attribute
in each applicable `FieldOp`'s attribute dictionary and the value is a
pointer to the field's contents.
- Create a `getBufferForName` method which serves as a getter method for
the reflection map.

Based on PR #150572. Key differences:
- Adds a `excluded-field-attrs` option which is a list of attributes
that if present on a field exclude it from the reflection map.
- Adds a helper method called `getBufferForName` which given a string
key returns a pointer to the field's buffer.

Co-authored-by: Jaden Angella <jadenangela8 at gmail.com>


  Commit: 83ba8addf60668a971453eed207f9bfdaa379f97
      https://github.com/llvm/llvm-project/commit/83ba8addf60668a971453eed207f9bfdaa379f97
  Author: Andrew Haberlandt <ahaberlandt at apple.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/asan/CMakeLists.txt
    R compiler-rt/lib/asan/asan_ignorelist.txt
    M compiler-rt/lib/cfi/CMakeLists.txt
    R compiler-rt/lib/cfi/cfi_ignorelist.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt
    R compiler-rt/lib/hwasan/hwasan_ignorelist.txt
    M compiler-rt/lib/msan/CMakeLists.txt
    R compiler-rt/lib/msan/msan_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/CMakeLists.txt
    A compiler-rt/lib/sanitizer_ignorelists/asan_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/cfi_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/hwasan_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/msan_ignorelist.txt

  Log Message:
  -----------
  [compiler-rt] Move sanitizer ignorelists to sanitizer-ignorelists target (#200518)

This adds a `sanitizer-ignorelists` target to compiler-rt, allowing the
ignorelists to be built independently of the sanitizer runtimes. The
ignorelists are still built by default, but this change is not quite
NFC: when any of the sanitizers are built, all of the ignorelists will
be included (rather than the individual runtime ignorelists being built
with their respective runtimes).

For _why_ we want to be able to build these independently of the
runtimes, see
https://github.com/llvm/llvm-project/pull/195690#issuecomment-4384573223

I did not move the dfsan abilist to this new target because it is not as
straightforward as a copying a static file.

Assisted-by: Claude

rdar://175962064


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

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h

  Log Message:
  -----------
  [lldb] Remove unused method DynamicLoaderDarwin::ImageInfo::FindSegment (#210155)

This method is unused.


  Commit: b559a53427f926a603a1755f60d98e06e2b7e1d2
      https://github.com/llvm/llvm-project/commit/b559a53427f926a603a1755f60d98e06e2b7e1d2
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/docs/Status/Cxx26Papers.csv

  Log Message:
  -----------
  [libc++][docs] Avoid talking about other implementations on DR status (#210637)

Standard library implementations consistently treat (or will
consistently treat) some LWG papers as Defect Reports that are also
applied to old modes, despite that they are not officially listed as
Defect Reports in WG21 meeting minutes. We used to say "other
implementations (namely MSVC STL and libstdc++) will do the same" for
some of them.

However, such sentences will become outdated soon when other
implementations actually do so. It is possibly better to avoid saying
so, which potentially requires synchronizing our documentation with
other implementations.


  Commit: eb7677457c1611c02a6362d9eae043987c02ea25
      https://github.com/llvm/llvm-project/commit/eb7677457c1611c02a6362d9eae043987c02ea25
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/call-graph-info-warn-malformed.test
    M llvm/test/tools/llvm-readobj/ELF/call-graph-info.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Print all callgraph sections (#198929)

Ensure that `llvm-readobj` / `llvm-readelf` processes and dumps all 
SHT_LLVM_CALL_GRAPH sections present in an object file, rather
than just the first one.

**Motivation:**
Consider this `foo.s` file
```
.pushsection .text, "axG", %progbits, foo
  .globl foo
  foo:
  ret
  .pushsection .llvm.callgraph, "?", %llvm_call_graph
    .byte 0, 0
    .dc.a foo
    .quad 0
  .popsection
.popsection

.pushsection .text, "axG", %progbits, bar
  .globl foo
  bar:
  ret
  .pushsection .llvm.callgraph, "?", %llvm_call_graph
    .byte 0, 0
    .dc.a bar
    .quad 0
  .popsection
.popsection
```
`clang -c foo.s && llvm-readelf --elf-output-style=JSON --pretty-print
--call-graph-info foo.o` on that shows that there is only one record
reported because the current implementation just looked at the first
SHT_LLVM_CALL_GRAPH section and then ignored all others. This patch will
address this gap by iterating over all the SHT_LLVM_CALL_GRAPH sections.


  Commit: c5204abb4ee22b720528b8c9263d9bf1a5b10d34
      https://github.com/llvm/llvm-project/commit/c5204abb4ee22b720528b8c9263d9bf1a5b10d34
  Author: Gang Chen <gangc at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir.filter.expected
    M llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
    M llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/amdgpu-filter.test
    M llvm/utils/UpdateTestChecks/mir.py

  Log Message:
  -----------
  [llvm-utils][Tools] fix mir-check filter to handle scattered check-lines (#209226)

When filtered output was not consecutive, the auto-update script was not
able to generate working checklines.


  Commit: 3ec4c1783b7dd490d68594e4e46fe309c5fbfbeb
      https://github.com/llvm/llvm-project/commit/3ec4c1783b7dd490d68594e4e46fe309c5fbfbeb
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test

  Log Message:
  -----------
  [PAC][llvm-readobj][ELF][AArch64] Define R_AARCH64_AUTH_TLSDESC_CALL reloc (#199503)

See specification https://github.com/ARM-software/abi-aa/pull/395


  Commit: c4026e4350fd4d70692f205aff8764055a8b4ce1
      https://github.com/llvm/llvm-project/commit/c4026e4350fd4d70692f205aff8764055a8b4ce1
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libunwind/src/DwarfInstructions.hpp
    M libunwind/src/UnwindRegistersSave.S

  Log Message:
  -----------
  [LFI][libunwind] Omit unsuppported stg/za instructions for LFI target (#209392)

Under the LFI target the SVE `za` are not currently supported, and
neither is the `stg` instruction. When included in an LFI program they
cause verification failures due to being unsupported instructions. This
patch omits them from compilation when targeting LFI.


  Commit: 33b9e91b76073bdce71951199c7ed0efcf41d14c
      https://github.com/llvm/llvm-project/commit/33b9e91b76073bdce71951199c7ed0efcf41d14c
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll
    M llvm/test/Other/print-passes.ll
    A llvm/test/Transforms/LoopUnroll/prepare-for-lto.ll

  Log Message:
  -----------
  [LoopUnroll] Add `prepare-for-lto` pass option (#192153)

Expose `UnrollCostEstimator`'s `PrepareForLTO` flag as a pass option for
`LoopUnrollPass` and `LoopFullUnrollPass`. When enabled, loops
containing calls that may be inlined during the LTO post-link phase are
left rolled in the pre-link phase, deferring the decision until LTO
post-link inlining has completed.


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

  Changed paths:
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h
    M lld/ELF/Symbols.cpp
    M lld/test/ELF/version-script-symver-extern.s
    M lld/test/ELF/version-script-symver.s

  Log Message:
  -----------
  [ELF] Apply version script patterns to name-versioned definitions by node (#208882)

Like GNU ld, a definition whose name specifies a version (foo@@v1 or
foo at v1) should be governed solely by its own version node, with global
patterns checked before local ones and no exact-over-wildcard
precedence. Also fix #202259 (`local: foo*` does not localize defined
`foo@@v1`)

```
                                           old        new (= GNU ld)
  symbol foo@@v1
  v1 { local: foo; }        (own node)     localized  localized
  v2 { local: foo; }        (other node)   localized  exported
  v1 { local: foo*; }       (own node)     exported   localized
  v1 { local: *; }          (own node)     exported   localized
  v1 { global: foo*; local: foo; }         localized  exported
  symbol foo3 at v1
  v1 { global: foo3*; local: foo3; }       localized  exported
  v1 { global: *; local: foo3*; }          localized  exported
```

assignExactVersion now skips name-versioned symbols, and the
synthesized "pat at v1" patterns and includeNonDefault parameters are
removed. Instead, parseSymbolVersion matches the version-less name
(demangled for extern "C++" patterns) against the symbol's own node,
localizing the symbol if a local: pattern matches and no global:
pattern does. An exact pattern still performs a "pat at v1" lookup so that
a pattern matching only foo at v1 is not reported as undefined. "attempt
to reassign" diagnostics no longer apply to name-versioned symbols.


  Commit: a04f87fdd9b59c6089bf731c669c6f149208363c
      https://github.com/llvm/llvm-project/commit/a04f87fdd9b59c6089bf731c669c6f149208363c
  Author: Haowei <haowei at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/cmake/modules/ClangConfig.cmake.in
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Reapply "Skipping host target exports during cross-compilation" (#210… (#210496)

This reverts commit 42eb7db188f23625872b6f1d722979a3100d170e. This
reland 3fbb037d03e7ff1ef1cd9156363e895af7caaf98 (#209922).

Under CMake 4+, calling add_library(... SHARED IMPORTED) on a target
platform that lacks dynamic linking support triggers a fatal error. This
becomes an issue when building LLVM and runtimes for baremetal targets
like armv6m-none-eabi. This patch adds the option
"LLVM_OMIT_EXPORTS_FROM_CONFIG" in LLVM. When used in sub builds like
LLVM runtimes, it makes CMake to skip including the LLVM and Clang
exports. This mitigates the CMake 4 errors on baremetal runtimes.

42eb7db188f23625872b6f1d722979a3100d170e originally
apply this flag on all runtimes build and causing issues on runtimes
like intel-sycl-gpu, amdgpu-offload-ubuntu-22-cmake-build-only.
This PR only set this flag when the target platform lacks shared library
support.


  Commit: 1020bbfc6e9e93f304ddb1329e2fa58ef26831c5
      https://github.com/llvm/llvm-project/commit/1020bbfc6e9e93f304ddb1329e2fa58ef26831c5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lld/test/ELF/amdgpu-abi-version-err.s
    M lld/test/ELF/amdgpu-abi-version.s
    M lld/test/ELF/amdgpu-duplicate-sym.s
    M lld/test/ELF/amdgpu-elf-flags-err.s
    M lld/test/ELF/amdgpu-elf-flags.s
    M lld/test/ELF/amdgpu-globals.s
    M lld/test/ELF/amdgpu-relocs.s
    M lld/test/ELF/amdgpu-relocs2.s
    M lld/test/ELF/amdgpu-tid.s
    M lld/test/ELF/emulation-amdgpu.s
    M lld/test/ELF/lto/amdgcn-oses.ll
    A lld/test/ELF/lto/amdgpu.ll

  Log Message:
  -----------
  lld: Migrate amdgpu tests to use subarch triples (#210114)


  Commit: 7b9ab3a48198aa6bb2130e4302b0dcb66e980f90
      https://github.com/llvm/llvm-project/commit/7b9ab3a48198aa6bb2130e4302b0dcb66e980f90
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-07-20 (Mon, 20 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/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2a33792a2ec1 (#210772)


  Commit: 55e5cc2ab21be2ef375e5235a961def0e27a2e1a
      https://github.com/llvm/llvm-project/commit/55e5cc2ab21be2ef375e5235a961def0e27a2e1a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AMDGPU/fsub.ll
    M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
    M llvm/test/Analysis/DotMachineCFG/AMDGPU/functions.mir
    M llvm/test/Analysis/DotMachineCFG/AMDGPU/irreducible.mir
    M llvm/test/Analysis/Lint/const-store.ll
    M llvm/test/Analysis/MemorySSA/ptr-const-mem.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/hidden-diverge.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/irreducible-1.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/irreducible-2.ll
    M llvm/test/Assembler/amdgpu-image-atomic-attributes.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extendedLLTs-err.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extendedLLTs.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.offset-split.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
    M llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
    M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-flat-scratch-svs.mir
    M llvm/test/CodeGen/AMDGPU/expand-mov-b64-globaladdr-hsa.ll
    M llvm/test/CodeGen/AMDGPU/expand-mov-b64-globaladdr-rel32.mir
    M llvm/test/CodeGen/AMDGPU/expand-mov-b64-globaladdr.ll
    M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
    M llvm/test/CodeGen/AMDGPU/flat-error-unsupported-gpu-hsa.ll
    M llvm/test/CodeGen/AMDGPU/issue196582-late-codegenprepare-crash-non-po2.ll
    M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load-exported.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.format.i8.xfail.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
    M 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-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
    M llvm/test/CodeGen/AMDGPU/mcinstlower-external-symbol-reloc.mir
    M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
    M llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll
    M llvm/test/CodeGen/AMDGPU/packed_shl64_combine.ll
    M llvm/test/CodeGen/AMDGPU/phi-elimination-assertion.mir
    M llvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
    M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments-2.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
    M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-dead-def-join.mir
    M llvm/test/CodeGen/AMDGPU/si-pre-allocate-wwwmregs-dbg-noreg.mir
    M llvm/test/CodeGen/AMDGPU/strict_fptrunc_bf16.ll
    M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
    M llvm/test/CodeGen/AMDGPU/v_mov_b64-isel.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-setreg-pred-block.mir
    M llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
    M llvm/test/CodeGen/Generic/bfloat-op.ll
    M llvm/test/CodeGen/Generic/bfloat.ll
    M llvm/test/CodeGen/Generic/half-op.ll
    M llvm/test/CodeGen/Generic/half.ll
    M llvm/test/CodeGen/Generic/live-debug-label.ll
    M llvm/test/CodeGen/MIR/AMDGPU/empty-custom-regmask.mir
    M llvm/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mir
    M llvm/test/CodeGen/MIR/AMDGPU/intrinsics.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index-invalid-fixed-stack.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index-invalid-stack.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index-no-stack.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index2.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mir
    M llvm/test/CodeGen/MIR/AMDGPU/llc-target-cpu-attr-from-cmdline-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/llc-target-cpu-attr-from-cmdline.mir
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-dynlds-align-invalid-case.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-register-parse-error1.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-register-parse-error2.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-frame-offset-reg-class.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-parse-error-frame-offset-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-parse-error-scratch-rsrc-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-parse-error-stack-ptr-offset-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-scratch-rsrc-reg-reg-class.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-stack-ptr-offset-reg-class.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi-def.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir
    M llvm/test/CodeGen/MIR/AMDGPU/noconvergent-invalid.mir
    M llvm/test/CodeGen/MIR/AMDGPU/noconvergent.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-empty-lanemask.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-invalid-lanemask.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-missing-lparen.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-missing-rparen.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mir
    M llvm/test/CodeGen/MIR/AMDGPU/s_wait_alu_missing_operand_crash.mir
    M llvm/test/CodeGen/MIR/AMDGPU/s_waitcnt_missing_operand_crash.mir
    M llvm/test/CodeGen/MIR/AMDGPU/sgpr-for-exec-copy-invalid-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs-invalid.mir
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs-not-a-reg.mir
    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/AMDGPU/stack-id.mir
    M llvm/test/CodeGen/MIR/AMDGPU/target-flags.mir
    M llvm/test/CodeGen/MIR/AMDGPU/target-index-operands.mir
    M llvm/test/CodeGen/MIR/AMDGPU/target-memoperands.mir
    M llvm/test/CodeGen/MIR/AMDGPU/vgpr-for-agpr-copy-invalid-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/wwm-reserved-regs-invalid-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/wwm-reserved-regs-not-a-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/wwm-reserved-regs.mir
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_internalize.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-3d-grid.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-contiguous-counters.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-uniform-counters.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-wave32.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-wave64.ll
    M llvm/test/Instrumentation/InstrProfiling/platform.ll
    M llvm/test/LTO/AMDGPU/closed-world-assumption.ll
    M llvm/test/MachineVerifier/AMDGPU/undef-virt-reg-entry-block.mir
    M llvm/test/MachineVerifier/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir
    M llvm/test/MachineVerifier/AMDGPU/verify-implicit-def.mir
    M llvm/test/MachineVerifier/AMDGPU/writelane_m0.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
    M llvm/test/MachineVerifier/stack-protector-offset.mir
    M llvm/test/ThinLTO/AMDGPU/force-import-all.ll
    M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
    M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
    M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
    M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/phi-with-incoming-from-load.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/select-from-load.ll
    M llvm/test/Transforms/LICM/AMDGPU/buffer-rsrc-ptrs.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
    M llvm/test/Transforms/LoopLoadElim/pr46854-adress-spaces.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-icmpzero-mixed-ptr-width.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-void-inseltpoison.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/scev-mul-expansion-cost.ll
    M llvm/test/Transforms/OpenMP/add_attributes_amdgcn.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.ll
    M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
    M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    M llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
    M llvm/test/Transforms/PhaseOrdering/varargs.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
    M llvm/test/Transforms/StructurizeCFG/hoist-zerocost-nested.ll
    M llvm/test/Transforms/StructurizeCFG/rebuild-ssa-infinite-loop-inseltpoison.ll
    M llvm/test/Transforms/StructurizeCFG/rebuild-ssa-infinite-loop.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
    M llvm/test/tools/llvm-objdump/Offloading/Inputs/binary.yaml
    M llvm/test/tools/llvm-objdump/Offloading/coff.test
    M llvm/test/tools/llvm-objdump/Offloading/elf.test

  Log Message:
  -----------
  AMDGPU: Migrate more tests to amdgpu triples (#210113)

These were missed in previous conversions for whatever reason.
Some are new tests added after I did the bulk migration, some
are special cases.


  Commit: 6665357608334ed956517d8aa3df472b0553e50d
      https://github.com/llvm/llvm-project/commit/6665357608334ed956517d8aa3df472b0553e50d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/IR/RuntimeLibcallsImpl.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-bad-system-library-entry-error.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-calling-conv.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-conflict-warning.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-nested-predicates-error.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-predicate-cc-sort.td
    M llvm/test/TableGen/RuntimeLibcallEmitter.td
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Rename RuntimeLibcallPredicate to RuntimeLibcallAvailability (#210648)

Rename to avoid confusing partial name collisions in future changes.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: f010423d3dfac774c6157686b6f14fb8d357c715
      https://github.com/llvm/llvm-project/commit/f010423d3dfac774c6157686b6f14fb8d357c715
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp

  Log Message:
  -----------
  [scudo] Remove dead code and other small cleanups. (#210454)

Some dead code from the error info refactor is still around, so delete
that. Also cleanup spelling and spacing.

Modified the tests to use TestOnly functions so it's clear what is
actually used.


  Commit: dd0b48c7e7988fed5f08e93ea3c291ca8d5f99a1
      https://github.com/llvm/llvm-project/commit/dd0b48c7e7988fed5f08e93ea3c291ca8d5f99a1
  Author: Matsu <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-private-foldable-nw.mlir
    M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp

  Log Message:
  -----------
  [OpenACC] Support dynamic worker-private shared memory (#210770)

Use the maximum ThreadY width when the runtime worker count prevents
exact static sizing.


  Commit: a01ff35d0375d8a2a558c44ef73583da58dfa505
      https://github.com/llvm/llvm-project/commit/a01ff35d0375d8a2a558c44ef73583da58dfa505
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libunwind/src/DwarfInstructions.hpp
    M libunwind/src/DwarfParser.hpp
    A libunwind/test/ra_sign_state.pass.cpp

  Log Message:
  -----------
  [libunwind] Fix exposure of UNW_AARCH64_RA_SIGN_STATE through _Unwind_GetGR (#209947)

The pseudo register was previously hacked in under kRegisterIsUndefined, leaving it in a state that was only accessible from within the unwinder itself.
To fix this, allowing external access to the state (and therefore tests!), we invent a new register location kRegisterIsPseudo to record the additional state that the register has been defined by a .cfi_negate_ra_state opcode having been executed.


  Commit: 1df8a2c9aac26211fb931f59d2f0489ebd506ad1
      https://github.com/llvm/llvm-project/commit/1df8a2c9aac26211fb931f59d2f0489ebd506ad1
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/cfi/BUILD.gn
    A llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_ignorelists/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/asan/BUILD.gn

  Log Message:
  -----------
  [gn] port 83ba8addf6 (sanitizer_ignorelists) (#210776)


  Commit: 094a7278f66691c8e0d910c803966f5c2e1f6ce5
      https://github.com/llvm/llvm-project/commit/094a7278f66691c8e0d910c803966f5c2e1f6ce5
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
    M llvm/test/CodeGen/AMDGPU/med3-knownbits.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udivrem24.ll

  Log Message:
  -----------
  [AMDGPU] Calculate div/rem with frcp more efficiently (#210684)

Integer division q = a/b can be implemented by fp reciprocal with:
fq = fa * recip(fb)
fq is truncated to produce q. Due to fp rounding and reciprocal accuracy
issues fq can be too small and truncation can produce a value too small
by one.

If abs(a)<=0x400000, this underestimate can be guarded more efficiently
by calculating:
fq=fa+1ulp/b
If abs(a)<=0x400000, adding 1 ulp will increase a by at most 0.5, so the
calculated q will be the same. Adding 1ulp can be done with one integer
add.

This change is analogous to the change done in
https://github.com/llvm/llvm-project/pull/204950 but in
AMDGPUISelLowering.cpp.

Signed-off-by: John Lu <John.Lu at amd.com>


  Commit: a8fd45114023f0cb332b2c0fcc5a14f4c4de8182
      https://github.com/llvm/llvm-project/commit/a8fd45114023f0cb332b2c0fcc5a14f4c4de8182
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/merge-across-side-effects.ll

  Log Message:
  -----------
  [LSV] Don't vectorize load chains across ordered atomics (#208631)

When the LoadStoreVectorizer finds a chain of loads to merge into a
single vectorized load, it hoists all of the constituent loads up to the
location of the first load in the chain.

This is obviously not safe if there are any may-alias stores in the
middle of the chain. But it's *also* not safe if there are `acquire`
*loads* in the middle of the chain.

There's a similar problem with stores. A chain of stores is vectorized
by merging them all into the final store in the chain. This is not safe
if there is an intervening `release` store.


  Commit: 59e677629e4398428dbefecba8062fb89955f1f3
      https://github.com/llvm/llvm-project/commit/59e677629e4398428dbefecba8062fb89955f1f3
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

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

  Log Message:
  -----------
  [llvm][AArch64] Refactor emitPACCFI into decoratePACWithCFI/emitAUTCFI. NFC (#209948)


  Commit: 365a64ac9353032b4de330ac6f6ce48bd1b53846
      https://github.com/llvm/llvm-project/commit/365a64ac9353032b4de330ac6f6ce48bd1b53846
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-07-20 (Mon, 20 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-ldst-one.c
    A clang/test/CodeGen/AArch64/neon/store.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/arm-neon-vst.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream store (vst1_*/vst1q_*) NEON builtins (#209347)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for store intrinsics (`vst1_*`/`vst1q_*`)
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#store)

Port tests:
- `clang/test/CodeGen/AArch64/neon-intrinsics.c`
-  `clang/test/CodeGen/AArch64/neon-ldst-one.c`
-  `clang/test/CodeGen/AArch64/poly64.c`
-  `clang/test/CodeGen/arm-neon-vst.c`

to `clang/test/CodeGen/AArch64/neon/store.c`


  Commit: 95cabd6644eae6c1622750d78ebc90e68fe0e122
      https://github.com/llvm/llvm-project/commit/95cabd6644eae6c1622750d78ebc90e68fe0e122
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn

  Log Message:
  -----------
  [gn] hwasan follow-up to 1df8a2c9aac26211 (#210781)


  Commit: d139c824e997f0b0be3a3578226f2a2e6352e251
      https://github.com/llvm/llvm-project/commit/d139c824e997f0b0be3a3578226f2a2e6352e251
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-07-20 (Mon, 20 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] Add local forward layout propagation (#208932)

Backward layout propagation only assigns layouts to values that are
(transitively) consumed by an anchor op. A value whose only consumer is,
e.g., the next iteration of a loop is left without a layout.

Add a local forward-fill step, run after the backward materialization
walk in propagateLayouts(): it visits ops in producer-first order and,
for any un-laid-out vector result, infers the layout from the op's
already-known operand layouts via a new
inferResultLayoutFromSourceForNonAnchorOp dispatcher (covering
elementwise, transpose, and shape_cast; other ops are left as TODO),
then stamps it with setDistributeLayoutAttr.

---------

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>


  Commit: 9208fc3409e3afff53338b0fdaf22319752949db
      https://github.com/llvm/llvm-project/commit/9208fc3409e3afff53338b0fdaf22319752949db
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Protocol/MCP/Server.h
    M lldb/source/Protocol/MCP/Server.cpp
    M lldb/tools/lldb-mcp/CMakeLists.txt
    M lldb/tools/lldb-mcp/Multiplexer.cpp
    M lldb/tools/lldb-mcp/Multiplexer.h
    M lldb/tools/lldb-mcp/lldb-mcp.cpp
    M lldb/unittests/tools/lldb-mcp/MultiplexerTest.cpp

  Log Message:
  -----------
  [lldb-mcp] Host managed debug sessions in-process (#210450)

Let a client create and own debug sessions with session_create and
session_close. Rather than spawn a separate lldb per session, lldb-mcp
hosts them in its own process, communicating over a loopback socket to
keep things uniform with external lldb instances.

The benefits of this approach are:

- There is no child-process machinery, so nothing needs to be spawned
and cleaned up.
- It works without the need for an external lldb binary.
- It avoids the deadlock by reading stdin through a raw fd instead of
the FILE* stdio path that previously hung the Debugger constructor
contending on the REPL's stdin lock.
- The architecture stays uniform between in-process and external
sessions.

The trade-off is no isolation, so an LLDB crash takes down lldb-mcp
along with its proxied connections.

Assisted-by: Claude


  Commit: 30c0454414ec043dc50d2690f72a12719ab89d6c
      https://github.com/llvm/llvm-project/commit/30c0454414ec043dc50d2690f72a12719ab89d6c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcallsImpl.td
    A llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag-errors.td
    A llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag.td
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/PredicateExpanderDag.cpp
    A llvm/utils/TableGen/Basic/PredicateExpanderDag.h
    M llvm/utils/TableGen/Basic/RuntimeLibcalls.cpp
    M llvm/utils/TableGen/Basic/RuntimeLibcalls.h
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Reuse AssemblerPredicate's operators for libcalls (#210651)

Allow specifying RuntimeLibcall's availability in terms of individual
triple properties composed with logical operators.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 6fcf3b331fc83b817bbbe6c255fb2a75fab381f1
      https://github.com/llvm/llvm-project/commit/6fcf3b331fc83b817bbbe6c255fb2a75fab381f1
  Author: Lucas Ly Ba <hi at lucaslyba.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/X86/lower-table-based-log2-basics.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Emit branchless MSB index for de Bruijn ctlz tables (#210633)

When the de Bruijn table's zero element is the bit width minus one it
computes the most significant bit index. We can do that without a branch
using ~ctlz(X) & (InputBits - 1), so the select is no longer needed.

Alive: https://alive2.llvm.org/ce/z/9WsUXd

Fixes #208989


  Commit: 3d638ea31e8efee04e307e74e29dc80d5585dd27
      https://github.com/llvm/llvm-project/commit/3d638ea31e8efee04e307e74e29dc80d5585dd27
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir

  Log Message:
  -----------
  [mlir][xegpu] Change inst-data of load/load_matrix to fit lane layout (#209661)

The consumer layout may have multiple distribution of lane data, but
load_gather/load_matrix only allow one single distribution, change their
inst_data according to the single distribution of lane data.


  Commit: afb54cc942d5fccf63f5594a6808f21eb179db6f
      https://github.com/llvm/llvm-project/commit/afb54cc942d5fccf63f5594a6808f21eb179db6f
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/test/Transforms/LoopUnroll/RISCV/runtime-unroll-max-trip-count.ll

  Log Message:
  -----------
  [LoopUnroll] Remove `Count` from `UnrollingPreferences` (NFC) (#203413)

`UnrollingPreferences` is a way for targets to specify their preferences
to the unroller. The unroller uses `UnrollingPreferences` to guide what
kinds of unrolling to consider while also co-opting it to encode the
specific kind of unrolling it's chosen to attempt.

One preference targets can set is the `Count`, or the number of times
the loop in question will be unrolled:
```
    /// A forced unrolling factor (the number of concatenated bodies of the
    /// original loop in the unrolled loop body). When set to 0, the unrolling
    /// transformation will select an unrolling factor based on the current cost
    /// threshold and other factors.
    unsigned Count;
```
However, there are no in-tree uses of this functionality, and it does
not work. [Loop
peeling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1072)
([2](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1149)),
[pragma
unrolling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1090),
[full
unrolling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1115),
[upper-bound
unrolling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1137),
[partial
unrolling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1162),
and [runtime
unrolling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1202)
all override the value of `UP.Count` that targets would've set. This
appears to have been broken since LLVM 3.9 days as a result of
ea2aef4a1d4beded20033fa4fc223936c7ffe5d8.

This PR removes `Count` from `UnrollingPreferences` and instead encodes
it as a return value of the `computeUnrollCount()` family of functions.

If [out-of-tree targets want to begin setting
`Count`](https://github.com/llvm/llvm-project/pull/185979#discussion_r3022857799),
their best bet is likely to use
[`llvm.loop.unroll.count`](https://llvm.org/docs/LangRef.html#llvm-loop-unroll-count-metadata).


  Commit: 8632f54ae56373f52c02b9476bc34d71d0331502
      https://github.com/llvm/llvm-project/commit/8632f54ae56373f52c02b9476bc34d71d0331502
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll

  Log Message:
  -----------
  [AMDGPU] Testing cleanup in prep for true16 test upstreaming (#209888)

Some small cleanup of a few tests in preparation for True16 test
upstreaming, synchronizes with cleanups that already happened downstream


  Commit: 3f2e25a9e62a3e71aa70ae28e1d6218ef6d05318
      https://github.com/llvm/llvm-project/commit/3f2e25a9e62a3e71aa70ae28e1d6218ef6d05318
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes dd0b48c (#210779)

This fixes dd0b48c7e7988fed5f08e93ea3c291ca8d5f99a1.

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=dd0b48c7e7988fed5f08e93ea3c291ca8d5f99a1

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: 47593d5d17f86e288e3a4f2ef8c6f874d7161925
      https://github.com/llvm/llvm-project/commit/47593d5d17f86e288e3a4f2ef8c6f874d7161925
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIRV] SPIRVTools custom targets should not have executable suffix (#210773)

This looks like it was likely a copy paste mistake. When we invoke the
binary via the cmake command yes we need the executable suffix. but the
custom target name is the same across all OSes.

This bug manifests itself on Windows when you add
-DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON to the cmake.


  Commit: 33acb625bb0c262aaa886b4101994e81c14fbdfb
      https://github.com/llvm/llvm-project/commit/33acb625bb0c262aaa886b4101994e81c14fbdfb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/amdgpu-toolchain.c

  Log Message:
  -----------
  [Clang][AMDGPU] Search both amdgcn and amdgpu libraries again (#210767)

Summary:
Extension to https://github.com/llvm/llvm-project/pull/209770/, the
previous one did not cover all cases we search paths, it only did the
relative paths for a few cases. This adds it to the other case, should
be the same logic and motivation.


  Commit: 0de567b62a5b33f861314f3faa6511ee2e43ddd6
      https://github.com/llvm/llvm-project/commit/0de567b62a5b33f861314f3faa6511ee2e43ddd6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/Lanai/llc-pipeline-npm.ll
    M llvm/test/CodeGen/X86/llc-pipeline-npm.ll

  Log Message:
  -----------
  [NewPM] Port LegacyPM regalloc Refactoring

This didn't seem to make it into the original CodeGen NewPM patches, so
add it now to keep things consistent. This also removes duplicate
StackSlotColoring passes.

Originally done for the LegacyPM in
c9122ddef5213fbdd2d82c473a74e1742010f62f.

Reviewers: arsenm, aeubanks

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


  Commit: c9a17d3e4690b50d68124f7207a1035237bb5c16
      https://github.com/llvm/llvm-project/commit/c9a17d3e4690b50d68124f7207a1035237bb5c16
  Author: Alex Strelnikov <strel at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libc/src/stdio/linux/stdin.cpp
    M libc/src/stdio/linux/stdout.cpp

  Log Message:
  -----------
  [libc] Fix standard streams variable name typos in overlay mode. (#210728)

These appear to be a couple of copy/paste misses from #187522.


  Commit: 7c672b6eff42b4aa6d1e2f8ef2b24a344d57b14b
      https://github.com/llvm/llvm-project/commit/7c672b6eff42b4aa6d1e2f8ef2b24a344d57b14b
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [bazel][RuntimeLibcalls] Fix 30c0454414ec043dc50d2690f72a12719ab89d6c (#210796)

Add PredicateExpanderDag.cpp to the glob. Avoid adding
PredicateExpanderDag.h and instead switch to a glob to include all
headers. We can't glob the .cpp files due to a circular dep when
including TargetFeaturesEmitter.cpp.


  Commit: d903936a03eba0eb1f96b96ec0a956de0bfaaf47
      https://github.com/llvm/llvm-project/commit/d903936a03eba0eb1f96b96ec0a956de0bfaaf47
  Author: Chris Apple <cja-private at pm.me>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M compiler-rt/test/rtsan/deduplicate_errors.cpp
    M compiler-rt/test/rtsan/lit.cfg.py
    M compiler-rt/test/rtsan/unrecognized_flags.cpp

  Log Message:
  -----------
  [NFC] [rtsan] Cleanup env for lit tests (#210395)

This matches the style of our other tests, and may make it easier for
others to maintain downstream if they override the `env_rtsan_opts`
variable with special platform specific options.


  Commit: 5cf3b68e2f14e6b08ef09459b0613ddbb6b82054
      https://github.com/llvm/llvm-project/commit/5cf3b68e2f14e6b08ef09459b0613ddbb6b82054
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/include/lldb/Interpreter/OptionValueArch.h
    M lldb/include/lldb/Interpreter/OptionValueArray.h
    M lldb/include/lldb/Interpreter/OptionValueBoolean.h
    M lldb/include/lldb/Interpreter/OptionValueChar.h
    M lldb/include/lldb/Interpreter/OptionValueDictionary.h
    M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
    M lldb/include/lldb/Interpreter/OptionValueFormat.h
    M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
    M lldb/include/lldb/Interpreter/OptionValueLanguage.h
    M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
    M lldb/include/lldb/Interpreter/OptionValueProperties.h
    M lldb/include/lldb/Interpreter/OptionValueRegex.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUUID.h
    M lldb/source/Interpreter/OptionValue.cpp
    M lldb/source/Interpreter/OptionValueBoolean.cpp
    M lldb/source/Interpreter/OptionValueFileSpecList.cpp
    M lldb/source/Interpreter/OptionValueFormatEntity.cpp
    M lldb/source/Interpreter/OptionValueProperties.cpp

  Log Message:
  -----------
  [lldb] Avoid data race when clearing an OptionValue (#208471)

The clear function guarded by the internal mutex.
This happens when we have to threads one trying to set a value and the
other reseting the value.

The derived classes are forced to implement the `ClearImpl`. and base
`OptionValue` hold the mutex and calls `ClearImpl` on clear.


  Commit: 01197ee9ad4c9625df1557c5756ba23e8b180d60
      https://github.com/llvm/llvm-project/commit/01197ee9ad4c9625df1557c5756ba23e8b180d60
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    M mlir/test/Dialect/OpenACC/acc-cg-to-gpu-reduction-array.mlir

  Log Message:
  -----------
  [mlir][acc] Lower per-thread array reductions correctly (#210453)

Lowering an acc.reduction_accumulate_array to a per-element
gpu.all_reduce is only valid when each thread owns its own accumulator
copy. This was inferred from the memref's static size, which was wrong
for dynamically-shaped accumulators and for storage seen through
descriptor or strided views.

Per-thread accumulators that fit the local stack budget are materialized
in stack memory; anything larger, or gang-scoped, is materialized in
shared memory. Classify from that: a stack alloca (or a view over one)
within the budget is per-thread, a shared allocation is block-shared,
and a dynamically-shaped accumulator is classified from its par_dims.
Materialization and predication follow the same rule, and writes to a
privatization are recognized through views/casts so per-thread setup
runs on every owning thread.


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp

  Log Message:
  -----------
  [SPIR-V] Simplify lookup of llvm.global.annotations using getNamedGlobal (#210722)


  Commit: f34b933ff76cbc9d02d9b68b4b0c6ee7996d005c
      https://github.com/llvm/llvm-project/commit/f34b933ff76cbc9d02d9b68b4b0c6ee7996d005c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  [NewPM] Only add passes after optimized RegAlloc if a target enables it

The legacyPM allows for returning a boolean from
addRegAssignAndRewriteOptimized, and if set to false, some extra passes
at the end of addOptimizedRegAlloc are not added. Before this patch, the
NewPM would only omit adding these passes if an error was thrown, which
gets propagated all the way back up and prevents compilation.

This is necessary behavior for targets that do not perform register
allocation, like WebAssembly, that will otherwise crash in places like
MachineLICM.

Reviewers: arsenm, aeubanks

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


  Commit: f36452f40e849d8e4947689a3bd8252ad5bbbde5
      https://github.com/llvm/llvm-project/commit/f36452f40e849d8e4947689a3bd8252ad5bbbde5
  Author: Chris Apple <cja-private at pm.me>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M compiler-rt/test/rtsan/lit.cfg.py

  Log Message:
  -----------
  [rtsan] Clean up rtsan_opts default variable (#210803)

Follow on from https://github.com/llvm/llvm-project/pull/210395.

Some systems didn't like this empty variable when they appended to it
later (and the original variable that we had as a dummy was unsupported
by rtsan)


https://github.com/llvm/llvm-project/pull/210395/changes#diff-5f39176422b87f314a683584d1cabe670b4c1e3942d65bb2b5ce4d0623c40560L7

Change this to another inconsequential value so we can append
`:other_options` to it easily later in the file


  Commit: c770d924484d37c6a4ee7a35e90f053b0d391e2a
      https://github.com/llvm/llvm-project/commit/c770d924484d37c6a4ee7a35e90f053b0d391e2a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag.td
    M llvm/utils/TableGen/Basic/PredicateExpanderDag.cpp
    M llvm/utils/TableGen/Basic/PredicateExpanderDag.h

  Log Message:
  -----------
  TableGen: Parenthesize negated predicate-dag leaves with operators (#210652)

Allows writing more general expressions in the predicate code.
Previously
not ("a == b") would be emitted as !a == b.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 8d5788cae76da2b82d1330fb070f622cda870adb
      https://github.com/llvm/llvm-project/commit/8d5788cae76da2b82d1330fb070f622cda870adb
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.convert.pass.cpp

  Log Message:
  -----------
  [libc++][ranges][NFC] Format a couple of `elements_view` tests (#210687)

As a pre-requisite for https://github.com/llvm/llvm-project/pull/193891


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

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/unittests/Symbol/JSONSymbolTest.cpp
    M lldb/unittests/Symbol/SymbolTest.cpp

  Log Message:
  -----------
  [lldb][NFC] Use make_shared when creating Sections (#210196)


  Commit: 429c88d37f1f02e68ebc1fc7b0da4511ce6407e3
      https://github.com/llvm/llvm-project/commit/429c88d37f1f02e68ebc1fc7b0da4511ce6407e3
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows: Add missing checkouts when using validate-release-version (#210471)

We need to make sure all composite workflows we use are checked out
manually from th egit repo.


  Commit: 81112dd333caaedfb5eea1a2014e50e535a0125a
      https://github.com/llvm/llvm-project/commit/81112dd333caaedfb5eea1a2014e50e535a0125a
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir

  Log Message:
  -----------
  [AMDGPU] Fold immediate from REG_SEQUENCE (imm, IMPLICIT_DEF) (#210787)

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: 5f2d043abb6874e3c2be61b28131d9863c428b36
      https://github.com/llvm/llvm-project/commit/5f2d043abb6874e3c2be61b28131d9863c428b36
  Author: Ankit Kumar Tiwari <141545455+ankit-cybertron at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/AArch64/vecreduce-mul-constant-fold.ll

  Log Message:
  -----------
  [SelectionDAG] Fold VECREDUCE_MUL of a constant BUILD_VECTOR (#210126)

Follows up on #207560 (VECREDUCE_ADD).
Adds constant folding for `ISD::VECREDUCE_MUL` in
`SelectionDAG::FoldConstantArithmetic` when the input is a
`BUILD_VECTOR` of integer constants. 

Fixes #209110


  Commit: f1073034a030a09bf0a29607aa0bee4430b31b97
      https://github.com/llvm/llvm-project/commit/f1073034a030a09bf0a29607aa0bee4430b31b97
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler] Use SchedulingPoint for pointing to scheduling front (#208373)

The scheduling point is the last instruction scheduled. If this is the
first time scheduling and we are scheduling top-down then we may need to
point before the beginning of the basic block. This is why a
BasicBlock::iterator does not work well here.

Until now we were using the first top-most instruction for this, which
is inconsistent.


  Commit: e92e1787bd87ab1fb631f1dc242308f7bede9b16
      https://github.com/llvm/llvm-project/commit/e92e1787bd87ab1fb631f1dc242308f7bede9b16
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/test/CIR/CodeGen/anonymous-nested-init.c
    M clang/test/CIR/CodeGen/record-with-padded-union.cpp

  Log Message:
  -----------
  [CIR] Fixup conversion of const unions/structs of unions (#210146)

Now that we represent a union as all of the fields, it is possible for
the non-storage type to be initialized, so the fact that we were
lowering the types as storage in 1 way for the constant type, but
filling it with our actual value was wrong.

This patch makes sure we create a literal struct type for LLVM for union
types where they don't match, which generally matches the OGCG
implementation/output.

I've also generalized the work for the FAM to do this conversion, and
moved it to LoweringHelpers, so that our ConstantRecord lowering can use
it too.

This patch fixes up a couple uses of std::string initializers where they
fit in the SSO.

Note: I was assisted in this by Claude Opus. I did plenty of self-review
on this as it was being generated, and a post-review, but hopefully I
didn't miss anything.


  Commit: 66af87fd8b49cb44eabb9ccd08de77027ce3c90e
      https://github.com/llvm/llvm-project/commit/66af87fd8b49cb44eabb9ccd08de77027ce3c90e
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M libc/src/stdlib/linux/CMakeLists.txt
    M libc/src/stdlib/linux/realpath.cpp
    M libc/test/src/stdlib/realpath_test.cpp

  Log Message:
  -----------
  [libc][realpath] Validate path components (#209370)

This PR updates `realpath` to validate paths and return `ENOTDIR` or
`ENOENT` according to
https://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html.


  Commit: 4479f3397f827291c51698fbaa685b1a9493467a
      https://github.com/llvm/llvm-project/commit/4479f3397f827291c51698fbaa685b1a9493467a
  Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/TCE.h

  Log Message:
  -----------
  [clang][TCE] Fix ordering of OpenCL address space mappings (#210244)

opencl_global_device and opencl_global_host are defined after
opencl_generic in LangAS, but commit
8d27be8dbaffce0519ac41173d51923fc2524b1b inserted them before
opencl_generic in the TCE address space map.

Fix the order to restore the intended mappings.


  Commit: 3d0f18b6210e8cbc9fa04bca91581e25371c5b14
      https://github.com/llvm/llvm-project/commit/3d0f18b6210e8cbc9fa04bca91581e25371c5b14
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectScripting.cpp

  Log Message:
  -----------
  [lldb/script] Only auto-open the generator template in an editor when interactive (#210808)

`scripting extension generate` always launched the external editor after
writing the template to disk, which is fine when a user types the
command at the prompt but is undesirable when the command runs from the
test suite, a headless driver, or a script -- each invocation spawns an
editor that nobody sees.

Extend `--open-editor` (`-e`) so that the default (`eLazyBoolCalculate`)
now dispatches on `CommandReturnObject::GetInteractive()`, which
`SBCommandInterpreter::HandleCommand` explicitly clears. That's the
accurate signal even when the process' stdin is a TTY inherited from the
parent (e.g. `lldb-dotest` invoked from a terminal). `--open-editor yes`
and `--open-editor no` still force the behavior explicitly.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 95649d680b1374716e68b34940ec11518ecc79d8
      https://github.com/llvm/llvm-project/commit/95649d680b1374716e68b34940ec11518ecc79d8
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu

  Log Message:
  -----------
  [CIR][CUDA] Add support for NVVM binary atomic builtins (#210534)

Adds codegen support for the following NVVM binary atomic builtins: add,
sub, and, or, xor, min, umin, max and max.

These are lowered to the corresponding CIR `cir.atomic.fetch` operations
and subsequently lowered to LLVM `atomicrmw` instructions.


  Commit: 4c88bd7840aa220ac8b19c0c73e951b7d6abf325
      https://github.com/llvm/llvm-project/commit/4c88bd7840aa220ac8b19c0c73e951b7d6abf325
  Author: Drew Kersnar <dkersnar at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    A llvm/test/Transforms/LoadStoreVectorizer/external-state-pointer.ll

  Log Message:
  -----------
  [LoadStoreVectorizer] Avoid vectorizing pointers with external state (#209909)

LLVM pointers with external state must be loaded and stored using their
pointer type so that out-of-band state is transferred. I noticed that
the LangRef explicitly prohibits replacing such accesses with integer or
byte accesses:
https://llvm.org/docs/LangRef.html#pointers-with-external-state

> When a pointer type has external state, all roundtrips via memory must
be performed as loads and stores of the correct type since stores of
other types may not propagate the external data. Therefore it is not
legal to convert an existing load/store (or a llvm.memcpy / llvm.memmove
intrinsic) of pointer types with external state to a load/store of an
integer or byte type with the same bitwidth, as that may drop the
external state.

The LoadStoreVectorizer could combine an external-state pointer access
with an adjacent same-sized access, replacing them with an integer
vector load/store and `inttoptr`/`ptrtoint`.

Conservatively exclude loads and stores whose value type has external
state from LSV vectorization. Add regression coverage for both loads and
stores using a `pe2:` datalayout.

This issue exists for same-width mixed chains today and could affect
additional mixed-width chains once #177908 lands (I stumbled across this
while reviewing that change).

This PR was created with the assistance of AI.


  Commit: cdc31cfa66f0b2da2483854db9c783ddba120c42
      https://github.com/llvm/llvm-project/commit/cdc31cfa66f0b2da2483854db9c783ddba120c42
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
    M llvm/lib/DWARFLinker/Parallel/DependencyTracker.h
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-deterministic-nested-type.test

  Log Message:
  -----------
  [DWARFLinker] Fix RefTypeName crash and type-table non-determinism (#209033)

The parallel linker computes DIE placement (artificial type unit vs
plain DWARF) concurrently across compile units.

1. updateDependenciesCompleteness checked the placement of the enclosing
root type (getRootForSpecifiedEntry) instead of the actual referenced
DIE. A nested type can be demoted to plain DWARF while its root stays in
the type table, leaving a type-unit DIE that references a plain DIE and
tripping the RefTypeName assertion in
DIEAttributeCloner::cloneDieRefAttr. Carry the actual referenced DIE on
the worklist item and check its placement.

2. The completeness dependency set was recorded as a side effect of the
concurrent marking traversal, which short-circuits on already-marked
DIEs (isAlreadyMarked) before maybeAddReferencedRoots. When a shared
cross-CU DIE was already marked by a racing CU, the current referencing
root's outgoing dependencies were dropped, so the demotion fixpoint
missed demotions and whole type subtrees were left in the artificial
type unit non-deterministically. Add a RecordDepsOnly mode that, on the
short-circuit, re-walks the already-marked subtree and records the
dependencies directly without marking, scheduling, or following
references (so no cycles). This makes the recorded dependency set
complete and order-independent; the demoted-DIE set now matches the
single-threaded result on every run.

rdar://180584698


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/minmax-copyables-split-node.ll

  Log Message:
  -----------
  [SLP]Fix crash in isExpandedBinOp on split-node scalars

A split node's Scalars mix two unrelated operations under one
synthetic main/alt op and never populate CopyableElements, so
querying isExpandedBinOp on one of its scalars can make
getMatchingMainOpOrAltOp return nullptr, causing the crash.

Reviewers: 

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


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx-shuffle-builtins.c

  Log Message:
  -----------
  [CIR] X86 vperm2f128 builtin implementation (#208851)

This PR implements X86 VPerm2f128 intrinsics and its tests.

Addresses #167765


  Commit: 13d822c9351fdfa4287e30e0ace1e88e1901f431
      https://github.com/llvm/llvm-project/commit/13d822c9351fdfa4287e30e0ace1e88e1901f431
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/test/CIR/CodeGen/bitfield-init-values.c

  Log Message:
  -----------
  [CIR] Fix how we lower bitfield constants (#210791)

My patch to change the type of a const missed that there is a difference
between how we were representing a bitfield (always as an int) in the
constant, and in the struct(as a byte array).

This patch makes sure we correctly match the storage type, and just
requires packing/unpacking arrays when we store it.


  Commit: e6cde20367a82aca112db73a3d1c76e77fe580f1
      https://github.com/llvm/llvm-project/commit/e6cde20367a82aca112db73a3d1c76e77fe580f1
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectScripting.cpp

  Log Message:
  -----------
  [lldb/script] Remove verbose comments following c4962f5721a3 (NFC) (#210827)

This removes verbose comments from c4962f5721a3 following a post-merge
comment.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: e8f7d45fa98822b9ea2828d53c8a66b70903db3c
      https://github.com/llvm/llvm-project/commit/e8f7d45fa98822b9ea2828d53c8a66b70903db3c
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/test/CIR/CodeGen/unions-with-zero-init.cpp

  Log Message:
  -----------
  [CIR] Refactor lowerUnion so unions get laid out consistently (#210709)

Perennial and a few other examples I came up with showed some situations
where we were bad at layout in CIR for unions. Sometimes we'd omit the
required fields, or miscalculate the storage type, or just not constant
init it correctly. This is mostly because we copy/pasted our
implementation from classic-codegen, but have different invariants.

This patch consistently adds ALL fields to the cir::UnionType, so we
always represent with all, which is an assumption we make elsewhere.

The lowerUnion function is significantly rewritten as the previous
version had a lot of interdepencies between loop runs. This patch
separates it out in a way that has less cyclic complexity which will
hopefully be more readable with minor/little compile-time impact.

This maintains the non-virtual-base functionality as well, though it
does it by collecting the fields like we do for the normal union case,
then just erases them. This greatly simplifies the calculation of
storageType, so it seems worth it.

Additionally, it fixes the constant layout of a null union, which got
the field count wrong in any non-trivial cases.


  Commit: c2adde4f289b10048864b3357c09bc0f30154a5c
      https://github.com/llvm/llvm-project/commit/c2adde4f289b10048864b3357c09bc0f30154a5c
  Author: Keno Fischer <keno at juliahub.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    A llvm/test/Transforms/LCSSA/token-like-live-out.ll

  Log Message:
  -----------
  [LoopInfo][LCSSA] Handle token-like values (#210816)

Token-like values have many (but not all) of the same restrictions as
regular token values.
They do however inherit the restriction on being placed in PHI and thus
they need to be
treated like regular tokens in LCSSA.

AI Disclosure: Written by GPT 5.6 - flagged during GPT 5.6 review of
#151062 rebase.


  Commit: b74f72c22f9024914b9743c9aa22b2fbc2095f4c
      https://github.com/llvm/llvm-project/commit/b74f72c22f9024914b9743c9aa22b2fbc2095f4c
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-fma-fusion.ll
    A llvm/test/Transforms/SLPVectorizer/NVPTX/ordered-reduction-fma-fusion.ll
    A llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss-ordered.ll

  Log Message:
  -----------
  [NFC][SLP] Precommit tests for ordered fadd-reduction FMA-fusion cost (#210835)

Baseline coverage for an ordered fadd-of-fmul reduction that is
currently vectorized even on FMA-capable targets, breaking the scalar
fmul + fadd -> fma fusion. A follow-up teaches the reduction cost model
to account for the lost fusion and keep these reductions scalar, at
which point these CHECK lines update. Covers X86 avx2, AMDGPU gfx90a and
NVPTX sm_80.

It is a pre-requisite for
https://github.com/llvm/llvm-project/pull/210399

Assisted-By: Claude Opus 4.8


  Commit: e8510cf81c4b56d4e0ce9b2c826dd7c5e725bee0
      https://github.com/llvm/llvm-project/commit/e8510cf81c4b56d4e0ce9b2c826dd7c5e725bee0
  Author: Taimuraz Kaitmazov <atassikay38 at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/TableGen/subreg-index-overflow-allowed.td

  Log Message:
  -----------
  [TableGen] Add sub-register overflow tests for exact-fit and non-covered registers (#210529)

Follow-up to #206346. Adds two cases the overflow check's companion test
missed: an exact-fit tiling that must be accepted, and a register
without `CoveredBySubRegs` that must be left alone. Test only.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Custom legalize v4i16->v4i8 and v2i32->v2i16 truncate. (#210670)

Convert to a bitcast and a shufflevector.

Assisted-by: Claude


  Commit: 270842bb62573a99434e533fcacc4359e18e457d
      https://github.com/llvm/llvm-project/commit/270842bb62573a99434e533fcacc4359e18e457d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/ProfileData/SampleProfReader.cpp

  Log Message:
  -----------
  [ProfileData] Refactor SampleProfileNameTable into a polymorphic class hierarchy (NFC) (#210252)

This patch refactors SampleProfileNameTable into an abstract base
class with concrete derived classes like LazySampleProfileNameTable
and EagerSampleProfileNameTable.

The motivation is twofold:

- I want each derived class to focus on one data representation
  instead of using complex if-then-else.  Plus, I'm planning to
  introduce one more data representation [1].

- I want each class to be populated and ready for use as soon as it is
  constructed.  That is, there is no intermediate state like
  "constructed but waiting to be populated".

Now, you might notice that the iterator uses virtual operator[].  I
would argue that this is acceptable.  We have three places where we
iterate over the entire range of the name table entries.  Two of
these, namely SampleProfileNameSet and NamesInProfile, construct their
own sets for membership queries -- "Is this symbol in the name
table?".  I'm planning to bring those sets right into our class
hierarchy in a follow-up patch.

[1]:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/8

Assisted-by: Antigravity


  Commit: 27ede4b415797b5df26d2e1f28d30b3e9c14f340
      https://github.com/llvm/llvm-project/commit/27ede4b415797b5df26d2e1f28d30b3e9c14f340
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll

  Log Message:
  -----------
  [AMDGPU] Clean up check prefixes and regenerate checklines for some tests that were out of date (#209889)


  Commit: bbbc24bc594959c4b268165c6d1a11d21cb02f52
      https://github.com/llvm/llvm-project/commit/bbbc24bc594959c4b268165c6d1a11d21cb02f52
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma-fake16.mir
    M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-ilp-metric-spills.mir
    A llvm/test/CodeGen/AMDGPU/shrink-fake16.mir
    M llvm/test/CodeGen/AMDGPU/shrink-true16.mir
    A llvm/test/CodeGen/AMDGPU/v_swap_b16.mir
    A llvm/test/CodeGen/AMDGPU/waitcnt-vinterp-fake16.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-vinterp.mir

  Log Message:
  -----------
  [AMDGPU] Refactor some existing test files with true16/fake16 split, add some new test cases (#209890)


  Commit: 7a470a90ffef437f86573faf5bee2f6ee8cfcebc
      https://github.com/llvm/llvm-project/commit/7a470a90ffef437f86573faf5bee2f6ee8cfcebc
  Author: Matsu <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-unstructured.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/identical-block-merge-disable.f90
    M flang/test/Lower/pointer-assignments.f90
    M flang/test/Lower/statement-function.f90
    M flang/test/Lower/variable-inquiries.f90

  Log Message:
  -----------
  [flang][NFC] Remove downstream issue references (#210858)


  Commit: c9237cb62bedb5c55c6c8939cebdf8d51e567ac4
      https://github.com/llvm/llvm-project/commit/c9237cb62bedb5c55c6c8939cebdf8d51e567ac4
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Fix new metadirective-loop-nest.f90 test expectation with collapse changes in #208528" (#210860)

Reverts llvm/llvm-project#210753
Revert with #208528 pending llvm-test-suite fix.


  Commit: 404d4daa70a158ee1b8443dfca5576e0ca375bb6
      https://github.com/llvm/llvm-project/commit/404d4daa70a158ee1b8443dfca5576e0ca375bb6
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-07-20 (Mon, 20 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-labeled-do-host-eval.f90
    R flang/test/Lower/OpenMP/collapse-loop-transform.f90
    R flang/test/Lower/OpenMP/collapse-target-intervening-todo.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
    M flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
    R flang/test/Semantics/OpenMP/ordered-nesting-omp51.f90

  Log Message:
  -----------
  Revert "Redo [flang][OpenMP] Implement collapse for imperfectly nested loops" (#210861)

Reverts llvm/llvm-project#208528
Revert with #210753  pending llvm-test-suite fix.


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

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/test/Analysis/CycleInfo/basic.ll
    M llvm/test/CodeGen/X86/cycle-info.mir

  Log Message:
  -----------
  [CycleInfo] Identify cycles with a single-pass DFS algorithm (#210491)

Replace the Havlak-Tarjan construction in GenericCycleInfoCompute, a DFS
followed by a reverse-preorder scan, with the single-pass algorithm of
Wei, Mao, Zou and Chen, "A New Algorithm for Identifying Loops in
Decompilation" (SAS 2007). One depth-first traversal tags every block
with its innermost loop header on the fly; tagLoopHeader weaves the
per-block header chains, replacing UNION-FIND.

The flat forest is reconstructed from the tags, dropping the temporary
cycle objects and the per-block worklist passes. An edge re-entering an
already-closed cycle records non-header entries, so entries need no
predecessor scan.

The cycle sets, headers, reducibility and nesting are identical for the
given DFS order, cross-checked against the old construction on random
reducible and irreducible CFGs. Two implementation-defined orders change
(with minor test churn): sibling cycles are laid out in decreasing
header preorder, and non-header entries in block preorder.

Construction cost (51x require+invalidate of <cycles> minus a 1x run,
median of interleaved rounds, x86-64): sqlite3.bc executes 27% fewer
instructions and 37% fewer cycles; a 1500-deep loop nest executes 50%
fewer instructions and 47% fewer cycles.

Aided by Claude Fable 5


  Commit: d6790a7fa57ca5017d5e3ceff83d590b57bfa22c
      https://github.com/llvm/llvm-project/commit/d6790a7fa57ca5017d5e3ceff83d590b57bfa22c
  Author: Alan Li <me at alanli.org>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-ctlz-cttz-zero-poison.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-ctlz-cttz-zero-poison.ll
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp

  Log Message:
  -----------
  [GlobalISel] Add `isKnownNeverZero` to `GISelValueTracking` (#198438)

## Summary of changes

* This patch adds `GISelValueTracking::isKnownNeverZero`, modeled after
the SelectionDAG query, and uses it in the GlobalISel count-zero
combiner.

* The root combines enabled by this patch are:
  * `G_CTLZ x -> G_CTLZ_ZERO_POISON x`
  * `G_CTTZ x -> G_CTTZ_ZERO_POISON x`
* The combine only fires when the source is known nonzero and the
zero-poison opcode is legal, or when the combiner is running before
legalization.
* For the initial proof set, this patch handles `G_OR`, `G_SELECT`, and
`G_SHL`. These are not new root combines; they are source-expression
cases used by `isKnownNeverZero` to prove that the input to `G_CTLZ` /
`G_CTTZ` is nonzero. Other structural cases can be added in follow-up
patches. For other opcodes, the query falls back to existing KnownBits
support.
* Tests cover the `isKnownNeverZero` query, the AArch64 MIR combine
cases, and the AMDGPU end-to-end lowering behavior.

## Example

Pattern `ctlz(or(x, 1))` on AMDGPU:

Before:
```
    v_or_b32_e32   v0, 1, v0
    v_ffbh_u32_e32 v0, v0
    v_min_u32_e32  v0, 32, v0   ; bitwidth clamp
    s_setpc_b64    s[30:31]
```

After:
```
    v_or_b32_e32   v0, 1, v0
    v_ffbh_u32_e32 v0, v0
    s_setpc_b64    s[30:31]
```


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

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/Contributing.rst

  Log Message:
  -----------
  [clang-tidy][docs] Remove obsolete doc8 instructions. NFC. (#210576)

Remove the doc8 setup and invocation instructions from the contributing
guide as clang-tidy documentation transitions to Markdown.

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


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

  Changed paths:
    M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py

  Log Message:
  -----------
  [lldb][RISCV] Fix x8 register aliasing for gdb-remote targets (#209070)

GDB remote target descriptions can expose the RISC-V `x8` register as
`fp`. LLDB previously used `fp` as the primary name and `s0` as the
alternate name, leaving no register name for `x8`.

This commit changes `s0` as the primary name, `x8` as the alternate
name, and mark the register as the generic frame pointer. Allowing `fp`,
`s0`, and `x8` to resolve to the same register.

Fixes #127900


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    A flang/test/Fir/CUDA/cuda-device-global-cycle.fir

  Log Message:
  -----------
  [flang][cuda] Avoid infinite loop while processing globals (#210805)


  Commit: 35020b22871af5438f6563721d06620bc5819ca5
      https://github.com/llvm/llvm-project/commit/35020b22871af5438f6563721d06620bc5819ca5
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/unittests/Support/ProgramTest.cpp

  Log Message:
  -----------
  [Support][Unit] Fix ProgramTest.cpp build warning unused variable 'RetCode' (#210699)

RetCode is unused if __MINGW32__ is defined.


  Commit: 890b11e09e45e9d8b29f2f94f22052be3934e757
      https://github.com/llvm/llvm-project/commit/890b11e09e45e9d8b29f2f94f22052be3934e757
  Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/X86.h

  Log Message:
  -----------
  [clang] Use 0 for wasm_funcref in non-Wasm address space maps (NFCI) (#210253)

The __funcref keyword is only supported by the WebAssembly target, so
the wasm_funcref entries in other targets' address space maps are
unused.

Use 0 for these entries, which is consistent with other unsupported
address spaces.


  Commit: 5809c754e7316acf95cec5170e96041af9432869
      https://github.com/llvm/llvm-project/commit/5809c754e7316acf95cec5170e96041af9432869
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/test/Lower/OpenMP/depend-iterator.f90
    M flang/test/Lower/OpenMP/task-affinity.f90

  Log Message:
  -----------
  [flang][OpenMP] Lower iterator indices with genExprValue instead of the legacy expression lowering (#210385)

`getIteratorElementIndices()` lowered the depend/affinity iterator
subscript expressions with `createSomeExtendedExpression` (the legacy,
non-HLFIR expression lowering). Switch it to
`AbstractConverter::genExprValue`, matching the idiom already used
elsewhere in OpenMP/Utils.cpp, so this code no longer depends on the
legacy expression lowering.

The iterator LIT tests are updated to reflect the induction values now
being materialized in memory (store + hlfir.declare + load) and the
subscript arithmetic lowering through HLFIR (hlfir.no_reassoc instead of
fir.no_reassoc).

Assisted-by: AI


  Commit: e6103d785f415bfd8bc6e0b76c791ada38bf0654
      https://github.com/llvm/llvm-project/commit/e6103d785f415bfd8bc6e0b76c791ada38bf0654
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll

  Log Message:
  -----------
  [AMDGPU] Relax SGPR splat selection for PK_*64 (#210790)

These instructions replicate SGPR operands into high 64-bit channel
w/o opsel.


  Commit: 80b6554d227acc6cabc6691affbe8dcd94f20801
      https://github.com/llvm/llvm-project/commit/80b6554d227acc6cabc6691affbe8dcd94f20801
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M flang/include/flang/Lower/ConvertConstant.h
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/common-block-derived-initialization.f90
    M flang/test/Lower/global-initialization-parens.f90

  Log Message:
  -----------
  [flang] Lower initial values via ConvertConstant instead of the legacy expression lowering (#210621)

Global and component initial values were lowered with
`createSomeInitializerExpression` (the legacy, non-HLFIR expression
lowering). Route them through ConvertConstant instead, which is
self-contained and safe inside a fir.global initializer region: it never
consults the symbol map, allocates temporaries, or outlines constants
into memory.

Observable IR change: fir.no_reassoc no longer appears in fir.global
initializer regions for parenthesized scalar/derived constants. Update
global-initialization-parens.f90 -- previously a pre-commit baseline
pinning the old fir.no_reassoc behavior -- to assert the new folded
form, and add common-block-derived-initialization.f90 (a
DATA-initialized common block with a derived-type member).

Assisted-by: AI


  Commit: a1a5664cb1def61bfc5234ed2b1ebe4a339d387a
      https://github.com/llvm/llvm-project/commit/a1a5664cb1def61bfc5234ed2b1ebe4a339d387a
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/ARM/call-graph-section-assembly.ll
    M llvm/test/CodeGen/ARM/call-graph-section.ll
    M llvm/test/CodeGen/X86/call-graph-section-assembly.ll
    M llvm/test/CodeGen/X86/call-graph-section.ll

  Log Message:
  -----------
  [NFC][llvm] Fix typo in tests (#210841)


  Commit: ee98df545384f95feb72d39f88004075bd5329fc
      https://github.com/llvm/llvm-project/commit/ee98df545384f95feb72d39f88004075bd5329fc
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir

  Log Message:
  -----------
  [AMDGPU] Fix simplification of VM_VSRC based on VMEM waits (#178711)

Teach simplifyVmVsrc that a wait for a VMEM counter (LOAD_CNT, DS_CNT
etc) only implies a corresponding wait for VM_VSRC if there are no
outstanding VMEM operations that use a different VMEM counter.


  Commit: 4bd1a447e136e60ea441370ac5d7b898aa4efab0
      https://github.com/llvm/llvm-project/commit/4bd1a447e136e60ea441370ac5d7b898aa4efab0
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc] Make hermetic test syscall deps linux-only (#210715)

They are only used on linux, so this matches that.

They are also only used in full build mode, but hermetic tests only work
in full build mode, so we don't need to check that here. The darwin
check is a noop as (AAIU) we don't support full_build on darwin, but
I've kept it for symmetry.


  Commit: 375231d8ea9b4f5a3a71f4afb3d76ba6e1dcefc5
      https://github.com/llvm/llvm-project/commit/375231d8ea9b4f5a3a71f4afb3d76ba6e1dcefc5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_group_req.h
    A libc/hdr/types/struct_group_source_req.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_group_req.h
    A libc/include/llvm-libc-types/struct_group_source_req.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 group_req, struct group_source_req, and related socket options (#210029)

Add definitions for struct group_req and struct group_source_req in
llvm-libc-types and wire them into <netinet/in.h>.

Also define the multicast socket options using these structs:
- MCAST_JOIN_GROUP
- MCAST_LEAVE_GROUP
- MCAST_BLOCK_SOURCE
- MCAST_UNBLOCK_SOURCE
- MCAST_JOIN_SOURCE_GROUP
- MCAST_LEAVE_SOURCE_GROUP

Add layout assertions for struct group_req and struct group_source_req
to the netinet/in.h unit test.

Assisted by Gemini.


  Commit: ea52aa03750fd51857f47b6a901edc0b283a7aec
      https://github.com/llvm/llvm-project/commit/ea52aa03750fd51857f47b6a901edc0b283a7aec
  Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h

  Log Message:
  -----------
  [clang] Use key-value initialization for LangASMap (NFCI) (#210259)

The original implementation requires each target to list a value for
every LangAS in exact enum order. This forces targets to specify
mappings for unrelated address spaces and makes it easy to introduce
ordering bugs, such as the one fixed in
4479f3397f827291c51698fbaa685b1a9493467a.

Address this by introducing a class that supports order-independent
key-value initialization and defaults unspecified entries to 0.


  Commit: 0b16957f41f96f14aa014f119e4180538bcb4f80
      https://github.com/llvm/llvm-project/commit/0b16957f41f96f14aa014f119e4180538bcb4f80
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/zicond-opts.ll

  Log Message:
  -----------
  [RISCV] Don't transfer (select c, t, f) to Zicond when optimizing for size (#163501)

The Zicond form of (select c, t, f), (or (czero_eqz t, c),
(czero_nez f, c)), has no compressed encodings and is always 12 bytes.
The branch form (branch + mv) is at most 8 bytes, and with the C
extension
4 bytes when the branch compresses (c.mv always does) or 6 bytes when it
does not; it shrinks further when a condition is shared across selects.
Since it is never larger by byte count, skip the Zicond transform under
optsize via !DAG.shouldOptForSize().

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


  Commit: 921f4da4a05f93391937ccc337aa448b3d8de539
      https://github.com/llvm/llvm-project/commit/921f4da4a05f93391937ccc337aa448b3d8de539
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h

  Log Message:
  -----------
  [SLP][Modularisation][NFC] Extract free cost helpers into SLPCostAnalysis (#210278)

Move the BoUpSLP-independent cost helpers out of SLPVectorizer.cpp into
SLPVectorizer/SLPCostAnalysis.{h,cpp} (namespace llvm::slpvectorizer).

Moved:
  * getShuffleCost
  * getGEPCosts

RFC: https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922


  Commit: 8f48e1980f9da4e4d859c1c2713561195d043454
      https://github.com/llvm/llvm-project/commit/8f48e1980f9da4e4d859c1c2713561195d043454
  Author: qyingwu <46992476+qyingwu at users.noreply.github.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir][LLVMIR] Add export coverage for retained local variables (#209911)

Adds export coverage for a retained local variable case where MLIR may
contain separate `DILocalVariableAttr`s for the same source-level
variable.

A local variable can appear both in a `DISubprogram`'s `retainedNodes`
and in a debug intrinsic such as `dbg.value` or `dbg.declare`. During
import, the `retainedNodes` path may see the variable while the
containing subprogram is represented by a self-recursive placeholder,
while the debug intrinsic path later sees the finalized subprogram. This
can produce two MLIR local variable attrs with different subprogram
scopes.

The exported LLVM IR debug metadata is still canonical for this case:
both the debug intrinsic and the subprogram `retainedNodes` reference
the same `DILocalVariable` metadata node. This patch adds regression
coverage for that export behavior without extending the recursive
debug-info machinery.


  Commit: 9aebd4b405d7299337d4561de8d35c579ab5d88b
      https://github.com/llvm/llvm-project/commit/9aebd4b405d7299337d4561de8d35c579ab5d88b
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    A llvm/test/CodeGen/RISCV/rvv/vl-opt-licm.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll

  Log Message:
  -----------
  [RISCV] Run EarlyMachineLICM before VLOptimizer to hoist constant splats (#210028)

RISCVVLOptimizer runs before the machine SSA optimization passes. This
includes EarlyMachineLICM, which causes previously loop invariant
vmv.v.i/vmv.v.x/vfmv.v.f splats to use a loop variant VL defined by a
PseudoVSETVLI. This prevents splats from being hoisted out:
https://godbolt.org/z/Wf49roo7s

This fixes it by adding another pass of EarlyMachineLICM before
RISCVVLOptimizer.

As measured on llvm-test-suite w/ `-march=rva23u64 -O3` this increases
the number of vector splat instructions hoisted by MachineLICM by 4.4x,
from 2140 to 9327.

Compile time wise, the number of instructions executed increases geomean
+0.2% on CTMark for -O3. -O0 builds are unaffected.

Two other approaches were considered:

- Use MachineLoopInfo in RISCVVLOptimizer to avoid changing the VL of
any loop invariant pseudos. But that results in more vsetvli toggles,
and still involves running the same analysis that EarlyMachineLICM
depends on anyway
- Hoist loop invariant pseudos ourselves in RISCVVLOptimizer. But in
order to catch all cases that EarlyMachineLICM handles, we need to split
critical edges and modify the CFG (which would invalidate the CFG
analyses), and also hoist scalar non-pseudo instructions. In some cases
it also led to more spilling due to increased register pressure, which
EarlyMachineLICM has heuristics for avoiding.


  Commit: e747c8b850d20add682ea25d0f8709129f158c09
      https://github.com/llvm/llvm-project/commit/e747c8b850d20add682ea25d0f8709129f158c09
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2026-07-20 (Mon, 20 Jul 2026)

  Changed paths:
    M clang/include/module.modulemap

  Log Message:
  -----------
  [clang] Remove stale TransformTypeTraits.def entry from module map (#210878)

Commit 2a33792a2ec1 ("[clang][NFC] move traits to tablegen", #201491)
deleted clang/include/clang/Basic/TransformTypeTraits.def in favor of a
tablegen-generated clang/Basic/Traits.inc. The stale module map entry
broke module builds. Renaming it to "clang/Basic/Traits.inc" doesn't
seem to work, ('clang/Basic/Traits.inc' not found) but the build
succeeds with the entry dropped entirely.

Assisted-by: Claude Sonnet 5

rdar://182772346


  Commit: 4c8e5c3e8b462ebd664ac1ccd621005d9b365644
      https://github.com/llvm/llvm-project/commit/4c8e5c3e8b462ebd664ac1ccd621005d9b365644
  Author: Mayank <mayank.solanki at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h

  Log Message:
  -----------
  [TTI] Fix haveFastClmul to access inherited DL via thisT() (#210647)

haveFastClmul() called DL.getIndexType()/DL.getAllocaAddrSpace()
directly, relying on the `using TargetTransformInfoImplBase::DL;`
declaration in BasicTTIImplBase to bring the inherited DataLayout
reference into scope. Because DL is reached through a two-level
dependent base chain (BasicTTIImplBase<T> ->
TargetTransformInfoImplCRTPBase<T>-> TargetTransformInfoImplBase), some
compilers (observed with GCC 8.5.0) mis-resolve the member access and
reject the code with a misleading diagnostic naming
TargetTransformInfoImplBase rather than DataLayout.

Access DL via thisT()->DL instead, matching the pattern already used
elsewhere in this file (e.g. getABITypeAlign() call sites), which forces
lookup to be deferred to instantiation time and avoids the
compiler-version-dependent behavior.


  Commit: 9a49fc244be7400e550b2c014e6d370b586dc854
      https://github.com/llvm/llvm-project/commit/9a49fc244be7400e550b2c014e6d370b586dc854
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    M llvm/include/llvm/Support/GenericLoopInfo.h
    M llvm/include/llvm/Support/GenericLoopInfoImpl.h
    M llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopDeletion.cpp
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M polly/lib/Analysis/ScopDetection.cpp

  Log Message:
  -----------
  [LoopInfo] Replace raw loop-container accessors with semantic operations (#210653)

getBlocksVector, mutable getBlocksSet, getSubLoopsVector, and
getTopLevelLoopsVector expose LoopInfo's internal containers, so every
caller open-codes loop-nest surgery, keeps the block vector and set in
sync by hand, and freezes the representation. Replace them with two
LoopInfoBase operations:

* removeBlocksIf(LoopT &, Pred): drop matching blocks from a loop.
* takeChildrenIf(LoopT *Parent, Pred): detach and return matching
  children, clearing their parent; a null Parent means the top level.

Both preserve the relative order of what remains. Mutation inside
LoopInfoBase also lets the analysis repair derived state once per edit
and finish a multi-step edit before any query observes it, which an
accessor returning a container cannot.

For the same reason, move hasNoExitBlocks, getExitEdges, and
getUniqueLatchExitBlock onto LoopInfoBase.

Two behavior changes: SimpleLoopUnswitch's deleteDeadBlocksFromLoop runs
its per-child deletion callbacks while the forest is still consistent,
before detaching and destroying dead children; FixIrreducible's
reconnectChildLoops keeps children in their original order rather than
std::partition's.

Aided by Claude Fable 5


  Commit: 13822d0b1808b759dd4f4d237ea347729f93b3ed
      https://github.com/llvm/llvm-project/commit/13822d0b1808b759dd4f4d237ea347729f93b3ed
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/docs/LangRef.md

  Log Message:
  -----------
  [RFC][LangRef] Specify that the accessed bytes of concurrent atomics must be either disjoint or the same (#204329)

So far, the LangRef hasn't been clear on the semantics of partially overlapping
concurrent atomics in LLVM IR (specifically: a set of accesses marked as
`atomic` that would be in a data race if they weren't `atomic` and not all of
them access the exact same set of bytes).

What loads read is defined in terms of individual bytes, but the memory
ordering constraints are formulated closely to the C/C++ (and Java for
`unordered`) memory model, where partially overlapping atomics are not
possible. It's not obvious how concepts like C/C++'s per-location total
modification order for `monotonic` accesses map to accesses that can partially
overlap. While C/C++ relies on the modification order to ensure that atomics
cannot tear (i.e., atomic reads return bytes from two or more atomic writes),
our IR semantics (as written) currently does not guarantee this in the presence
of partially overlapping accesses.

This PR proposes a solution to this problem: It specifies that concurrent
overlapping atomics must access the exact same set of bytes to act atomically.
If they don't, they form a data race (i.e., participating loads read `undef`
for affected bytes) and the atomic ordering constaints do not apply. This empowers the rest of the specification to imply that
`monotonic` (or stronger) accesses do not tear. The PR also adds a constraint
to ensure non-tearing for `unordered` atomic accesses.

This solution implies that transformations that merge adjacent atomic
loads/stores into wider atomic loads/stores are generally incorrect.

Related RFC: https://discourse.llvm.org/t/rfc-semantics-of-partially-overlapping-atomic-accesses/91092


  Commit: 9b5c0571afd6b2c1918db5585a05b9756ea19c28
      https://github.com/llvm/llvm-project/commit/9b5c0571afd6b2c1918db5585a05b9756ea19c28
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/test/CodeGenCXX/pragma-followup_inner.cpp
    M clang/test/CodeGenCXX/pragma-followup_outer.cpp
    M clang/test/CodeGenCXX/pragma-loop-distribute.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M llvm/docs/LangRef.md
    M llvm/include/llvm/IR/AutoUpgrade.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
    A llvm/test/Bitcode/upgrade-loop-distribute-enable.ll
    A llvm/test/Bitcode/upgrade-loop-distribute-enable.ll.bc
    M llvm/test/Other/optimization-remarks-lazy-bfi.ll
    M llvm/test/Transforms/IRCE/add-metadata-pre-post-loops.ll
    M llvm/test/Transforms/IRCE/correct-loop-info.ll
    M llvm/test/Transforms/IRCE/loop-guarded-bounds.ll
    M llvm/test/Transforms/IRCE/pre_post_loops.ll
    M llvm/test/Transforms/IRCE/range_intersect_miscompile.ll
    M llvm/test/Transforms/IRCE/unsigned_comparisons_ugt.ll
    M llvm/test/Transforms/IRCE/unsigned_comparisons_ult.ll
    M llvm/test/Transforms/Inline/dilocation-loop-metadata-update.ll
    M llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
    M llvm/test/Transforms/LoopDistribute/diagnostics-with-hotness.ll
    M llvm/test/Transforms/LoopDistribute/diagnostics.ll
    M llvm/test/Transforms/LoopDistribute/disable_nonforced_enable.ll
    M llvm/test/Transforms/LoopDistribute/early-exit.ll
    M llvm/test/Transforms/LoopDistribute/followup.ll
    M llvm/test/Transforms/LoopDistribute/metadata.ll
    M llvm/test/Transforms/LoopSimplify/preserve-llvm-loop-metadata.ll
    M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll
    A llvm/test/Verifier/llvm.loop.distribute.ll
    M llvm/unittests/Analysis/LoopInfoTest.cpp
    M mlir/lib/Target/LLVMIR/LoopAnnotationImporter.cpp
    M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/loop-metadata.mlir

  Log Message:
  -----------
  Enforce single-operand form for llvm.loop.distribute metadata (#201077)

This patch implements Phase 1 of the
[RFC](https://discourse.llvm.org/t/rfc-enforce-single-operand-format-for-all-enable-metadata-nodes/90571)
"Enforce Single-Operand Format for All .enable Metadata Nodes". The
two-operand boolean form !{!"llvm.loop.distribute.enable", i1 0/1} is
replaced by a single-operand enable/disable pair:

  !{!"llvm.loop.distribute.enable"}    ; force distribution
  !{!"llvm.loop.distribute.disable"}   ; suppress distribution


  Commit: e3dfa82a46b6df7cdc92657b27e75470b74459cb
      https://github.com/llvm/llvm-project/commit/e3dfa82a46b6df7cdc92657b27e75470b74459cb
  Author: David Green <david.green at arm.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/abs.ll

  Log Message:
  -----------
  [AArch64] Update abs cost with scalar costs and CSSC. NFC (#210900)


  Commit: b7f642fdb262e2ed3c2209b9a10017084e1595ad
      https://github.com/llvm/llvm-project/commit/b7f642fdb262e2ed3c2209b9a10017084e1595ad
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/HermeticTestUtils.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [ilbc] Revert recent changes to the hermetic tests (#210889)

PR #209999 (9e2e9b33e14808541c0470b92ade34bee6608bf6) "broke" the GPU
build by causing many/most tests to not run.

The follow-up in #210715 (4bd1a447e136e60ea441370ac5d7b898aa4efab0)
broke it for real
(https://lab.llvm.org/buildbot/#/builders/10/builds/32254) by causing
too many tests to run.

I think we just need to disable the extra tests, but I want to start out
by reverting both patches so that it's easier to compare the
before/after state in the next attempt.


  Commit: d80b9a5e358de107da3a58730c89e512daffd9a7
      https://github.com/llvm/llvm-project/commit/d80b9a5e358de107da3a58730c89e512daffd9a7
  Author: Iurii Khosoi <aadaa_fgtaa at pm.me>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/X86/bitcnt-false-deps.mir
    R llvm/test/CodeGen/X86/bls-false-dep.ll
    A llvm/test/CodeGen/X86/bls-false-deps.mir
    R llvm/test/CodeGen/X86/compress-false-deps.ll
    A llvm/test/CodeGen/X86/compress-false-deps.mir
    R llvm/test/CodeGen/X86/expand-false-deps.ll
    A llvm/test/CodeGen/X86/expand-false-deps.mir

  Log Message:
  -----------
  [X86] MIR-level tests for bitcnt/bls/compress/expand false dependencies (#209879)

Followup to #207079. This replaces IR-level tests introduced in
c311e7b3d that were using inline assembler hack with MIR-level tests, as
suggested by @ganeshgit. Older test for bit counting instruction with
more complex functions is kept alongside a new one that tests affected
instructions in isolation.


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

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp

  Log Message:
  -----------
  [lldb][AArch64][Linux] Use memcpy when serialising data (#210710)

In few places we are reinterpreting raw bytes as typed data. This works
but is undefined behaviour if the address being used isn't at the same
alignment as the target type.

It likely has always been because we've got 4 and 8 byte types and 4 or
8 byte registers. However I prefer to use memcpy anyway to be safe.

m_sve_state is a single byte but for consistency I'm using memcpy for it
also.


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

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    A lldb/test/API/functionalities/gdb_remote_client/TestQSymbol.py
    A lldb/test/API/functionalities/gdb_remote_client/test_qsymbol.yaml

  Log Message:
  -----------
  [lldb][test] Add test for qSymbol handling when using an ELF (#200411)

qSymbol is sent to the debug server every time libraries are loaded. It
can respond to this with symbols it wants to know the value for. It's
rarely used so I expect that's why we had zero test coverage for it.

In this commit I'm adding a test case, derived from the bug being
reported in #200134. The mock debug server has a list of symbols to ask
for and records the results. After LLDB has connected we check with the
mock that it got all the answers it wanted. Right now, 2 of the symbols
don't have values, but should according to the author of the bug report.
One symbol is intentionally missing to check that LLDB handles that
situation properly, even when the others have been fixed.

While I was doing this I realised the documentaiton for an unknown
symbol response was wrong. You can cross check this with GDB's:
https://sourceware.org/gdb/current/onlinedocs/gdb.html/General-Query-Packets.html#General-Query-Packets

In theory we should test the MachO behaviour too. However I was not able
to create a MachO example that did not end up using a host AArch64 Linux
binary that it found via. PID, while also getting far enough to send
qSymbol. Every workaround broke one of those 2 things. ELF testing is
better than the nothing we currently have.

Assisted by: ChatGPT 5.5


  Commit: 62e843ac959f2ad617f18bea20141d6c33913572
      https://github.com/llvm/llvm-project/commit/62e843ac959f2ad617f18bea20141d6c33913572
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.illegal-data-type.err.ll

  Log Message:
  -----------
  [AMDGPU] Reject illegal image atomic data widths in SelectionDAG (#210366)


  Commit: d13b8625eef0941f48b5af74e9fab953b6430eb2
      https://github.com/llvm/llvm-project/commit/d13b8625eef0941f48b5af74e9fab953b6430eb2
  Author: Yanzuo Liu <zwuis at outlook.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseStmt.cpp
    A clang/test/Parser/cxx2c-expansion-statements-non-compound-stmt-body.cpp

  Log Message:
  -----------
  [clang][Parser] Warn when the body of expansion statement is not a compound statement (#209229)

<https://eel.is/c++draft/stmt.expand#nt:expansion-statement>:

_expansion-statement_:  
template for ( _init-statement<sub>opt</sub>_ _for-range-declaration_ :
_expansion-initializer_ ) _compound-statement_


  Commit: 285a3cb74ef4cdc080cb264d44d1e3c9aa3a33be
      https://github.com/llvm/llvm-project/commit/285a3cb74ef4cdc080cb264d44d1e3c9aa3a33be
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h

  Log Message:
  -----------
  [CycleInfo] Store entries in the block layout. NFC (#210866)

A reducible loop has a single entry (header), which flatten() places at
BlockLayout[IdxBegin], as its minimum-preorder block. A reducible loop
then needs no storage at all.

For the uncommon irreducible loop case, we append its full entry list
(header first) after the Euler tour, referenced by [EntryBegin,
EntryBegin+EntrySize), making `GenericCycleInfo::Cycle` (named only
because "loop" is occupied by LoopInfo) trivially destructible.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rv32p.ll

  Log Message:
  -----------
  [RISCV][P-Ext] Add RISCVISD::WADD/WSUB. (#210862)


  Commit: c096c8ddf1fee7777f9724c05f04fa3f5d2033d3
      https://github.com/llvm/llvm-project/commit/c096c8ddf1fee7777f9724c05f04fa3f5d2033d3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp

  Log Message:
  -----------
  PPC: Remove manual run of machine verifier (#208032)

This is redundant with using the standard -verify-machineinstrs.
It's also confusing / worse, since the error is not produced to
stderr.


  Commit: 9e2664e70c55bfd68b6c982a0087eadc5edc37f9
      https://github.com/llvm/llvm-project/commit/9e2664e70c55bfd68b6c982a0087eadc5edc37f9
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  [GVN] Rename some functions to follow LLVM naming conventions (NFC) (#210332)


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

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

  Log Message:
  -----------
  [VPlan] Drop redundant ArrayRef constructions (NFC) (#210680)


  Commit: feabbb0f4611a9c26d6ae694232bfca7964e6233
      https://github.com/llvm/llvm-project/commit/feabbb0f4611a9c26d6ae694232bfca7964e6233
  Author: Benedek Kaibas <82393336+benedekaibas at users.noreply.github.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
    M clang/test/Analysis/lifetime-bound.cpp

  Log Message:
  -----------
  [analyzer] Fix false positive when a lifetimebound method is called during destruction (#210801)

When a `lifetimebound` method is called during destruction the checker
emits warnings which leads to false positives. To avoid this a dangling
stack source is not reported if any frame on the current stack belongs
to a destructor.


  Commit: 46fb353e5d48097b0056ec3eddf77d6ce41bf226
      https://github.com/llvm/llvm-project/commit/46fb353e5d48097b0056ec3eddf77d6ce41bf226
  Author: Simi Pallipurath <simi.pallipurath at arm.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py

  Log Message:
  -----------
  [compiler-rt][test] Skip page-size feature detection under emulators. (#210683)

This avoids adding a page-size-* lit feature when compiler-rt tests are
configured to run through an emulator.

Perviously this used to work because failure to detect the page size
would fall back to 4096. Now after this change
https://github.com/llvm/llvm-project/pull/209175, the code tries to
execute config.python_executable through the emulator. For
emulator-based test configurations, this is inappropriate. The function
now returns None when an emulator is configured, and the lit feature is
only added when a concrete page size is available.


  Commit: dce3dc80492263e263535627b80ce948db4b2fcc
      https://github.com/llvm/llvm-project/commit/dce3dc80492263e263535627b80ce948db4b2fcc
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/Sema/SemaConcept.cpp

  Log Message:
  -----------
  [Clang] Add NormalizedConstraint::dump() (#210498)

This facilitates debugging with concepts, particularly when we need to
check complex parameter mappings.

Since this is mainly for debugging purpose, we don't promise any text
stability and hence no tests provided.


  Commit: bcde1af59d0a3c9c6f596c9144b89e61f30ce40f
      https://github.com/llvm/llvm-project/commit/bcde1af59d0a3c9c6f596c9144b89e61f30ce40f
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M offload/plugins-nextgen/level_zero/src/L0Queue.cpp

  Log Message:
  -----------
  [OFFLOAD][L0] Fix PatternSize assert in L0QueueTy::memoryFill (#210867)

The message was the opposite of the assert condition.

In addition, when PatternSize == Size the caller wants to fill the
region with exactly one copy of the pattern, which is a valid operation.

The issue was found by AI.

Also check `Size % PatternSize == 0` per L0 spec.


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

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

  Log Message:
  -----------
  [VPlan] Use equal_to in isUsedByLoadStoreAddr (NFC) (#210911)


  Commit: fd9e690cdbeb02832cc36d455bffda9e7e813785
      https://github.com/llvm/llvm-project/commit/fd9e690cdbeb02832cc36d455bffda9e7e813785
  Author: Jolyon <yangjian.c at bytedance.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp

  Log Message:
  -----------
  [RegisterCoalescer] Avoid retrying high-cost joins for live intervals (#207976)

Recently we found a compile time problem in the case that contains much
high-cost live
interval. And normal interference failures still set `Again=true` and
can be retried
(it cost N^2 complexity). We tracks when a join failed only because of
the high-cost
guard, so that avoids putting such copies back into the retry worklist.

This reduce our huge function case from 14.6h to 12.8min in register
coalescer pass.


  Commit: e2c012fa55eb16d74f890209dfdd97b0dfd96b15
      https://github.com/llvm/llvm-project/commit/e2c012fa55eb16d74f890209dfdd97b0dfd96b15
  Author: Akash Agrawal <akashag at qti.qualcomm.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct.default/p3.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash on lambda parameter pack with illegal default argument (#210718)

`Sema::ActOnParamDefaultArgument` checked a default-argument expression
for unexpanded parameter packs before checking whether the parameter
itself is a pack. For a lambda parameter pack given a default argument
that is a pack expansion referencing an enclosing function's parameter
pack (e.g. `[](Types... = args...) {}`), the first check runs while
still inside the lambda's scope and sets
`LambdaScopeInfo::ContainsUnexpandedParameterPack` (a mechanism meant
for legitimate outer-pack references). The subsequent
`isParameterPack()` check then correctly diagnoses the real error and
discards the default argument, but the stale flag survives into the
built `LambdaExpr`'s dependence bits. A later unexpanded-pack check on
that `LambdaExpr` finds nothing to report and hits
`assert(!Unexpanded.empty() || LambdaReferencingOuterPacks)`, aborting
instead of just diagnosing the error.

Fix: check `Param->isParameterPack()` first and return immediately after
discarding the default argument, before ever calling
`DiagnoseUnexpandedParameterPack` on an expression that is about to be
thrown away. [dcl.fct.default]p3 forbids a default argument on a pack
parameter unconditionally, so this ordering is also semantically
correct, not just a crash workaround.

Fixes #210714


  Commit: d8d1d444a2a69293292f10f19691da05207630f7
      https://github.com/llvm/llvm-project/commit/d8d1d444a2a69293292f10f19691da05207630f7
  Author: Kigyosi Alexandru <alexandru.kigyosi at intel.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Debug/ExecutionContext.h
    M mlir/lib/Debug/ExecutionContext.cpp
    M mlir/unittests/Debug/ExecutionContextTest.cpp

  Log Message:
  -----------
  [MLIR] Rerun control for actions in execution context (#209197)

Adds a Rerun control value to ExecutionContext::Control that allows the
re-execution of the current action immediately after it completes,
without restarting the full compilation pipeline. This is analogous to
GDB's ability to restart execution from a breakpoint. When the callback
returns Rerun, the action is executed normally, then re-dispatched
through the full ExecutionContext::operator() pipeline, including
breakpoint matching, so the user gets a fresh opportunity to inspect or
control the re-execution. As a practical usage example, a breakpoint +
an observer can be added, to save and restore IR between runs to check
if each run produces the same IR or something different each time. A
depth-keyed structure is used, so rerun requests survive nested action
dispatch and are consumed by the correct stack frame.


  Commit: 914d5a1841dedf2148e21bd6de3b92409fe79285
      https://github.com/llvm/llvm-project/commit/914d5a1841dedf2148e21bd6de3b92409fe79285
  Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/LTO.cpp
    M lld/COFF/LTO.h
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/LTO.cpp
    M lld/ELF/LTO.h
    M llvm/include/llvm/DTLTO/DTLTO.h
    M llvm/include/llvm/LTO/LTO.h
    M llvm/lib/DTLTO/DTLTO.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp

  Log Message:
  -----------
  [DTLTO] Overlap temporary file removal (#209423)

Deleting the temporary files produced by the DTLTO pipeline can be
expensive on Windows hosts. For a Clang link (Debug build with
sanitizers and instrumentation) using an optimized toolchain (PGO
non-LTO, llvmorg-22.1.0) on a Windows 11 Pro (Build 26200), AMD Family
25 @ ~4.5 GHz, 16 cores/32 threads, 64 GB RAM machine, the mean duration
of the "Remove DTLTO temporary files" time trace scope was 1267.789 ms
(measured over 10 runs).

This patch performs the deletions on a background thread, allowing them
to overlap with the tail of the link to hide this cost.

This is a re-implementation of the asynchronous cleanup idea from
https://github.com/llvm/llvm-project/pull/186988, which had to be
reverted in https://github.com/llvm/llvm-project/pull/189043 because
cleanup was not guaranteed to complete before LLD invoked
timeTraceProfilerCleanup(). In certain cases timeTraceProfilerCleanup()
was called before temporary file deletion had completed in LLD, which
caused memory leaks that were flagged by sanitizer builds.

Note that the DTLTO implementation has been refactored heavily since
https://github.com/llvm/llvm-project/pull/186988, so this is a
re-implementation along the same lines.

To solve the ordering issue, LLD now calls a hook that defaults to a
no-op, and DTLTO overrides it to drain the background deletion work.
LLD calls this hook before time-trace write/cleanup.


  Commit: 818fd11b95108b1b2a879f474f3c3bf54630b01b
      https://github.com/llvm/llvm-project/commit/818fd11b95108b1b2a879f474f3c3bf54630b01b
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/merge-loads-feeding-as-shuffleops.ll
    M llvm/test/CodeGen/Thumb2/mve-vst2.ll

  Log Message:
  -----------
  [SelectionDAG] Merge consecutive loads feeding as shuffle operands (#207303)

Perform the following fold given loadA and loadB can be proven
consecutive:
```
concat(shuffle(loadA, loadB, mask0), shuffle(loadA, loadB, mask1))
 -> shuffle(loadAB, poison, concat(mask0, mask1))
```


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

  Changed paths:
    M lldb/docs/index.md
    A lldb/docs/resources/addingtargetsupport.md

  Log Message:
  -----------
  [lldb][docs] Add platform/target support requirements doc (#207166)

This is a very delayed follow up to:

https://discourse.llvm.org/t/rfc-surveying-lldbs-supported-platforms-and-architectures/83978

Where I realised that even for upstream supported targets, the level of
testing and attention they get varies a lot. Which I think is not a bad
thing, because LLDB would be much more chaotic if it were a bad thing.

The problem I see is that no one really knows how to start writing
proposals for new targets, and no one really knows how to properly
assess one.

Me included, but what I can do is write out some starting points for
both parties. Hopefully this makes the process a bit more fair for those
not used to writing RFCs.

(and if we want to make the rules more strict, we will now have a place
to document that)

The document also includes some technical guidance, but I don't want to
get stuck in the
"How to Write an LLVM backend" type cycle. Where we write a thing and it
becomes outdated instantly.

So what's there is deliberately high level because Developers will have
to learn the codebase anyway
to have any chance of writing target support.

A bit like adding a new language, which has unknown scope. But unlike a
new language, there are plenty of targets to look at, so I think it's
more justifiable here.

In terms of the famous meme:
This document isn't going to tell you how to
"draw the rest of the owl", but it gives you the names of some key
techniques in owl drawing and advice for how to best present your owl to
the "drawings of owls" society when you're done.

Please note that this new requirement of an RFC does not apply to
targets that are in progress or in discussion right now.


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

  Changed paths:
    M llvm/test/CodeGen/X86/sse3-avx-addsub-2.ll
    M llvm/test/CodeGen/X86/sse3-avx-addsub.ll
    M llvm/test/Transforms/PhaseOrdering/X86/addsub-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/X86/addsub.ll

  Log Message:
  -----------
  [X86] Synchronise middle and backend test coverage for ADDSUBPS/PD patterns (#210919)

Use the same test names wherever possible and ensure sse3-avx-addsub.ll
has test coverage for the IR emitted by the middle-end (no matter how
poor it is)

Prep work for #144489 (sse3-avx-addsub-2.ll will be deleted along with
lowerToAddSubOrFMAddSub)


  Commit: c6bb072d9e40fcf66b26f4896ae0beb2d2f44646
      https://github.com/llvm/llvm-project/commit/c6bb072d9e40fcf66b26f4896ae0beb2d2f44646
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/lib/AST/StmtPrinter.cpp
    M clang/test/OpenMP/declare_reduction_ast_print.cpp
    M clang/test/OpenMP/for_ast_print.cpp
    M clang/test/OpenMP/parallel_ast_print.cpp
    M clang/test/PCH/cxx-explicit-specifier.cpp
    M clang/test/SemaTemplate/instantiate-requires-clause.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/unittests/AST/StmtPrinterTest.cpp

  Log Message:
  -----------
  [Clang] Don't print extra whitespace for comma expression in StmtPrinter (#210920)

For binary expression `1, 2`, StmtPrinter used to print it as `1 , 2`
which doesn't look very pretty.


  Commit: be25717739a8b4f15fd4ccc2f8b28490ed67e922
      https://github.com/llvm/llvm-project/commit/be25717739a8b4f15fd4ccc2f8b28490ed67e922
  Author: Alexey Gerenkov <alexey at espressif.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    A llvm/test/CodeGen/Xtensa/inline-asm-constraints.ll
    M llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll

  Log Message:
  -----------
  [Xtensa] Support 'f' Inline Assembly Constraint (#202345)

This adds the 'f' inline assembly constraint, as supported by GCC. An
'f'-constrained operand is passed in a floating point register.


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

  Changed paths:
    M lldb/source/Interpreter/CommandAlias.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/OptionValueFileSpecList.cpp
    M lldb/source/Interpreter/OptionValueLanguage.cpp
    M lldb/source/Interpreter/OptionValuePathMappings.cpp
    M lldb/source/Interpreter/OptionValueRegex.cpp
    M lldb/source/Interpreter/Options.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove Stream::Printf calls with constant strings in Interpreter/* (#210289)

`Stream::Printf` needs to call various other (variadic) functions, needs
to parse the input string and potentially handle too-long format
outputs. Calling in with a constant string is wasting a lot of
instruction on doing nothing.

assisted-by: claude


  Commit: 45289c7113eee43b38f7feb798f4b4d4a6db1025
      https://github.com/llvm/llvm-project/commit/45289c7113eee43b38f7feb798f4b4d4a6db1025
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandOptionArgumentTable.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove Stream::Printf calls with constants in Commands/ (#210291)

`Stream::Printf` needs to call various other (variadic) functions, needs
to parse the input string and potentially handle too-long format
outputs. Calling in with a constant string is wasting a lot of
instruction on doing nothing.

assisted-by: claude


  Commit: 7aa17579b6299c67996aa1eb0aeed963ae506c93
      https://github.com/llvm/llvm-project/commit/7aa17579b6299c67996aa1eb0aeed963ae506c93
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/source/Target/LanguageRuntime.cpp
    M lldb/source/Target/Platform.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/TargetList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanBase.cpp
    M lldb/source/Target/ThreadPlanCallFunction.cpp
    M lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp
    M lldb/source/Target/ThreadPlanCallUserExpression.cpp
    M lldb/source/Target/ThreadPlanRunToAddress.cpp
    M lldb/source/Target/ThreadPlanStack.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanStepInstruction.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/Target/ThreadPlanStepOverRange.cpp
    M lldb/source/Target/ThreadPlanStepThrough.cpp
    M lldb/source/Target/ThreadPlanStepUntil.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove Stream::Printf calls with constant strings in Target/* (#210287)

`Stream::Printf` needs to call various other (variadic) functions, needs
to parse the input string and potentially handle too-long format
outputs. Calling in with a constant string is wasting a lot of
instruction on doing nothing.

assisted-by: claude


  Commit: 3ef7c5afbc977d238ab1d69473dbf3da3e3347b3
      https://github.com/llvm/llvm-project/commit/3ef7c5afbc977d238ab1d69473dbf3da3e3347b3
  Author: Alan Li <me at alanli.org>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-ctlz-cttz-zero-poison-disable-rule.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-ctlz-cttz-zero-poison.ll

  Log Message:
  -----------
  [GlobalISel][AMDGPU][test] fix cttz/cltz tests in no-assert builds (#210926)

A follow up PR of https://github.com/llvm/llvm-project/pull/198438 

This is to address post commit test issues:
https://lab.llvm.org/buildbot/#/builders/202/builds/726

Keep the normal combine and unknown-input baseline coverage enabled in
all builds, and move the named rule-disable checks into an
assertion-only test.


  Commit: 6d8d3f851820a61054000dbeaed3ab8e212685d3
      https://github.com/llvm/llvm-project/commit/6d8d3f851820a61054000dbeaed3ab8e212685d3
  Author: eleviant <eleviant at accesssoftek.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/docs/UsersManual.md
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/ptr-subtract-stable.c

  Log Message:
  -----------
  [clang] Add flag for making pointer subtraction defined (#196392)

The C and C++ standards require both operands of pointer subtraction to
refer to elements of the same array object. Clang/LLVM currently relies
on this rule in several optimizations:

- `inbounds` GEP introduces UB assumptions once the computed address
escapes the originating object bounds.

- `sdiv exact` assumes %op1 is divisable by %op2 otherwise it is a
poison value.

The first issue may be addressed with -fwrapv-pointer command line
option, however there is no option in clang to mitigate the second
issue. Patch adds a new -fdefined-pointer-subtraction to address this.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    R llvm/test/CodeGen/RISCV/rvv/vl-opt-licm.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll

  Log Message:
  -----------
  Revert "[RISCV] Run EarlyMachineLICM before VLOptimizer to hoist constant splats" (#210937)

Reverts llvm/llvm-project#210028

I've bisected the hangs on rva20 to this commit:
https://lab.llvm.org/buildbot/#/builders/210/builds/11806


  Commit: 7f9f1ac7238fc582253f5529d134393003b5da12
      https://github.com/llvm/llvm-project/commit/7f9f1ac7238fc582253f5529d134393003b5da12
  Author: Nishant Sachdeva <nishant.sachdeva at research.iiit.ac.in>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
    A llvm/tools/llvm-ir2vec/Bindings/python/LICENSE.TXT
    A llvm/tools/llvm-ir2vec/Bindings/python/README.md
    A llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py
    A llvm/tools/llvm-ir2vec/Bindings/python/pyproject.toml
    A llvm/tools/llvm-ir2vec/Bindings/python/setup.py
    M llvm/tools/llvm-ir2vec/CMakeLists.txt
    M llvm/utils/release/bump-version.py

  Log Message:
  -----------
  [llvm-ir2vec] Adding metadata for llvm-ir2vec python binding wheel builds (#194222)

The next step is to setup the metadata for the wheel building process,
and subsequently follow it up with workflow jobs that can automate this.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    A llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Move lowering transforms to VPlanLowering.cpp (NFC) (#209885)

Following up to https://github.com/llvm/llvm-project/pull/209883,
 move transformations related to lowering/preparing for execution
to VPlanLowering.cpp

This moves materialize*, convertToConcreteRecipes,
dissolveLoopRegions, expandBranchOnTwoConds,
replaceWideCanonicalIVWithWideIV, expandSCEVsToVPInstructions, 
addBranchWeightToMiddleTerminator and the alias-mask materialization helpers.

The createScalarIVSteps and scalarizeVPWidenPointerInduction are
promoted to vputils.

Depends on https://github.com/llvm/llvm-project/pull/209883


  Commit: aeda9aee7d81c0cb877de15452434121c1b95115
      https://github.com/llvm/llvm-project/commit/aeda9aee7d81c0cb877de15452434121c1b95115
  Author: Ankit Kumar Tiwari <141545455+ankit-cybertron at users.noreply.github.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-and-constant-fold.ll
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-or-constant-fold.ll
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-xor-constant-fold.ll

  Log Message:
  -----------
  [SelectionDAG] Fold VECREDUCE_AND/OR/XOR of a constant BUILD_VECTOR (#210883)

Follows up on #207560 and #210126

Adds constant folding for `ISD::VECREDUCE_AND`, `ISD::VECREDUCE_OR`, and
`ISD::VECREDUCE_XOR` in SelectionDAG::FoldConstantArithmetic when the
input is a BUILD_VECTOR of integer constants. Does not fold undef/poison
elements.

Fixes #209108


  Commit: 136547ce3f53d8835c20fbdbc602f899ac8a069d
      https://github.com/llvm/llvm-project/commit/136547ce3f53d8835c20fbdbc602f899ac8a069d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
    M llvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp

  Log Message:
  -----------
  [VPlan] Detect contiguous accesses in outer loop VPlan path. (#203790)

Use SCEV analysis on VPValue pointer operands to detect stride-1 memory
accesses in the outer loop vectorization path. When a load or store
address is an affine AddRec w.r.t. the vectorized outer loop with stride
equal to the element size, mark it as consecutive so it generates a wide
load/store instead of a gather/scatter.

For example, in the column-scaling pattern:

```
  for (i = 0; i < N; i++)       // outer: vectorized
    for (j = 0; j < M; j++)     // inner: uniform
      A[i*M+j] *= scale[i];
```

The access scale[i] is now correctly identified as contiguous and
generates a vector load instead of a masked gather.

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


  Commit: f8e258866980da486756e241016dd33ae68450be
      https://github.com/llvm/llvm-project/commit/f8e258866980da486756e241016dd33ae68450be
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/string.bench.cpp

  Log Message:
  -----------
  [libc++] Include sizes in string benchmark names (#210795)

Otherwise we'd have duplicate benchmark names.


  Commit: 7f49d95c09e8a22a6de737ae6006edbb3a0adfca
      https://github.com/llvm/llvm-project/commit/7f49d95c09e8a22a6de737ae6006edbb3a0adfca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/include/system_error

  Log Message:
  -----------
  [libc++][NFC] Fix synopsis comment for error_condition::message() (#210724)

The method was marked as noexcept in the synopsis, but it's neither
marked noexcept in the spec nor in our implementation.


  Commit: df4bb1f3106d39e5c6b767a28c0531efbbebc2d2
      https://github.com/llvm/llvm-project/commit/df4bb1f3106d39e5c6b767a28c0531efbbebc2d2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/test/CMakeLists.txt
    M libcxx/test/configs/amdgpu-libc++-shared.cfg.in
    M libcxx/test/configs/apple-libc++-shared.cfg.in
    M libcxx/test/configs/apple-libc++-system.cfg.in
    M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    R libcxx/test/configs/cmake-bridge.cfg.in
    A libcxx/test/configs/harness-configuration.cfg.in
    M libcxx/test/configs/ibm-libc++-shared.cfg.in
    A libcxx/test/configs/libcxx-substitutions.cfg.in
    A libcxx/test/configs/lit.site.cfg.in
    M libcxx/test/configs/llvm-libc++-android.cfg.in
    M libcxx/test/configs/llvm-libc++-llvm-libc.cfg.in
    M libcxx/test/configs/llvm-libc++-mingw.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared.cfg.in
    M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-static.cfg.in
    M libcxx/test/configs/nvptx-libc++-shared.cfg.in
    M libcxx/test/configs/stdlib-libstdc++.cfg.in
    M libcxx/test/configs/stdlib-native.cfg.in

  Log Message:
  -----------
  [libc++] Compose the test suite Lit site config from harness and installation substitutions (#209638)

This patch restructures how libc++'s Lit site config is generated.
Instead of relying on the user-selected configuration file to include
the CMake bridge, it composes a site configuration from multiple
independent bits.

Importantly, it splits substitutions that pertain to the harness setup
(e.g. where to find Python) and substitutions that pertain to libc++
itself (e.g. the path to libc++ headers). This split and the top-level
composition of a site config file are incremental steps towards
decoupling the test suite from libc++'s own build.


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

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
    M clang/lib/Analysis/LiveVariables.cpp
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/ImmutableMergeBM.cpp
    M llvm/include/llvm/ADT/ImmutableMap.h
    M llvm/include/llvm/ADT/ImmutableSet.h
    M llvm/unittests/ADT/ImmutableMapTest.cpp
    M llvm/unittests/ADT/ImmutableSetTest.cpp

  Log Message:
  -----------
  [ADT] Add single-pass merge for ImmutableSet/ImmutableMap (#209807)

The immutable-set/map dataflow joins merged two containers by inserting
the
elements of one into the other one at a time, costing O(|B| * log|A|)
and
re-copying shared spine nodes on every insert.

Add a single-pass, structure-sharing tree merge on ImutAVLFactory
(mergeTrees), exposed as ImmutableSet::Factory::unionSets and
ImmutableMap::Factory::mergeWith. It recurses over the larger operand
and
splits the smaller at each key, returning non-overlapping subtrees
unchanged,
so each spine node is copied at most once: O(|B| * log(|A|/|B| + 1)).

Two flags tune it for the different joins:
* KeepUnmatched - keep keys unique to one side (set union / a lattice
join
with an identity) vs. pass them through the combiner (a symmetric join,
   e.g. liveness Must->Maybe).
* SkipShared - return a pointer-identical subtree unchanged in O(1).
Valid
for an idempotent merge (Combine(a, a) == a), which holds for set union
and
every lattice join. Since dataflow states are path-copied from one
another,
a join's operands usually share most subtrees by pointer, so a join that
   touches only a few keys becomes nearly O(diff).

Wire it into the Clang lifetime-safety analysis (set and map joins) and
the
LiveVariables merge, and add ImmutableMergeBM to track it.

Speedups on the lifetime-safety dataflow benchmark (LoanPropagation
phase):
      pointer cycle in a loop  ~2.6x   (1.59 s  -> 0.61 s)
      CFG merges               ~190x   (1.83 s  -> 9.5 ms)
switch fan-out ~1.9x (LiveOrigins; disjoint states, no skip)
LiveVariables is ~2-3x faster on liveness-heavy inputs and neutral on
typical
code (the join is a small fraction of real-code analysis time).

ImmutableMergeBM confirms the merge beats the add loop for small and
near-identical operands, except for independently-built sets differing
by
exactly one element; when one operand is derived from the other -- the
real
dataflow case -- the pointer-skip makes even that a large win. New
randomized
ADT stress tests check the merge against std::set/std::map oracles for
both
canonicalizing and non-canonicalizing factories.

Assisted by: Claude Opus 4.8

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


  Commit: b8eebf2704f2ebb6894fd952e4f15fdb62270606
      https://github.com/llvm/llvm-project/commit/b8eebf2704f2ebb6894fd952e4f15fdb62270606
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++][NFC] Re-order availability mapping to `_LIBCPP_INTRODUCED_IN_LLVM_{N}` (#210694)

Noticed that the new additions (from 16f692338cf and 8a531c3608c) were placed
rather randomly. Put the mapping back to reverse chronological order, see 
783fd2f9d.


  Commit: c40a68644c550dcfa3c3d0b560e3aeea1d159d79
      https://github.com/llvm/llvm-project/commit/c40a68644c550dcfa3c3d0b560e3aeea1d159d79
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/include/__algorithm/comp.h
    M libcxx/test/libcxx/type_traits/desugars_to.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Strip cv-refs in __desugars_to specialization for integral types (#208950)

This PR passes the argument type through `__remove_cvref_t` before
passing to `is_integral`.

Fixes #208236


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

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/support.h
    M libcxx/include/__atomic/support/c11.h
    M libcxx/include/__atomic/support/gcc.h
    M libcxx/include/atomic
    M libcxx/include/version
    M libcxx/modules/std/atomic.inc
    A libcxx/test/std/atomics/atomics.ref/fetch_max.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_min.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/support/atomic_fetch_max_helper.h
    A libcxx/test/support/atomic_fetch_min_helper.h
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P0493R5: Atomic minimum/maximum (#180333)

Closes #105418.

Since gcc does not currently support `__atomic_fetch_min/max`, we use a
CAS loop in `atomic_ref` and `support/gcc.h`.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 460778b9d64ed36fd7e80a4cc73ea552aebf016b
      https://github.com/llvm/llvm-project/commit/460778b9d64ed36fd7e80a4cc73ea552aebf016b
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M libcxx/include/__numeric/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/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/adjacent.difference/pstl.adjacent_difference.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/adjacent.difference/pstl.adjacent_difference_op.pass.cpp
    A libcxx/test/support/runway_sample.h
    A libcxx/test/support/test.support/runway_sample.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Default implementation of parallel std::adjacent_difference (#207585)

This PR adds a "one-liner" default implementation of parallel
`std::adjacent_difference` on top of parallel binary `std::transform`.

The implementation builds two iterator ranges out of the input one, so
that a zip of these ranges yields adjacent pairs. Then performs a binary
transform to calculate and output the adjacent differences.

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


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

  Changed paths:
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp

  Log Message:
  -----------
  [analyzer][NFC] Add StackFrame parent-chain range helpers (#210938)

Walking a StackFrame's parent chain was open-coded across the Analysis
library and Static Analyzer as hand-rolled loops of the form `for (const
StackFrame *SF = X; SF; SF = SF->getParent())`.

Add range-based traversal helpers and convert the applicable loops:

* StackFrame::parents() - strict ancestors (excludes *this)
* StackFrame::parentsIncludingSelf() - *this then all ancestors

Both are built on a small forward `parent_iterator` that dereferences to
`const StackFrame &` and advances via getParent(), with a null
past-the-end sentinel.

For the common case of obtaining the current frame from an ExplodedNode
or CheckerContext, add a self-inclusive `stackframes()` convenience on
each that delegates to `getStackFrame()->parentsIncludingSelf()`.

Converted call-sites additionally adopt llvm::any_of / llvm::enumerate /
make_pointer_range where it makes the traversal more declarative. Loops
that stop at a target frame or advance conditionally (i.e. not "walk
until null") are intentionally left as-is.


  Commit: f72f994ad894bf82ab8d12f848f583c5d0cf0048
      https://github.com/llvm/llvm-project/commit/f72f994ad894bf82ab8d12f848f583c5d0cf0048
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    M mlir/test/mlir-tblgen/constraint-unique.td

  Log Message:
  -----------
  [mlir][ods] Fix string interpolation at end of description (#209744)

Updates the error streaming string logic to handle the case where string
interpolation used at the end of the description. Previously this could
generate malformed code that would not compile e.g.:
```
"' failed to satisfy constraint: another attribute " << reformat(attr)";
```
With this change the above example would now generate:
```
"' failed to satisfy constraint: another attribute " << reformat(attr) << "";
```


  Commit: 3fc3ef399d9972361209917bf26ae9cc7317d3a9
      https://github.com/llvm/llvm-project/commit/3fc3ef399d9972361209917bf26ae9cc7317d3a9
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/Expr.cpp
    A clang/test/SemaCXX/builtin-dependent-call.cpp

  Log Message:
  -----------
  [Clang] Fix assertion failure when classifying a dependent call to a builtin (#210524)

## Summary
Fix an assertion failure when Clang classifies a built-in call with
type-dependent arguments before template instantiation, e.g., while
deducing an `auto` non-type template parameter:

  For example:
  ```cpp
  template <auto> struct S {};

  template <typename T>
  using Alias = S<__builtin_constant_p(T::x)>;
```
```
Assertion failed: (isa<T>(CanonicalType)), function castAs, file
TypeBase.h, line 9349.
 #9  clang::Type::castAs<clang::FunctionType>() const
 #10 clang::CallExpr::getCallReturnType(clang::ASTContext const&) const
 #11 ClassifyInternal(clang::ASTContext&, clang::Expr const*)
#12 clang::Expr::ClassifyImpl(clang::ASTContext&,
clang::SourceLocation*) const
 #13 clang::Sema::DeduceAutoType(...)
 #14 clang::Sema::CheckTemplateArgument(...)
```

## Cause
Built-in references initially have the BuiltinFn placeholder type. For a non-dependent call, `BuildResolvedCallExpr()` applies `CK_BuiltinFnToFnPtr`, converting the callee to its function-pointer type. 

When a call has type-dependent arguments, `BuildCallExpr()` postpones semantic analysis until instantiation. The callee, therefore, retains its BuiltinFn placeholder type. Deducing the auto non-type template parameter classifies the dependent call through `Expr::ClassifyImpl()`. This calls `CallExpr::getCallReturnType()`, which previously did not handle BuiltinFn and attempted to cast the placeholder to FunctionType, triggering an assertion.

The issue also affects ordinary builtins such as `__builtin_ffs` and is not specific to` __builtin_constant_p`.

 ## Fix
Handle `BuiltinFn` alongside the dependent and `Overload` callee cases in `CallExpr::getCallReturnType()` and return `DependentTy`. This matches the type `BuildCallExpr()` gives the `CallExpr` itself, so `getCallReturnType()` and `getType()` now agree on such calls.

Built-in resolution and built-in-specific type checking still occur as usual during template instantiation.

Added coverage for dependent calls and successful instantiation of `__builtin_constant_p` and `__builtin_ffs`,  a non-dependent control case, and getCallReturnType() for a BuiltinFn callee.


  Commit: fe0bc1136dc991486e6a84d6ed034dc3617faaa7
      https://github.com/llvm/llvm-project/commit/fe0bc1136dc991486e6a84d6ed034dc3617faaa7
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.async.tensor.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx1250.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Add s_wait asynccnt/tensorcnt test for gfx13 (#210916)


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

  Changed paths:
    M llvm/lib/TargetParser/XtensaTargetParser.cpp

  Log Message:
  -----------
  [Xtensa][NFC] Use compact enum for CPUNames/features (#206954)

Store strings without relocations using compact enums. This reduces the
size of libLLVM.so .data.rel.ro by ~1kiB.


  Commit: 1ec9c0cf1e00e5d184151d985abb9c6762c92fc1
      https://github.com/llvm/llvm-project/commit/1ec9c0cf1e00e5d184151d985abb9c6762c92fc1
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    R bolt/test/X86/instrument-funcs-file.s
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
    M clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
    M clang/cmake/modules/ClangConfig.cmake.in
    M clang/docs/ReleaseNotes.md
    M clang/docs/UsersManual.md
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/ExpressionTraits.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    A clang/include/clang/Basic/Traits.td
    R clang/include/clang/Basic/TransformTypeTraits.def
    M clang/include/clang/Basic/TypeTraits.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/module.modulemap
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/lib/Basic/ExpressionTraits.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Frontend/ASTConsumers.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/test/AST/ast-print-enum-decl.c
    M clang/test/Analysis/lifetime-bound.cpp
    M clang/test/CIR/CodeGen/anonymous-nested-init.c
    M clang/test/CIR/CodeGen/bitfield-init-values.c
    M clang/test/CIR/CodeGen/record-with-padded-union.cpp
    A clang/test/CIR/CodeGen/unions-with-zero-init.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx-shuffle-builtins.c
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct.default/p3.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-ldst-one.c
    A clang/test/CodeGen/AArch64/neon/store.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/arm-neon-vst.c
    A clang/test/CodeGen/ptr-subtract-stable.c
    M clang/test/CodeGenCXX/pragma-followup_inner.cpp
    M clang/test/CodeGenCXX/pragma-followup_outer.cpp
    M clang/test/CodeGenCXX/pragma-loop-distribute.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Misc/diag-template-diffing-cxx11.cpp
    M clang/test/OpenMP/declare_reduction_ast_print.cpp
    M clang/test/OpenMP/for_ast_print.cpp
    M clang/test/OpenMP/parallel_ast_print.cpp
    M clang/test/PCH/cxx-explicit-specifier.cpp
    A clang/test/Parser/cxx2c-expansion-statements-non-compound-stmt-body.cpp
    M clang/test/SemaCXX/attr-no-specializations.cpp
    A clang/test/SemaCXX/builtin-dependent-call.cpp
    M clang/test/SemaCXX/static-assert.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/instantiate-requires-clause.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/unittests/AST/StmtPrinterTest.cpp
    M clang/utils/TableGen/CMakeLists.txt
    A clang/utils/TableGen/ClangTraitsEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/asan/CMakeLists.txt
    R compiler-rt/lib/asan/asan_ignorelist.txt
    M compiler-rt/lib/cfi/CMakeLists.txt
    R compiler-rt/lib/cfi/cfi_ignorelist.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt
    R compiler-rt/lib/hwasan/hwasan_ignorelist.txt
    M compiler-rt/lib/msan/CMakeLists.txt
    R compiler-rt/lib/msan/msan_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/CMakeLists.txt
    A compiler-rt/lib/sanitizer_ignorelists/asan_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/cfi_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/hwasan_ignorelist.txt
    A compiler-rt/lib/sanitizer_ignorelists/msan_ignorelist.txt
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/mem_map_linux.cpp
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/rtsan/deduplicate_errors.cpp
    M compiler-rt/test/rtsan/lit.cfg.py
    M compiler-rt/test/rtsan/unrecognized_flags.cpp
    M flang/include/flang/Lower/ConvertConstant.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    A flang/test/Fir/CUDA/cuda-device-global-cycle.fir
    M flang/test/Fir/array-coor-canonicalization.fir
    A flang/test/Fir/box-dims-folding.fir
    M flang/test/Fir/boxaddr-folding.fir
    M flang/test/Lower/OpenACC/acc-unstructured.f90
    M flang/test/Lower/OpenMP/depend-iterator.f90
    M flang/test/Lower/OpenMP/task-affinity.f90
    M flang/test/Lower/call-copy-in-out.f90
    A flang/test/Lower/common-block-derived-initialization.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/global-initialization-parens.f90
    M flang/test/Lower/host-associated.f90
    M flang/test/Lower/identical-block-merge-disable.f90
    M flang/test/Lower/if_construct_execute_region_wrap.f90
    M flang/test/Lower/pointer-assignments.f90
    M flang/test/Lower/statement-function.f90
    M flang/test/Lower/variable-inquiries.f90
    M flang/test/Parser/acc-unparse.f90
    A flang/test/Semantics/OpenMP/teams_loop.f90
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_group_req.h
    A libc/hdr/types/struct_group_source_req.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_group_req.h
    A libc/include/llvm-libc-types/struct_group_source_req.h
    M libc/include/netinet/in.yaml
    M libc/src/stdio/linux/stdin.cpp
    M libc/src/stdio/linux/stdout.cpp
    M libc/src/stdlib/linux/CMakeLists.txt
    M libc/src/stdlib/linux/realpath.cpp
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/HermeticTestUtils.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/src/netinet/CMakeLists.txt
    M libc/test/src/netinet/in_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/realpath_test.cpp
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    M libc/test/src/sys/socket/linux/sockatmark_test.cpp
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/__algorithm/comp.h
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/support.h
    M libcxx/include/__atomic/support/c11.h
    M libcxx/include/__atomic/support/gcc.h
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__numeric/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/atomic
    M libcxx/include/system_error
    M libcxx/include/version
    M libcxx/modules/std/atomic.inc
    M libcxx/test/CMakeLists.txt
    M libcxx/test/benchmarks/containers/string.bench.cpp
    M libcxx/test/configs/amdgpu-libc++-shared.cfg.in
    M libcxx/test/configs/apple-libc++-shared.cfg.in
    M libcxx/test/configs/apple-libc++-system.cfg.in
    M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    R libcxx/test/configs/cmake-bridge.cfg.in
    A libcxx/test/configs/harness-configuration.cfg.in
    M libcxx/test/configs/ibm-libc++-shared.cfg.in
    A libcxx/test/configs/libcxx-substitutions.cfg.in
    A libcxx/test/configs/lit.site.cfg.in
    M libcxx/test/configs/llvm-libc++-android.cfg.in
    M libcxx/test/configs/llvm-libc++-llvm-libc.cfg.in
    M libcxx/test/configs/llvm-libc++-mingw.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared.cfg.in
    M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-static.cfg.in
    M libcxx/test/configs/nvptx-libc++-shared.cfg.in
    M libcxx/test/configs/stdlib-libstdc++.cfg.in
    M libcxx/test/configs/stdlib-native.cfg.in
    M libcxx/test/libcxx-03/strings/basic.string/string.capacity/allocation_size.pass.cpp
    M libcxx/test/libcxx-03/strings/basic.string/string.capacity/max_size.pass.cpp
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    M libcxx/test/libcxx/type_traits/desugars_to.compile.pass.cpp
    A libcxx/test/selftest/if-else.sh.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_max.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_min.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/adjacent.difference/pstl.adjacent_difference.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/adjacent.difference/pstl.adjacent_difference_op.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.convert.pass.cpp
    A libcxx/test/support/atomic_fetch_max_helper.h
    A libcxx/test/support/atomic_fetch_min_helper.h
    A libcxx/test/support/runway_sample.h
    A libcxx/test/support/test.support/runway_sample.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/format.py
    M libsycl/CMakeLists.txt
    M libsycl/test/basic/platform_get_devices.cpp
    M libsycl/test/lit.cfg.py
    M libsycl/test/usm/alloc_functions.cpp
    M libunwind/src/DwarfInstructions.hpp
    M libunwind/src/DwarfParser.hpp
    M libunwind/src/UnwindRegistersSave.S
    A libunwind/test/ra_sign_state.pass.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/LTO.cpp
    M lld/COFF/LTO.h
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/LTO.cpp
    M lld/ELF/LTO.h
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SymbolTable.h
    M lld/ELF/Symbols.cpp
    M lld/test/ELF/amdgpu-abi-version-err.s
    M lld/test/ELF/amdgpu-abi-version.s
    M lld/test/ELF/amdgpu-duplicate-sym.s
    M lld/test/ELF/amdgpu-elf-flags-err.s
    M lld/test/ELF/amdgpu-elf-flags.s
    M lld/test/ELF/amdgpu-globals.s
    M lld/test/ELF/amdgpu-relocs.s
    M lld/test/ELF/amdgpu-relocs2.s
    M lld/test/ELF/amdgpu-tid.s
    M lld/test/ELF/emulation-amdgpu.s
    M lld/test/ELF/lto/amdgcn-oses.ll
    A lld/test/ELF/lto/amdgpu.ll
    M lld/test/ELF/version-script-symver-extern.s
    M lld/test/ELF/version-script-symver.s
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/index.md
    A lldb/docs/resources/addingtargetsupport.md
    M lldb/docs/resources/build.md
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/include/lldb/Interpreter/OptionValueArch.h
    M lldb/include/lldb/Interpreter/OptionValueArray.h
    M lldb/include/lldb/Interpreter/OptionValueBoolean.h
    M lldb/include/lldb/Interpreter/OptionValueChar.h
    M lldb/include/lldb/Interpreter/OptionValueDictionary.h
    M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
    M lldb/include/lldb/Interpreter/OptionValueFormat.h
    M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
    M lldb/include/lldb/Interpreter/OptionValueLanguage.h
    M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
    M lldb/include/lldb/Interpreter/OptionValueProperties.h
    M lldb/include/lldb/Interpreter/OptionValueRegex.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUUID.h
    M lldb/include/lldb/Protocol/MCP/Server.h
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandOptionArgumentTable.cpp
    M lldb/source/Interpreter/CommandAlias.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/OptionValue.cpp
    M lldb/source/Interpreter/OptionValueBoolean.cpp
    M lldb/source/Interpreter/OptionValueFileSpecList.cpp
    M lldb/source/Interpreter/OptionValueFormatEntity.cpp
    M lldb/source/Interpreter/OptionValueLanguage.cpp
    M lldb/source/Interpreter/OptionValuePathMappings.cpp
    M lldb/source/Interpreter/OptionValueProperties.cpp
    M lldb/source/Interpreter/OptionValueRegex.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Protocol/MCP/Server.cpp
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/source/Target/LanguageRuntime.cpp
    M lldb/source/Target/Platform.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/TargetList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanBase.cpp
    M lldb/source/Target/ThreadPlanCallFunction.cpp
    M lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp
    M lldb/source/Target/ThreadPlanCallUserExpression.cpp
    M lldb/source/Target/ThreadPlanRunToAddress.cpp
    M lldb/source/Target/ThreadPlanStack.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanStepInstruction.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/source/Target/ThreadPlanStepOverRange.cpp
    M lldb/source/Target/ThreadPlanStepThrough.cpp
    M lldb/source/Target/ThreadPlanStepUntil.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
    A lldb/test/API/functionalities/gdb_remote_client/TestQSymbol.py
    A lldb/test/API/functionalities/gdb_remote_client/test_qsymbol.yaml
    M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
    M lldb/test/API/macosx/simulator/hello.cpp
    M lldb/test/API/tools/lldb-server/apple-simulator/TestAppleSimulatorOSType.py
    M lldb/tools/lldb-mcp/CMakeLists.txt
    M lldb/tools/lldb-mcp/Multiplexer.cpp
    M lldb/tools/lldb-mcp/Multiplexer.h
    M lldb/tools/lldb-mcp/lldb-mcp.cpp
    M lldb/unittests/Symbol/JSONSymbolTest.cpp
    M lldb/unittests/Symbol/SymbolTest.cpp
    M lldb/unittests/tools/lldb-mcp/MultiplexerTest.cpp
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/ImmutableMergeBM.cpp
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/docs/LangRef.md
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/include/llvm/ADT/ImmutableMap.h
    M llvm/include/llvm/ADT/ImmutableSet.h
    M llvm/include/llvm/Analysis/LoopInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/DTLTO/DTLTO.h
    M llvm/include/llvm/IR/AutoUpgrade.h
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/IR/RuntimeLibcallsImpl.td
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Support/GenericLoopInfo.h
    M llvm/include/llvm/Support/GenericLoopInfoImpl.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Transforms/Scalar.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/DTLTO/DTLTO.cpp
    M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
    M llvm/lib/DWARFLinker/Parallel/DependencyTracker.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUNextUseAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/TargetParser/XtensaTargetParser.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/LoopDeletion.cpp
    M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    A llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    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/test/Analysis/CostModel/AArch64/abs.ll
    M llvm/test/Analysis/CostModel/AMDGPU/fsub.ll
    M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
    M llvm/test/Analysis/CycleInfo/basic.ll
    A llvm/test/Analysis/Delinearization/multidim_pointer_addrspace.ll
    M llvm/test/Analysis/DotMachineCFG/AMDGPU/functions.mir
    M llvm/test/Analysis/DotMachineCFG/AMDGPU/irreducible.mir
    M llvm/test/Analysis/Lint/const-store.ll
    M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
    M llvm/test/Analysis/MemorySSA/ptr-const-mem.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/hidden-diverge.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/irreducible-1.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/irreducible-2.ll
    M llvm/test/Assembler/amdgpu-image-atomic-attributes.ll
    A llvm/test/Bitcode/upgrade-loop-distribute-enable.ll
    A llvm/test/Bitcode/upgrade-loop-distribute-enable.ll.bc
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-ctlz-cttz-zero-poison.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-maxdepth.mir
    A llvm/test/CodeGen/AArch64/merge-loads-feeding-as-shuffleops.ll
    A llvm/test/CodeGen/AArch64/vecreduce-mul-constant-fold.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-ctlz-cttz-zero-poison-disable-rule.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-ctlz-cttz-zero-poison.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extendedLLTs-err.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extendedLLTs.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.offset-split.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fpext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-salu-float.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-waterfall-call.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-weird-size.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_dpp_lds_expected_active_lanes.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/div-rem-fast-path.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-flat-scratch-svs.mir
    M llvm/test/CodeGen/AMDGPU/expand-mov-b64-globaladdr-hsa.ll
    M llvm/test/CodeGen/AMDGPU/expand-mov-b64-globaladdr-rel32.mir
    M llvm/test/CodeGen/AMDGPU/expand-mov-b64-globaladdr.ll
    M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
    M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
    M llvm/test/CodeGen/AMDGPU/flat-error-unsupported-gpu-hsa.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
    A llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma-fake16.mir
    M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/issue196582-late-codegenprepare-crash-non-po2.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.illegal-data-type.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load-exported.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.inst.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.async.tensor.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.format.i8.xfail.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.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/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
    M 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-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
    M llvm/test/CodeGen/AMDGPU/mcinstlower-external-symbol-reloc.mir
    M llvm/test/CodeGen/AMDGPU/med3-knownbits.ll
    M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
    M llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/packed_shl64_combine.ll
    M llvm/test/CodeGen/AMDGPU/phi-elimination-assertion.mir
    M llvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
    M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments-2.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
    M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-dead-def-join.mir
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-ilp-metric-spills.mir
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    A llvm/test/CodeGen/AMDGPU/shrink-fake16.mir
    M llvm/test/CodeGen/AMDGPU/shrink-true16.mir
    M llvm/test/CodeGen/AMDGPU/si-pre-allocate-wwwmregs-dbg-noreg.mir
    M llvm/test/CodeGen/AMDGPU/strict_fptrunc_bf16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/AMDGPU/udivrem24.ll
    M llvm/test/CodeGen/AMDGPU/v_mov_b64-isel.ll
    A llvm/test/CodeGen/AMDGPU/v_swap_b16.mir
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-setreg-pred-block.mir
    A llvm/test/CodeGen/AMDGPU/waitcnt-vinterp-fake16.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-vinterp.mir
    M llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/ARM/call-graph-section-assembly.ll
    M llvm/test/CodeGen/ARM/call-graph-section.ll
    M llvm/test/CodeGen/ARM/fp-intrinsics-vector.ll
    M llvm/test/CodeGen/ARM/fp16-fullfp16.ll
    M llvm/test/CodeGen/ARM/strict-fp-int-promote.ll
    M llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
    M llvm/test/CodeGen/Generic/bfloat-op.ll
    M llvm/test/CodeGen/Generic/bfloat.ll
    M llvm/test/CodeGen/Generic/half-op.ll
    M llvm/test/CodeGen/Generic/half.ll
    M llvm/test/CodeGen/Generic/live-debug-label.ll
    M llvm/test/CodeGen/Lanai/llc-pipeline-npm.ll
    M llvm/test/CodeGen/MIR/AMDGPU/empty-custom-regmask.mir
    M llvm/test/CodeGen/MIR/AMDGPU/expected-target-index-name.mir
    M llvm/test/CodeGen/MIR/AMDGPU/intrinsics.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index-invalid-fixed-stack.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index-invalid-stack.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index-no-stack.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-frame-index2.mir
    M llvm/test/CodeGen/MIR/AMDGPU/invalid-target-index-operand.mir
    M llvm/test/CodeGen/MIR/AMDGPU/llc-target-cpu-attr-from-cmdline-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/llc-target-cpu-attr-from-cmdline.mir
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-dynlds-align-invalid-case.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-register-parse-error1.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-register-parse-error2.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-frame-offset-reg-class.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-parse-error-frame-offset-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-parse-error-scratch-rsrc-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-parse-error-stack-ptr-offset-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-scratch-rsrc-reg-reg-class.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mfi-stack-ptr-offset-reg-class.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi-def.mir
    M llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir
    M llvm/test/CodeGen/MIR/AMDGPU/noconvergent-invalid.mir
    M llvm/test/CodeGen/MIR/AMDGPU/noconvergent.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-empty-lanemask.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-invalid-lanemask.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-missing-lparen.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand-missing-rparen.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-lanemask-operand.mir
    M llvm/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mir
    M llvm/test/CodeGen/MIR/AMDGPU/s_wait_alu_missing_operand_crash.mir
    M llvm/test/CodeGen/MIR/AMDGPU/s_waitcnt_missing_operand_crash.mir
    M llvm/test/CodeGen/MIR/AMDGPU/sgpr-for-exec-copy-invalid-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs-invalid.mir
    M llvm/test/CodeGen/MIR/AMDGPU/spill-phys-vgprs-not-a-reg.mir
    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/AMDGPU/stack-id.mir
    M llvm/test/CodeGen/MIR/AMDGPU/target-flags.mir
    M llvm/test/CodeGen/MIR/AMDGPU/target-index-operands.mir
    M llvm/test/CodeGen/MIR/AMDGPU/target-memoperands.mir
    M llvm/test/CodeGen/MIR/AMDGPU/vgpr-for-agpr-copy-invalid-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/wwm-reserved-regs-invalid-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/wwm-reserved-regs-not-a-reg.mir
    M llvm/test/CodeGen/MIR/AMDGPU/wwm-reserved-regs.mir
    A llvm/test/CodeGen/NVPTX/proxy-reg-erasure-kill-flag.mir
    M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
    M llvm/test/CodeGen/PowerPC/2010-02-12-saveCR.ll
    M llvm/test/CodeGen/PowerPC/aix-crspill.ll
    M llvm/test/CodeGen/PowerPC/aix32-crsave.mir
    M llvm/test/CodeGen/PowerPC/cc.ll
    M llvm/test/CodeGen/PowerPC/crsave.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-creq.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-crun.ll
    M llvm/test/CodeGen/PowerPC/ppc64-crsave.mir
    M llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll
    M llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-and-constant-fold.ll
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-or-constant-fold.ll
    A llvm/test/CodeGen/RISCV/rvv/vecreduce-xor-constant-fold.ll
    M llvm/test/CodeGen/RISCV/zicond-opts.ll
    M llvm/test/CodeGen/Thumb2/mve-vst2.ll
    A llvm/test/CodeGen/X86/bitcnt-false-deps.mir
    R llvm/test/CodeGen/X86/bls-false-dep.ll
    A llvm/test/CodeGen/X86/bls-false-deps.mir
    M llvm/test/CodeGen/X86/call-graph-section-assembly.ll
    M llvm/test/CodeGen/X86/call-graph-section.ll
    R llvm/test/CodeGen/X86/compress-false-deps.ll
    A llvm/test/CodeGen/X86/compress-false-deps.mir
    M llvm/test/CodeGen/X86/cycle-info.mir
    R llvm/test/CodeGen/X86/expand-false-deps.ll
    A llvm/test/CodeGen/X86/expand-false-deps.mir
    M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
    M llvm/test/CodeGen/X86/sse3-avx-addsub-2.ll
    M llvm/test/CodeGen/X86/sse3-avx-addsub.ll
    A llvm/test/CodeGen/Xtensa/inline-asm-constraints.ll
    M llvm/test/CodeGen/Xtensa/inline-asm-invalid.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_internalize.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-3d-grid.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-contiguous-counters.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-uniform-counters.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-wave32.ll
    M llvm/test/Instrumentation/InstrProfiling/amdgpu-wave64.ll
    M llvm/test/Instrumentation/InstrProfiling/platform.ll
    M llvm/test/LTO/AMDGPU/closed-world-assumption.ll
    M llvm/test/MachineVerifier/AMDGPU/undef-virt-reg-entry-block.mir
    M llvm/test/MachineVerifier/AMDGPU/verifier-implicit-virtreg-invalid-physreg-liveness.mir
    M llvm/test/MachineVerifier/AMDGPU/verify-implicit-def.mir
    M llvm/test/MachineVerifier/AMDGPU/writelane_m0.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    M llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
    M llvm/test/MachineVerifier/stack-protector-offset.mir
    M llvm/test/Other/new-pm-print-pipeline.ll
    M llvm/test/Other/optimization-remarks-lazy-bfi.ll
    M llvm/test/Other/print-passes.ll
    M llvm/test/TableGen/RuntimeLibcallEmitter-bad-system-library-entry-error.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-calling-conv.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-conflict-warning.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-nested-predicates-error.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-predicate-cc-sort.td
    A llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag-errors.td
    A llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag.td
    M llvm/test/TableGen/RuntimeLibcallEmitter.td
    M llvm/test/TableGen/subreg-index-overflow-allowed.td
    M llvm/test/ThinLTO/AMDGPU/force-import-all.ll
    M llvm/test/Transforms/AggressiveInstCombine/X86/lower-table-based-log2-basics.ll
    M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
    M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
    M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
    M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
    M llvm/test/Transforms/IRCE/add-metadata-pre-post-loops.ll
    M llvm/test/Transforms/IRCE/correct-loop-info.ll
    M llvm/test/Transforms/IRCE/loop-guarded-bounds.ll
    M llvm/test/Transforms/IRCE/pre_post_loops.ll
    M llvm/test/Transforms/IRCE/range_intersect_miscompile.ll
    M llvm/test/Transforms/IRCE/unsigned_comparisons_ugt.ll
    M llvm/test/Transforms/IRCE/unsigned_comparisons_ult.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
    A llvm/test/Transforms/Inline/AMDGPU/inline-max-bb-debug.ll
    M llvm/test/Transforms/Inline/dilocation-loop-metadata-update.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/phi-with-incoming-from-load.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/select-from-load.ll
    A llvm/test/Transforms/LCSSA/token-like-live-out.ll
    M llvm/test/Transforms/LICM/AMDGPU/buffer-rsrc-ptrs.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/merge-across-side-effects.ll
    A llvm/test/Transforms/LoadStoreVectorizer/external-state-pointer.ll
    M llvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
    M llvm/test/Transforms/LoopDistribute/diagnostics-with-hotness.ll
    M llvm/test/Transforms/LoopDistribute/diagnostics.ll
    M llvm/test/Transforms/LoopDistribute/disable_nonforced_enable.ll
    M llvm/test/Transforms/LoopDistribute/early-exit.ll
    M llvm/test/Transforms/LoopDistribute/followup.ll
    M llvm/test/Transforms/LoopDistribute/metadata.ll
    M llvm/test/Transforms/LoopLoadElim/pr46854-adress-spaces.ll
    M llvm/test/Transforms/LoopSimplify/preserve-llvm-loop-metadata.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-icmpzero-mixed-ptr-width.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-void-inseltpoison.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/scev-mul-expansion-cost.ll
    M llvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll
    M llvm/test/Transforms/LoopUnroll/RISCV/runtime-unroll-max-trip-count.ll
    M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
    A llvm/test/Transforms/LoopUnroll/prepare-for-lto.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop5.ll
    M llvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
    M llvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
    M llvm/test/Transforms/MemCpyOpt/callslot.ll
    M llvm/test/Transforms/OpenMP/add_attributes_amdgcn.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.ll
    M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
    M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    M llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
    M llvm/test/Transforms/PhaseOrdering/X86/addsub-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/X86/addsub.ll
    M llvm/test/Transforms/PhaseOrdering/varargs.ll
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-fma-fusion.ll
    A llvm/test/Transforms/SLPVectorizer/NVPTX/ordered-reduction-fma-fusion.ll
    A llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-add-part.ll
    A llvm/test/Transforms/SLPVectorizer/X86/minmax-copyables-split-node.ll
    A llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss-ordered.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
    M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
    M llvm/test/Transforms/StructurizeCFG/hoist-zerocost-nested.ll
    M llvm/test/Transforms/StructurizeCFG/rebuild-ssa-infinite-loop-inseltpoison.ll
    M llvm/test/Transforms/StructurizeCFG/rebuild-ssa-infinite-loop.ll
    A llvm/test/Verifier/llvm.loop.distribute.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/amdgpu-scattered-filter.mir.filter.expected
    M llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
    M llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/amdgpu-filter.test
    A llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-deterministic-nested-type.test
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
    M llvm/test/tools/llvm-objdump/Offloading/Inputs/binary.yaml
    M llvm/test/tools/llvm-objdump/Offloading/coff.test
    M llvm/test/tools/llvm-objdump/Offloading/elf.test
    M llvm/test/tools/llvm-readobj/ELF/call-graph-info-warn-malformed.test
    M llvm/test/tools/llvm-readobj/ELF/call-graph-info.test
    M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test
    M llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
    A llvm/tools/llvm-ir2vec/Bindings/python/LICENSE.TXT
    A llvm/tools/llvm-ir2vec/Bindings/python/README.md
    A llvm/tools/llvm-ir2vec/Bindings/python/ir2vec/__init__.py
    A llvm/tools/llvm-ir2vec/Bindings/python/pyproject.toml
    A llvm/tools/llvm-ir2vec/Bindings/python/setup.py
    M llvm/tools/llvm-ir2vec/CMakeLists.txt
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/spirv-tools/CMakeLists.txt
    M llvm/unittests/ADT/ImmutableMapTest.cpp
    M llvm/unittests/ADT/ImmutableSetTest.cpp
    M llvm/unittests/Analysis/LoopInfoTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
    M llvm/unittests/Support/ProgramTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/PredicateExpanderDag.cpp
    A llvm/utils/TableGen/Basic/PredicateExpanderDag.h
    M llvm/utils/TableGen/Basic/RuntimeLibcalls.cpp
    M llvm/utils/TableGen/Basic/RuntimeLibcalls.h
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
    M llvm/utils/UpdateTestChecks/mir.py
    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/utils/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/cfi/BUILD.gn
    A llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_ignorelists/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/asan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
    M llvm/utils/release/bump-version.py
    M mlir/include/mlir/Debug/ExecutionContext.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/lib/Debug/ExecutionContext.cpp
    M mlir/lib/Dialect/EmitC/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/EmitC/Transforms/MLGOAddReflectionMap.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    M mlir/lib/Target/LLVMIR/LoopAnnotationImporter.cpp
    M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
    A mlir/test/Dialect/EmitC/mlgo-add-reflection-map.mlir
    M mlir/test/Dialect/OpenACC/acc-cg-to-gpu-reduction-array.mlir
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-private-foldable-nw.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
    A mlir/test/Target/Cpp/mlgo-add-reflection-map.mlir
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/loop-metadata.mlir
    M mlir/test/mlir-tblgen/constraint-unique.td
    M mlir/unittests/Debug/ExecutionContextTest.cpp
    M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
    M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
    M polly/lib/Analysis/ScopDetection.cpp
    M runtimes/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Merge main into users/mariusz-sikora-at-amd/gfx13/add-builtins-intrinsics-v-cvt-scalef32-pk32-fp6-f32


Compare: https://github.com/llvm/llvm-project/compare/fc6fa9a27419...1ec9c0cf1e00

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