[all-commits] [llvm/llvm-project] d8c398: AMDGPU/GlobalISel: RegBankLegalize rules for mfma_...

Serge Pavlov via All-commits all-commits at lists.llvm.org
Wed Jun 24 23:25:35 PDT 2026


  Branch: refs/heads/users/spavloff/snan
  Home:   https://github.com/llvm/llvm-project
  Commit: d8c3981787a77ec63454baab99e96d2e13e59c34
      https://github.com/llvm/llvm-project/commit/d8c3981787a77ec63454baab99e96d2e13e59c34
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for mfma_scale (#203279)


  Commit: b6f0fb6c242369844acba6a8fd21072a718a75b5
      https://github.com/llvm/llvm-project/commit/b6f0fb6c242369844acba6a8fd21072a718a75b5
  Author: Leonard Grey <leonard at leonardgrey.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/test/API/sanity/TestModuleCacheSanity.py
    M lldb/test/CMakeLists.txt
    M lldb/test/Shell/Settings/TestModuleCacheSanity.test

  Log Message:
  -----------
  [lldb] Remove .noindex suffix from test output directory for non-Darwin (#197237)

.noindex is only needed for macOS Spotlight. Given that some platforms
limit path length, there's a benefit to omitting it except for Darwin.


  Commit: 4cb6eee15daa60cccf9f8f96c9fcf7bfab2888b6
      https://github.com/llvm/llvm-project/commit/4cb6eee15daa60cccf9f8f96c9fcf7bfab2888b6
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
    M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
    M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/ValueIR.py
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp

  Log Message:
  -----------
  [Dexter] Add support for aggregate expects in the debugger (#202545)

Allows aggregate expects to be written in Dexter scripts, in the form:

```
!value expect:
  member1: 0
  member2:
    submember1: 1
    submember2: 2
```

This uses the "variables" feature provided in the DAP interface to
recursively fetch sub-variables from each evaluated variable, and
modifies the DebuggerExpectMatch class to also be recursive, containing
submatches for each expected aggregate member value.

Some key concepts that are affected by this are the "match_result",
which has changed from a bool to a 3-way result ("FALSE", "TRUE",
"PARTIAL"), where "PARTIAL" means that at least one submatch was TRUE
and at least one was FALSE. We also add a `match_distance`, which is
used as a measure of correctness. The match distance ranges from 0.0 to
1.0: a total match has a distance of 0.0, a total mismatch has 1.0, and
a partial match's distance is equal to the average distance of its
immediate children.


  Commit: e747c1c094f544e48b016a5b291bbf001b9bcc36
      https://github.com/llvm/llvm-project/commit/e747c1c094f544e48b016a5b291bbf001b9bcc36
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [bazel][libc] Allow passing additional sources to libc_release_library (#203083)


  Commit: 9c6a5f064611b12fd38f7282c0a3b600eb30950d
      https://github.com/llvm/llvm-project/commit/9c6a5f064611b12fd38f7282c0a3b600eb30950d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
    M flang/test/Fir/CUDA/cuda-device-func-transform.mlir

  Log Message:
  -----------
  [flang][cuda] Set kernel intent(in) as const __restrict__ (#203652) (#203966)


  Commit: 005cf3e9c4d900e044440b5ece225c2467e82200
      https://github.com/llvm/llvm-project/commit/005cf3e9c4d900e044440b5ece225c2467e82200
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    A llvm/test/Transforms/InstCombine/pdep.ll
    A llvm/test/Transforms/InstCombine/pext.ll

  Log Message:
  -----------
  [InstCombine] Add test coverage for llvm.pdep/pext intrinsics (#204179)

Branched from existing x86 bmi test coverage

Prep work for #204144


  Commit: fabfc92bcdc2a1dc1164c3a7661c80ef35de06f7
      https://github.com/llvm/llvm-project/commit/fabfc92bcdc2a1dc1164c3a7661c80ef35de06f7
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M compiler-rt/lib/xray/xray_hexagon.cpp
    M compiler-rt/lib/xray/xray_trampoline_hexagon.S

  Log Message:
  -----------
  [XRay][Hexagon] Make XRay sleds register-transparent (#203117)

A sled is inserted post-register-allocation and is treated by the
compiler as clobbering nothing, but the sled and trampoline together
preserve too little. The sled uses r6/r7 as scratch (trampoline address
and funcid) and the trampoline saves only r0-r5, r31 and p3:0. A
function-exit sled can land in the middle of a loop (a conditional early
return), where loop-carried values occupy r6-r15 and, for a hardware
loop, SA0/LC0. The handler clobbers them, so most instrumented
gcc-c-torture programs compute wrong results and abort().


  Commit: a2f201d7004885224bb45b9acf34c7a621d91b95
      https://github.com/llvm/llvm-project/commit/a2f201d7004885224bb45b9acf34c7a621d91b95
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/assume.ll
    M llvm/test/Transforms/InstCombine/assume-align.ll

  Log Message:
  -----------
  [ValueTracking] Make use of the offset argument in align assume bundles (#203497)


  Commit: a67af225694b888b88eddf39a191295159d69e3a
      https://github.com/llvm/llvm-project/commit/a67af225694b888b88eddf39a191295159d69e3a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
    M llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp

  Log Message:
  -----------
  [llvm-offload-wrapper] Add SYCL wrapping to the standalone tool (#204168)

Summary:
This tool exists so people can generate the registration code in manual
toolchains. But it was never updated to add the SYCL handling. Fix that.


  Commit: 2b266aaaf397977aedef76f2e3caa4773f185d58
      https://github.com/llvm/llvm-project/commit/2b266aaaf397977aedef76f2e3caa4773f185d58
  Author: Yi Zhang <cathyzhyi at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [bazel] fix #199686 (#204184)

fix #199686


  Commit: ffb3458175268cb08a97a4bdcc3ca3181cfeaf57
      https://github.com/llvm/llvm-project/commit/ffb3458175268cb08a97a4bdcc3ca3181cfeaf57
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/getcwd.cpp

  Log Message:
  -----------
  [libc][getcwd] Refactor getcwd to use the syscall wrapper pattern (#204000)

Allows for re-use by other entrypoints. This PR also moves error
handling for unreachable paths in `syscall_wrappers::getcwd` since I
imagine most usages of getcwd would rather error with `ENOENT` than
receive `"(unreachable) /path/to/cwd"`.


  Commit: 9a851497a4a4d05466cd025d2fdd489a1e461deb
      https://github.com/llvm/llvm-project/commit/9a851497a4a4d05466cd025d2fdd489a1e461deb
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M libcxx/include/optional
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp

  Log Message:
  -----------
  [libc++] Strengthen optional value constructor noexcept (#202765)

The standard does not require `optional<T>(U&&)` to be potentially
throwing; it simply does not specify noexcept for the primary
`optional<T>` converting constructor. Standard library implementations
are permitted
[[res.on.exception.handling]/5](https://eel.is/c++draft/res.on.exception.handling#5)
to strengthen exception specifications for non-virtual library
functions, as long as the strengthened specification is correct.

GNU libstdc++ already does this:

https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/optional#L911-L913

https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/optional#L962-L974

The existing libc++ code only added noexcept for the C++26
`optional<T&>` case, guarded by `is_lvalue_reference_v<_Tp>`. It is safe
to remove that gate and use the general condition instead:
```
noexcept(is_nothrow_constructible_v<_Tp, _Up>)
```

For `optional<T&>`, this still becomes the intended
reference-construction check. For ordinary `optional<T>`, it correctly
reflects whether constructing `T` from `U` can throw. The constructor
only forwards into the contained object construction and updates
optional bookkeeping, so if `T` is nothrow-constructible from `U`, the
optional construction is also nothrow.


  Commit: 15a0e321484cdfa94e7d5aab5de9175c3533db04
      https://github.com/llvm/llvm-project/commit/15a0e321484cdfa94e7d5aab5de9175c3533db04
  Author: StoeckOverflow <95052643+StoeckOverflow at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    A clang/test/APINotes/Inputs/Headers/WhereParametersMapElement.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersMethodWhereSequence.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersMissingName.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersParser.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersScalar.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersUnknownWhereKey.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersWhereSequence.apinotes
    A clang/test/APINotes/Inputs/WhereParametersConvertDiag/APINotes.apinotes
    A clang/test/APINotes/Inputs/WhereParametersConvertDiag/WhereParametersConvertDiag.h
    A clang/test/APINotes/where-parameters-convert-diags.cpp
    A clang/test/APINotes/where-parameters-yaml.test

  Log Message:
  -----------
  [APINotes] Parse function-like Where.Parameters (#203227)

Add YAML parser/model support for `Where.Parameters` on function-like
API notes entries. This keeps `Name` as the required entry key and
allows top-level `Functions` and C++ `Tags` / `Methods` to parse and
round-trip an optional ordered list of explicit parameter type
spellings.

Binary API notes serialization, lookup, and overload matching are
intentionally left for follow-up patches. Notes using `Where.Parameters`
are diagnosed during binary conversion for now.


  Commit: f43ddf2acff78a81bf0eda01227cb4709017530e
      https://github.com/llvm/llvm-project/commit/f43ddf2acff78a81bf0eda01227cb4709017530e
  Author: yonghong-song <yhs at fb.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFISelLowering.h
    A llvm/test/CodeGen/BPF/memcpy-align.ll
    M llvm/test/CodeGen/BPF/rodata_1.ll

  Log Message:
  -----------
  [BPF] Consider alignment when selecting memcpy/memmove/memset op type (#204042)

Currently getOptimalMemOpType() forces i64 for size >= 8 and i32
otherwise without considering the operation alignment. In [1], memcpy
and memmove destination and source alignments are passed separately
instead of being collapsed to their minimum. As a result, poor code may
be generated for a copy with a well aligned destination but a poorly
aligned source: a wide store ends up fed by a wide load that the
legalizer has to synthesize from byte loads via a chain of shifts and
ORs.

The target independent getOptimalMemOpType() returns MVT::Other which is
exactly we want as MVT::Other allows target independent to check/set
proper type and alignment.

Newly added memcpy-align.ll uses u8 type for load and stores.
Otherwise a chain of shifts and ORs will happen.

The rodata_1.ll change is only instruction scheduling / register
allocation churn caused by the different but equivalent lowering.

  [1] https://github.com/llvm/llvm-project/pull/201119


  Commit: 68d8d0a34701c29a0943534a13a7e11dffc08129
      https://github.com/llvm/llvm-project/commit/68d8d0a34701c29a0943534a13a7e11dffc08129
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/pdep.ll
    A llvm/test/Instrumentation/MemorySanitizer/pext.ll

  Log Message:
  -----------
  [MemorySanitizer] Add test coverage for llvm.pdep/pext intrinsics (#204175)

Prep work for #204144


  Commit: 4646ad852eccd8d728e9896258eed678112144dd
      https://github.com/llvm/llvm-project/commit/4646ad852eccd8d728e9896258eed678112144dd
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [InstCombine] Avoid computeKnownBits when trying to fold assumes (#203550)

There isn't much value in dropping redundant assumes via
`computeKnownBits`, since SCCP should be able to replace the argument
with a constant in any cases where `computeKnownBits` can do the same.
Instead, InstCombine can simply check whether the argument to an assume
is a constant and fold based on that.


  Commit: eb3e0dbf2ea646d38b3748eaca4e9815c703f44e
      https://github.com/llvm/llvm-project/commit/eb3e0dbf2ea646d38b3748eaca4e9815c703f44e
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
    A llvm/test/Transforms/LoopStrengthReduce/X86/use-outside-loop-crash.ll

  Log Message:
  -----------
  [LSR] Narrow search space by merging users outside and inside loop (#202676)

Loop Strength Reduce can give different (and worse) results for a loop
when it is followed by uses of variables used inside the loop. This is
because the uses outside the loop increase the size of the search space,
which can lead to using NarrowSearchSpaceByPickingWinnerRegs which often
discards the best solution.

Solve this by narrowing the search space by merging uses outside the
loop with uses inside the loop. This ignores the Kind and AccessTy of
the use which can mean that the cost may be inaccurate, but it will give
the same cost as if we had just ignored the uses outside of the loop.

This is a re-commit of #185929 with an additional check that merging the
users doesn't cause an invalid offset to be used.


  Commit: a0be34434154b80acf2b8fb59c9aaba6e9d0e66d
      https://github.com/llvm/llvm-project/commit/a0be34434154b80acf2b8fb59c9aaba6e9d0e66d
  Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/include/flang/Lower/OpenACC.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    A flang/test/Lower/OpenACC/acc-routine-bind-clone-signature.f90
    A flang/test/Lower/OpenACC/acc-routine-bind-devtype-undeclared.f90
    A flang/test/Lower/OpenACC/acc-routine-bind-gate-skip.f90
    A flang/test/Lower/OpenACC/acc-routine-bind-string-undeclared.f90
    A flang/test/Lower/OpenACC/acc-routine-bind-undeclared.f90
    A flang/test/Transforms/external-name-interop-acc-routine-bind.fir

  Log Message:
  -----------
  [flang][acc][lowering] Declare undeclared acc routine bind(name) targets (#203088)

An `!$acc routine ... bind(target)` can name a target with no func.func
in the program unit. Lowering emits an acc.routine op referencing it,
and external-name-interop / nvhpc-acc-bind-routine then reference an
undeclared symbol, tripping the MLIR verifier ("does not reference a
symbol in the current scope").

Materialize a private func.func for each otherwise-undeclared bind
target after primary translation, gated on the decorated procedure
having been lowered (so the declared set matches the acc.routine bind
references actually emitted). bind(symbol) targets reuse
getOrDeclareFunction (mangled, honoring BIND(C)); bind("string") targets
use the new getOrDeclareNamedFunction (verbatim asm name, left untouched
by external-name-interop).


  Commit: 73c925d4cdc1baa9afaf8aee197225b95876fdd0
      https://github.com/llvm/llvm-project/commit/73c925d4cdc1baa9afaf8aee197225b95876fdd0
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/indirectbr.ll

  Log Message:
  -----------
  [LoopInterchange] Reject if outer loop header PHI has more than two incoming values (#204120)

Previously, there were cases where PHIs in the outer loop header did not
have exactly two incoming values, which caused an assertion failure.
Such PHIs are legal and can appear, so the assertion was incorrect.
This patch removes the assertion. As the assertion was in the legality
check phase, this patch adds logic that merely rejects such cases
instead of the assertion.

Fixes #204065.


  Commit: f945995c1e0eac91af75e40faeef13e73e1785ec
      https://github.com/llvm/llvm-project/commit/f945995c1e0eac91af75e40faeef13e73e1785ec
  Author: Kelvin Li <kli at ca.ibm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/large-data-threshold.f90
    M flang/test/Driver/offload-device.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Driver/supported-suffices/f03-suffix.f03
    M flang/test/Driver/supported-suffices/f08-suffix.f08
    M flang/test/Driver/version-loops.f90

  Log Message:
  -----------
  [flang] Do not hardcode "flang" in the driver (#200438)

Currently, the driver program hardcodes "flang" as the frontend to
invoke. This patch is to make the driver invoke the frontend that has
the same name as the driver program.


  Commit: 28ab3c5a33310814c96918cb25006092fee4b24b
      https://github.com/llvm/llvm-project/commit/28ab3c5a33310814c96918cb25006092fee4b24b
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
    M llvm/test/tools/dxil-dis/dbg-value-arglist.ll

  Log Message:
  -----------
  [DirectX] Replace unrepresentable debug info with i1 undef (#203545)

The i1 is arbitrary: we do not know the correct type to use and have no
way of representing an untyped undef.


  Commit: 504433cfcc812a21bbc60b07bd58bbbe68b7e6f4
      https://github.com/llvm/llvm-project/commit/504433cfcc812a21bbc60b07bd58bbbe68b7e6f4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/BundleAttributes.h
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/lib/IR/BundleAttributes.cpp
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
    M llvm/test/Bitcode/operand-bundles-bc-analyzer.ll

  Log Message:
  -----------
  [LLVMContext] Add IDs for assume bundles (#204129)


  Commit: a084633edf331f75412f966bc46cc1b35462c519
      https://github.com/llvm/llvm-project/commit/a084633edf331f75412f966bc46cc1b35462c519
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  [clang][ssaf] Track target triple in TU and LU summaries. (#204027)

This commit introduces the following changes:

- Add `TargetTriple` field to `TUSummary`, `LUSummary`, and their encodings.
- Frontend captures the triple from `CompilerInstance::getTarget()` when extracting a TU summary.
- JSON format reads/writes a `target_triple` field at the root of each summary; reader rejects strings not in `llvm::Triple::normalize` form.
- All TU/LU JSON test inputs/outputs and unit tests updated to include the new field.

`clang-ssaf-linker` uses a hardcoded triple for the link unit; surfacing the triple through the tool will be handled in a follow-up PR.

rdar://179403011


  Commit: f6a1251366ec0cfd21ea7c3e1c3fad66ae42eea9
      https://github.com/llvm/llvm-project/commit/f6a1251366ec0cfd21ea7c3e1c3fad66ae42eea9
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/cbrtf16.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math][c23] Switch `static_cast` to `fputil::cast` in `cbrtf16` (#204189)

This avoids some failures w/ the compilers runtime


  Commit: 170adec4e46d45e6bd688c89bfef6f847a2b8e25
      https://github.com/llvm/llvm-project/commit/170adec4e46d45e6bd688c89bfef6f847a2b8e25
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/docs/PDB/index.rst

  Log Message:
  -----------
  [docs][pdb] Link to the pdb-rs docs (#204172)

They cover many topics which are not in the LLVM docs (yet).


  Commit: 036ef9736e2be6732c63853d1fb00ca0544eba96
      https://github.com/llvm/llvm-project/commit/036ef9736e2be6732c63853d1fb00ca0544eba96
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-align.ll
    A llvm/test/Transforms/InstCombine/assume-i128.ll
    A llvm/test/Transforms/InstCombine/assume-i32.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll

  Log Message:
  -----------
  [InstCombine] Move alignment assumptions to the base of a gep if alignment is preserved (#203032)


  Commit: 8a3cc8403eea576106676af1065df32ac2984def
      https://github.com/llvm/llvm-project/commit/8a3cc8403eea576106676af1065df32ac2984def
  Author: Kai <47328809+kcloudy0717 at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/QuadReadAcrossDiagonal.hlsl
    A clang/test/SemaHLSL/BuiltIns/QuadReadAcrossDiagonal-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/QuadReadAcrossDiagonal.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/QuadReadAcrossDiagonal.ll

  Log Message:
  -----------
  [HLSL][DXIL][SPIRV] QuadReadAcrossDiagonal intrinsic support (#188567)

This PR adds QuadReadAcrossDiagonal intrinsic support in HLSL with
codegen for both DirectX and SPIRV backends. Resolves
https://github.com/llvm/llvm-project/issues/99177.

- [x]  Implement `QuadReadAcrossDiagonal` clang builtin
- [x] Link `QuadReadAcrossDiagonal` clang builtin with
`hlsl_intrinsics.h`
- [x] Add sema checks for `QuadReadAcrossDiagonal` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `QuadReadAcrossDiagonal` to `EmitHLSLBuiltinExpr`
in `CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/QuadReadAcrossDiagonal.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/QuadReadAcrossDiagonal-errors.hlsl`
- [x] Create the `int_dx_QuadReadAcrossDiagonal` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_QuadReadAcrossDiagonal` to
`123` in `DXIL.td`
- [x] Create the `QuadReadAcrossDiagonal.ll` and
`QuadReadAcrossDiagonal_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_QuadReadAcrossDiagonal` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the
`QuadReadAcrossDiagonal` lowering and map it to
`int_spv_QuadReadAcrossDiagonal` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/QuadReadAcrossDiagonal.ll`

---------

Co-authored-by: Justin Bogner <mail at justinbogner.com>


  Commit: 269e5f82064938b73be02db0a4da96dded5e41f0
      https://github.com/llvm/llvm-project/commit/269e5f82064938b73be02db0a4da96dded5e41f0
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes a084633 (#204202)

This fixes a084633edf331f75412f966bc46cc1b35462c519.

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


  Commit: aa7b619ec4e1acf589456ddc6ee4784d4842f4ad
      https://github.com/llvm/llvm-project/commit/aa7b619ec4e1acf589456ddc6ee4784d4842f4ad
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [VPlan] Check operand types of more VPInstruction on construction (NFC). (#203777)

Follow-up to earlier PRs, tighten VPInstruction operand type checks at
construction: restrict operand types for various opcodes, and support
missing opcodes.

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


  Commit: cc059a3c7575ccf4a7d52cedbdaa905a8c0cf583
      https://github.com/llvm/llvm-project/commit/cc059a3c7575ccf4a7d52cedbdaa905a8c0cf583
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/f16c-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_shadow.ll

  Log Message:
  -----------
  [msan] Apply handleGenericVectorConvertIntrinsic() to fptrunc/fpext (#204197)

The current instrumentation uses handleShadowOr(), which effectively
truncates or zero-extends the shadows for fptrunc/fpext respectively;
this is overly lax because floating-point has both mantissa and exponent
components (e.g., if the mantissa is initialized but the exponent is
uninitialized, an fptrunc might end up with a fully initialized shadow,
which is incorrect; conversely, if a floating-point value is fully
uninitialized, we want the fpext'ed shadow to be fully uninitialized,
not zero-extended). This patch strengthens the instrumentation of
fptrunc/fpext by using handleGenericVectorConvertIntrinsic(), which
applies an "all-or-nothing" approach to uninitialized bits of each
scalar.

Note: https://github.com/llvm/llvm-project/pull/203903 auto-upgraded
aarch64_neon_vcvtfp2hf and aarch64_neon_vcvthf2fp to fptrunc and fpext,
which had the effect of weakening MSan's instrumentation for those NEON
intrinsics. This patch restores the stronger instrumentation for them
(and also generalizes it to all instances of fptrunc and fpext).


  Commit: 51f9997cb4f07cc378acb71e234fa981dc42b39f
      https://github.com/llvm/llvm-project/commit/51f9997cb4f07cc378acb71e234fa981dc42b39f
  Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
    M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir

  Log Message:
  -----------
  [MLIR][SCF] Support permutation-based parallel loop fusion (#203207)

Improve SCF parallel-loop fusion for loops with permuted iteration
spaces.

  Allow fusion after rewriting the second loop using an arbitrary
  permutation of its iteration space. When multiple axes have identical
  bounds and steps, also enumerate additional candidate remaps for those
  equal axes.


  Commit: f0c6b34b1305dab8f814ccf2120b9faf7be19c92
      https://github.com/llvm/llvm-project/commit/f0c6b34b1305dab8f814ccf2120b9faf7be19c92
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [SLP][NFC] Fix compile-time hang in isMaskedLoadCompress

For a large gathered-load cluster LoadVecTy spans hundreds of vector
registers and the shuffle cost query blows up in processShuffleMasks.
The shuffle cost is non-negative, so bail out before computing it when
VectorGEPCost + LoadCost already reaches GatherCost (not profitable).

Fixes #204163

Reviewers: 

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


  Commit: cd8fe2a3ac72968d146d649be4a54fb58f900730
      https://github.com/llvm/llvm-project/commit/cd8fe2a3ac72968d146d649be4a54fb58f900730
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  Revert "[clang][ssaf] Track target triple in TU and LU summaries. (#204027)" (#204207)

This reverts commit a084633edf331f75412f966bc46cc1b35462c519.


  Commit: b8d2524025f38b052e75f82c222d5984f228e23e
      https://github.com/llvm/llvm-project/commit/b8d2524025f38b052e75f82c222d5984f228e23e
  Author: shubhamnarlawar <68635493+shubhamnarlawar at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
    M mlir/test/Dialect/Arith/int-range-narrowing.mlir

  Log Message:
  -----------
  [mlir][arith] Fix crash in ConstantOp range inference for zero-element constants (#204180)

arith::ConstantOp::inferResultRanges computes the union of element
ranges by iterating a DenseIntElementsAttr. For a zero-element constant
(e.g. ) the loop body never runs,
leaving the std::optional result unset.

-> This fixes #202531


  Commit: 1db458e73e781e49a75b659ba8bb1203427e0d21
      https://github.com/llvm/llvm-project/commit/1db458e73e781e49a75b659ba8bb1203427e0d21
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py

  Log Message:
  -----------
  [lldb] Fix TestLldbGdbServer.py on arm64e (#203995)


  Commit: 881eac3216f5e030860fb0b87dcb5dc0ff08238d
      https://github.com/llvm/llvm-project/commit/881eac3216f5e030860fb0b87dcb5dc0ff08238d
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-server/main.cpp

  Log Message:
  -----------
  [lldb] Strip code pointers in lldb-server test binary on arm64e (#203988)

Otherwise an unstripped pointer will be sent to debugserver. LLDB strips
pointers before sending them to debugserver, so debugserver does not
know how to handle it.

This fixes TestGdbRemoteSingleStep.py, TestGdbRemote_qMemoryRegion.py,
and TestGdbRemote_vCont.py on arm64e.


  Commit: a85441c04b789e2da32424cd8e50226cf626d7e3
      https://github.com/llvm/llvm-project/commit/a85441c04b789e2da32424cd8e50226cf626d7e3
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/unittests/Protocol/CMakeLists.txt
    A lldb/unittests/Protocol/MCPErrorTest.cpp
    A lldb/unittests/Protocol/MCPPluginTest.cpp
    A lldb/unittests/Protocol/MCPServerInfoTest.cpp
    A lldb/unittests/Protocol/MCPTransportTest.cpp
    M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
    M lldb/unittests/Protocol/ProtocolMCPTest.cpp
    M lldb/unittests/TestingSupport/Host/JSONTransportTestUtilities.h

  Log Message:
  -----------
  [lldb] Add unit tests for the MCP server (#202752)

Add unit-test coverage for the MCP protocol types and server under
source/Protocol/MCP and the MCP plugin under
source/Plugins/Protocol/MCP.

The Server handlers run over the in-memory TestTransport, which gains
SimulateError/SimulateClosed/SetRegisterMessageHandlerShouldFail helpers
to drive the handler lifecycle without a real socket.

Code that touches the filesystem or otherwise requires mucking with the
test environment are deliberately left uncovered until those layers can
be mocked.

Assisted-by: Claude


  Commit: c9b2cfc64e6759f3329ce60fd18cdd51639acf61
      https://github.com/llvm/llvm-project/commit/c9b2cfc64e6759f3329ce60fd18cdd51639acf61
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Semantics/check-do-forall.cpp
    M flang/lib/Semantics/check-do-forall.h
    M flang/lib/Support/Fortran-features.cpp
    A flang/test/Semantics/io-implied-do01.f90

  Log Message:
  -----------
  [flang][Semantics] Warn on repeated do-variable in nested I/O implied DO (#198757)

Fixes #198528

Add a warning when an io-implied-do's do-variable appears as, or is
associated with, the do-variable of a containing io-implied-do. This
diagnoses violations of Fortran 2023 12.6.3p7:
>The do-variable of an io-implied-do that is in another io-implied-do
shall not appear as, nor be associated with, the do-variable of the
containing io-implied-do.

Since this is not a constraint, a warning is emitted rather than an
error. As suggested in the associated issue, the warning is on by
default and can be suppressed with `-Wno-io-implied-do-index-conflict`.

The check detects:

- Direct name reuse (same symbol in inner and outer implied DO)
- Association via EQUIVALENCE
- Association via USE-renaming
- Association via ASSOCIATE construct

A lit test (Semantics/io-implied-do01.f90) is added covering all of the
above cases, plus valid cases (sibling implied-DOs, single implied-DO)
that should not trigger the warning.

Example:
```
write(*,*) ((matrix(i,j), j=1,10), j=1,10)
! warning: I/O implied DO index 'j' appears in an enclosing I/O implied DO loop
!          and should not have the same name [-Wio-implied-do-index-conflict]
```

Assisted by: Claude


  Commit: 5ef3d70d1137b5990ec4f07db59dbd3582d0a586
      https://github.com/llvm/llvm-project/commit/5ef3d70d1137b5990ec4f07db59dbd3582d0a586
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCDXContainerWriter.h
    M llvm/lib/MC/MCDXContainerWriter.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    A llvm/lib/Target/DirectX/DXContainerPDB.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/DebugName-default-output.test
    A llvm/test/CodeGen/DirectX/ContainerData/DebugName-user-directory.test
    A llvm/test/CodeGen/DirectX/ContainerData/Inputs/check_pdb_exists.py
    A llvm/test/CodeGen/DirectX/ContainerData/PDBParts.ll
    A llvm/test/CodeGen/DirectX/ContainerData/PDBParts.test
    M llvm/test/CodeGen/DirectX/embed-ildb.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Generate PDB file with debug info (#202762)

This change adds DXContainerPDB pass for DirectX pipeline.
The pass creates PDB file containing sections with shader debug
information. PDB files comply with the format used by existing DirectX
debugging tools.

---------

Co-authored-by: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>


  Commit: 7e5bc4c7bd23e390cdb0b08f807968ea256b0df2
      https://github.com/llvm/llvm-project/commit/7e5bc4c7bd23e390cdb0b08f807968ea256b0df2
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll

  Log Message:
  -----------
  [IRTranslator] Precommit tests for bitcasts of the byte type (#203638)

The purpose of this commit is to reflect differences due to PR #203335.


  Commit: eb63d313c659ded3bd3106eac71a38c4c50bd3fc
      https://github.com/llvm/llvm-project/commit/eb63d313c659ded3bd3106eac71a38c4c50bd3fc
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/f16c-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_shadow.ll

  Log Message:
  -----------
  Revert "[msan] Apply handleGenericVectorConvertIntrinsic() to fptrunc/fpext" (#204221)

Reverts llvm/llvm-project#204197 due to buildbot failure
(https://lab.llvm.org/buildbot/#/builders/51/builds/38557)


  Commit: 52027ede48d697819598a33763e8b273b023e09f
      https://github.com/llvm/llvm-project/commit/52027ede48d697819598a33763e8b273b023e09f
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
    M flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90

  Log Message:
  -----------
  [OpenACC] Add emit-independent-loops-as-unstructured flag (#204080)


  Commit: 30f73c9cf7a6bd93cdf176912466f6e546f10435
      https://github.com/llvm/llvm-project/commit/30f73c9cf7a6bd93cdf176912466f6e546f10435
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M compiler-rt/lib/xray/xray_hexagon.cpp

  Log Message:
  -----------
  [XRay][Hexagon] Fix immext encoding of high bits in sled patcher (#203129)

encodeConstantExtender() places the high 12 bits of the 26-bit extension
at the wrong offset (<<16 instead of <<2), dropping them for any
constant above ~2^20. The runtime sled patcher then encodes a corrupted
trampoline address for PIE executables (load base 0x08000000+), so the
first patched function call jumps to a bogus address and crashes.


  Commit: c7fbd7e709530a00d42dfb168333139149a0aa98
      https://github.com/llvm/llvm-project/commit/c7fbd7e709530a00d42dfb168333139149a0aa98
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M compiler-rt/lib/xray/xray_trampoline_hexagon.S

  Log Message:
  -----------
  [XRay][Hexagon] Use PC-rel addressing for runtime globals in trampoline (#203122)

The trampolines load the runtime handler globals
(__xray::XRayPatchedFunction and friends) with absolute
constant-extended immediates, which cannot be used in a PIC/PIE link, so
linking a default-PIE executable against the xray runtime fails -- and
-fPIC on user code does not help, the bad relocations are inside the
runtime archive:

  ld.lld: error: relocation R_HEX_32_6_X cannot be used against symbol
  '__xray::XRayPatchedFunction'; recompile with -fPIC


  Commit: a0e45883e8bd17e3d2f22d0550201a12a5769658
      https://github.com/llvm/llvm-project/commit/a0e45883e8bd17e3d2f22d0550201a12a5769658
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td

  Log Message:
  -----------
  [RISC-V] Rename GPRMem operand to BasePtr. NFC

This is in preparation for https://github.com/llvm/llvm-project/pull/177073
where these operands can refer to either a GPR or YGPR depending on the
current HwMode. Since this is the base pointer operand of the load/store
instruction, BasePtr was chosen as the name.

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


  Commit: 39bec9c394be6e41d6ff6ddfe41bf13966b7df0c
      https://github.com/llvm/llvm-project/commit/39bec9c394be6e41d6ff6ddfe41bf13966b7df0c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [RISCV] Rename VPseudoTernaryMaskPolicy->VPseudoReductionMaskPolicy. NFC (#204053)

This makes it clearer why this class doesn't set UsesMaskPolicy and can
prevent accidental misuse in the future.


  Commit: a0e2743191b545e0c179cd2cf38168fbf7291256
      https://github.com/llvm/llvm-project/commit/a0e2743191b545e0c179cd2cf38168fbf7291256
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 639556c9f690 (#204227)


  Commit: a23bf51952f375bcdedcca326619a040ec3c4897
      https://github.com/llvm/llvm-project/commit/a23bf51952f375bcdedcca326619a040ec3c4897
  Author: Chengjun <chengjunp at Nvidia.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    A llvm/test/Transforms/SROA/vector-promotion-rmw-cannot-tree-merge.ll
    A llvm/test/Transforms/SROA/vector-promotion-rmw-tree-merge.ll

  Log Message:
  -----------
  [SROA] Extend tree-structured merge to handle init + RMW pattern (#194441)

## Problem

When SROA rewrites an alloca used as a read-modify-write accumulator, it
emits a linear chain of `shufflevector + select` per partial store.
`InstCombine`'s `SimplifyDemandedVectorElts` walks this chain
recursively per element, scaling quadratically with chain length — in
practice tens of seconds of compile time on some matmul kernels.

## Example

Take an `<8 x float>` alloca initialized once and then updated in 4
chunks of 2 elements each:

```llvm
%alloca = alloca <8 x float>
store <8 x float> %init, ptr %alloca                       ; full init

;; chunk 0
%v0 = load  <2 x float>, ptr %alloca+0                     ; elts 0-1
%r0 = fadd  <2 x float> %v0, %a
store <2 x float> %r0,   ptr %alloca+0

;; chunk 1
%v1 = load  <2 x float>, ptr %alloca+8                     ; elts 2-3
%r1 = fadd  <2 x float> %v1, %b
store <2 x float> %r1,   ptr %alloca+8

;; chunks 2, 3 similarly ...

%result = load  <8 x float>, ptr %alloca
```

### Before this MR — linear chain

Each partial store becomes an `expand`+`select` pair that overlays its
slice onto the accumulator. The accumulator's def is rewritten N times
in sequence:

```
init ── blend₀ ── blend₁ ── blend₂ ── blend₃ ── result
          │         │         │         │
         r₀'       r₁'       r₂'       r₃'
```

Depth through the chain: O(N) in the number of chunks. `InstCombine`
recurses element-by-element through this chain, which is where the
quadratic time comes from.

### After this MR — tree of shufflevectors

Each partial load is replaced by the value most recently stored at that
slice. Partial stores update the tracked value for their slice and are
then dropped. At the end, the final per-slice values are tree-merged
into a single store:

```
     r₀'   r₁'           r₂'   r₃'
       \   /               \   /
       concat₀             concat₁
            \               /
             \             /
              \           /
               \         /
                concat
                  │
                result
```

- Partial loads → replaced with the current value at that slice.
- Partial stores → dropped; they only update the tracked value at their
slice.
- Final full load → loads the tree's root from the alloca; later
promotion forwards the merged store to it.

Depth: O(log N).

## Change

`rewriteTreeStructuredMerge` already handled "partial stores tile the
alloca + one full-width load" with a shufflevector tree. This MR adds a
second pattern in the same function:

**Init + RMW** — one full-width init store, followed by any number of
partial loads and partial stores, optionally followed by a single
full-width final load, where:

- the distinct `[begin, end)` ranges touched by the partial loads and
stores, taken together, tile the alloca disjointly,
- the init store and all partial accesses live in the same basic block
(the optional full-width final load may live in a different block),
- the init store comes before every partial access, and the full-width
final load (when present in the same block) comes after every partial
access.

## Transform

The rewrite tracks, for each `[begin, end)` range in the partition, the
value the alloca currently holds at that range (`SliceValues[r]`):

- **Init**: each `SliceValues[r]` is initialized to a `shufflevector`
picking the range's elements out of the init store's value. The init
store itself is dropped.
- **Walk** partial loads and stores in block order:
- **Partial load** at range `r`: RAUW with `SliceValues[r]`. The load is
dropped.
- **Partial store** at range `r`: update `SliceValues[r]` to the stored
value. The store is dropped.
- **Finalize**: tree-merge the final `SliceValues` into a single store
to the alloca. The optional full-width final load is replaced by a load
of the alloca (forwarded by promotion later).

Anything that doesn't match either pattern falls through to the existing
expand+blend rewrite.

## AI disclosure

Parts of the implementation, and test cases were assisted by Claude Code
Opus @claude. All code has been reviewed and tested by me.

---------

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


  Commit: b87fe380d7cdb9b3662a2c2c4e10b8a1a3ce0404
      https://github.com/llvm/llvm-project/commit/b87fe380d7cdb9b3662a2c2c4e10b8a1a3ce0404
  Author: dGinten <david.ginten at rwth-aachen.de>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    A mlir/docs/Tutorials/ExternalTutorials.md

  Log Message:
  -----------
  [mlir][docs] Add page for third-party tutorials (#188080)

Add a new page to the MLIR documentation that links to the
upstream Lighthouse project as well as additional third-party tutorials.
The goal is to make it easier for newcomers to discover MLIR learning
resources beyond the Toy tutorial.

The underlying discussion/RFC can be found
[here](https://discourse.llvm.org/t/rfc-tutorial-a-beginner-friendly-end-to-end-mlir-compiler-pipeline/89788).


  Commit: 5dce5405e75c5243e1163f919774340f12020bf0
      https://github.com/llvm/llvm-project/commit/5dce5405e75c5243e1163f919774340f12020bf0
  Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/docs/OpenACC-extensions.md
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
    A flang/test/Lower/OpenACC/do-concurrent-collapse.f90
    A flang/test/Semantics/OpenACC/acc-collapse-do-concurrent.f90

  Log Message:
  -----------
  [flang][OpenACC] Support COLLAPSE on DO CONCURRENT (#203085)

Lower a COLLAPSE clause on a DO CONCURRENT when the collapse value
equals the number of concurrent controls, matching the equivalent
nested-DO collapse form, and route the loop body into the collapsed
acc.loop. Emit specific not-yet-implemented diagnostics for the
collapse-less-than and collapse-greater-than control-count cases, and a
-Wportability warning for this non-standard extension.

Collapse of mismatched control cases will require a little more invasive
change, so I will submit that as a follow up PR if it is okay, if
desired I could fix the lowering for those two cases now.


  Commit: a07f90ba94938e61f81612bb00b568cb4503f3d4
      https://github.com/llvm/llvm-project/commit/a07f90ba94938e61f81612bb00b568cb4503f3d4
  Author: Bryson Miller <bryson at efficient.computer>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py
    A llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/name-collision/a/test.py
    A llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/name-collision/b/test.py
    M llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/per-test-coverage-by-lit-cfg.py
    M llvm/utils/lit/tests/Inputs/per-test-coverage/per-test-coverage.py
    M llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
    M llvm/utils/lit/tests/per-test-coverage.py

  Log Message:
  -----------
  [lit] Avoid profraw filename collisions with --per-test-coverage (#203998)

Per-test-coverage derived the `LLVM_PROFILE_FILE` name from the test's
basename with its extension removed, so siblings that share a basename
but differ by directory or extension (e.g. foo.c and foo.cpp in one
directory) wrote into the same profraw file and raced on it.

This PR builds the name from the full path in the suite and adds the
`%p` and `%m` placeholders so a test that runs several instrumented
binaries gets a distinct file per process and per binary, even across
exec chains or recycled process ids.


  Commit: e4211480b6a2647b8e3010b9669d4844542f65f3
      https://github.com/llvm/llvm-project/commit/e4211480b6a2647b8e3010b9669d4844542f65f3
  Author: Brendon Cahoon <Brendon.Cahoon at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/div.ll
    M llvm/test/Analysis/CostModel/AMDGPU/extractelement.ll
    M llvm/test/Analysis/CostModel/AMDGPU/insertelement.ll
    M llvm/test/Analysis/CostModel/AMDGPU/rem.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/vectorize-i8.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-chain-to-shuffles.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/no-scalarize-vector-extract.ll

  Log Message:
  -----------
  [AMDGPU] Refine i8 extractelement cost model (#203932)

Expand the cases when i8 extract elements are free. The extract elements
should be free when they are part of a sequence that extract multiple
consecutive elements the size of a register. This change enables the
SLPVectorizer to keep extract elements over more costly shufflevectors.

This PR also undoes a previous change that made insert element free, but
those require sequences of shift/or instructions so shouldn't be free.


  Commit: 50e13e9d807d32980a909aca442b928e597876ff
      https://github.com/llvm/llvm-project/commit/50e13e9d807d32980a909aca442b928e597876ff
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-global-addr.mlir

  Log Message:
  -----------
  [flang][cuda] Avoid runtime copies for scalar constant host reads (#204193)

Fix CUDA Fortran lowering for host reads from scalar module variables
with the `constant` attribute.

Host code can read and write CUDA constants, while kernels read the
device constant symbol. Flang keeps a host-visible value for scalar
constant host accesses and uses a device symbol for kernels.

After preserving the host declaration, scalar read-backs such as `x = c`
could still be lowered as device-to-host runtime copies, passing a host
pointer as the CUDA source. This change lowers those read-backs as
regular host load/store operations, while keeping the runtime update for
host-to-device assignments.


  Commit: b2cb99971fb498a7ff458b3a1a4a4edf3c3bafd3
      https://github.com/llvm/llvm-project/commit/b2cb99971fb498a7ff458b3a1a4a4edf3c3bafd3
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Use the unmap function on MemMap object. (#204001)

The current call does a unmap(MemMap), but the rest of the code is doing
MemMap.unmap(XXX), so follow that pattern.


  Commit: 2916c779f63b6391669cd87421aca000e1418247
      https://github.com/llvm/llvm-project/commit/2916c779f63b6391669cd87421aca000e1418247
  Author: Devon Loehr <DKLoehr at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    M clang/unittests/Basic/DiagnosticTest.cpp
    M llvm/lib/Support/SpecialCaseList.cpp
    M llvm/unittests/Support/SpecialCaseListTest.cpp

  Log Message:
  -----------
  Make sanitizer special case list slash-agnostic (#149886)

This changes the glob matcher for the sanitizer special case format so
that it treats `/` as matching both forward and back slashes.

When dealing with cross-compiles or build systems that don't normalize
slashes, it's possible to run into file paths with inconsistent
slashiness, e.g. `../..\v8/include\v8-internal.h` when [building
chromium](https://g-issues.chromium.org/issues/425364464).

We can match this using the current syntax using this ugly kludge:
`src:*{/,\\}v8{/,\\}*`. However, since the format is explicitly for
listing file paths, it makes sense to treat `/` as denoting a path
separator rather than a literal forward slash. This allows us to write
the much more natural form `src:*/v8/*` and have it work on any
platform.

This is technically a behavior change, but it seems very unlikely to
come up in practice. It will only make a difference if a user has a
system where they want to catch `a/b` but not `a\b`. Even in the worst
case, they can still regain the previous behavior by escaping the slash
character in their pattern: `src:a\/b`.

Note: this is not default behavior yet. To activate use `#!special-case-list-v4` in
the first line of the special case list file.

---------

Co-authored-by: Vitaly Buka <vitalybuka at google.com>


  Commit: 9434d4ab865319c443826c2eb408329d0011dc71
      https://github.com/llvm/llvm-project/commit/9434d4ab865319c443826c2eb408329d0011dc71
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf] Track target triple in TU and LU summaries" (#204218)

This commit introduces the following changes:
  
- Add `TargetTriple` field to `TUSummary`, `LUSummary`, and their encodings.
- Frontend captures the triple from `CompilerInstance::getTarget()` when extracting a TU summary.
- JSON format reads/writes a `target_triple` field at the root of each summary; reader rejects strings not in `llvm::Triple::normalize` form.
- All TU/LU JSON test inputs/outputs and unit tests updated to include the new field.
- `TargetParser` is added to `LLVM_LINK_COMPONENTS` for `clangScalableStaticAnalysisFrameworkCore`, which provides `Triple::normalize` and `Triple(string&&)` constructor that the `JSONFormat` sources reference.

`clang-ssaf-linker` uses a hardcoded triple for the link unit; surfacing the triple through the tool will be handled in a follow-up PR.

rdar://179403011


  Commit: 930a46d2379914172f9e9e5e108510aa43fb7934
      https://github.com/llvm/llvm-project/commit/930a46d2379914172f9e9e5e108510aa43fb7934
  Author: Dakkshesh <64984008+beakthoven at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    A clang/include/clang/Basic/BuiltinsAVR.def
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/lib/CodeGen/TargetBuiltins/AVR.cpp
    M clang/test/CodeGen/avr/avr-builtins.c
    A clang/test/Preprocessor/avr-builtins.c

  Log Message:
  -----------
  [clang][AVR] Add basic AVR builtin functions (#203214)

Adds support for AVR specific builtin functions as defined in:
https://gcc.gnu.org/onlinedocs/gcc/AVR-Built-in-Functions.html

The simpler builtins have been implemented: nop, sei, cli, sleep, wdr,
swap. And they are lowered to their llvm.avr.* intrinsics.

---------

Signed-off-by: Dakkshesh <beakthoven at gmail.com>


  Commit: 2dfdd094d084e258934cc1e89be8a09fb59cdfa1
      https://github.com/llvm/llvm-project/commit/2dfdd094d084e258934cc1e89be8a09fb59cdfa1
  Author: Rashmi Mudduluru <r_mudduluru at apple.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    A clang/test/Analysis/malloc-sizeof-fp.cpp

  Log Message:
  -----------
  [clang][StaticAnalyzer] Reduce MallocSizeofChecker false positives for layout-compatible types (#200253)

When one operand is a record type and the other is a non-record type,
treat them as compatible if they share the same size and the record's
alignment satisfies the scalar's alignment. This suppresses warnings for
patterns like `malloc(sizeof(std::atomic<int32_t>))` assigned to an
`int32_t *` (or a wrapper struct with an identical layout), while still
flagging genuinely mismatched types such as `long` vs `double` or
unrelated struct pairs.

rdar://177553628

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 77fe8dc5c970fb46092c3abed59e2fb66529ec4a
      https://github.com/llvm/llvm-project/commit/77fe8dc5c970fb46092c3abed59e2fb66529ec4a
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/resolve130.f90
    A flang/test/Semantics/resolve131.f90

  Log Message:
  -----------
  [flang][semantics] Allow forward-typed PARAMETER constants under IMPLICIT NONE (#203398)

Under IMPLICIT NONE, flang rejected a named constant defined by a
PARAMETER statement whose explicit type declaration appears later in the
same specification part:

    implicit none
    parameter(n=4096)
    integer n          ! error: No explicit type declared for 'n'
    end

Accept it as an extension, reusing the existing ForwardRefImplicitNone
language feature that already permits forward references to dummy
arguments and COMMON variables under IMPLICIT NONE(TYPE). The behavior
is accepted silently by default and emits a portability warning under
-pedantic.

Assisted-by: AI


  Commit: 3a7f3fd87aadf4d27a5faebd1231a1188e45a2c0
      https://github.com/llvm/llvm-project/commit/3a7f3fd87aadf4d27a5faebd1231a1188e45a2c0
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll

  Log Message:
  -----------
  [SLP] Add test demonstrating bug in widened strided store logic (#204012)

See #204011


  Commit: dcd41b43f0613057591ae2ba63679c65e18145bf
      https://github.com/llvm/llvm-project/commit/dcd41b43f0613057591ae2ba63679c65e18145bf
  Author: jofrn <jo7frn1 at gmail.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/test/CodeGen/X86/atomic-load-store.ll

  Log Message:
  -----------
  [X86] Extend alignedstore PatFrag to cover atomic_store (#197861)

Smaller FP vectors (`<N x half>`, `<N x bfloat>`) are left to the DAG
widen path on subtargets without native FP16/BF16 support; the
v8f16/v8bf16 bitconvert variants added to the Atomic Store Split
commit's patterns let the
widened path collapse to a single instruction on AVX+ targets.

Store-side counterpart to #148899 (and now
https://github.com/llvm/llvm-project/pull/199520). Stacked on top of
https://github.com/llvm/llvm-project/pull/201980; and below of
https://github.com/llvm/llvm-project/pull/201566.


  Commit: 1b4d46370a1a56be51c2067e7978863b1a992c1f
      https://github.com/llvm/llvm-project/commit/1b4d46370a1a56be51c2067e7978863b1a992c1f
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/test/ExecutionEngine/MCJIT/frem.ll
    M llvm/tools/lli/CMakeLists.txt

  Log Message:
  -----------
  [MCJIT] Fix frem.ll test failure with LLVM_ENABLE_RPMALLOC on Windows (#200319)

When compiled with `LLVM_ENABLE_RPMALLOC`, `lli.exe` links statically to
the runtime. With `LLVM_EXPORT_SYMBOLS_FOR_PLUGINS` enabled, `lli.exe`
exports a subset of symbols from the runtime library, but not all. In
particular, `printf()` is exported from the application binary, but
`fflush()` and `exit()` are not. For a JITted module, unresolved
external symbols are loaded either from the application or dynamic
libraries, in this case, from `msvcrt.dll`. The `MCJIT/frem.ll` test
attempts to flush the output, but because the functions resolve to
different CRT instances, the output data is lost.

The patch avoids the test failure by disabling exporting symbols from
`lli.exe` when it is linked with the static runtime library.


  Commit: 698648fb72e6973a62bf1004287dedd94fd01807
      https://github.com/llvm/llvm-project/commit/698648fb72e6973a62bf1004287dedd94fd01807
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [SandboxVec][DAG] Implement UnscheduledPreds API (#201240)

Mirroring UnscheduledSuccs, this patch adds an UnscheduledPreds DAG node
counter that counts how many predecessors are not scheduled yet.

It also renames the existing ready() to readyBottomUp() to help us
differentiate between the two variants that are now available.


  Commit: b3d0487ef16050a63e522bc7e96cc4233b6e7b70
      https://github.com/llvm/llvm-project/commit/b3d0487ef16050a63e522bc7e96cc4233b6e7b70
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp

  Log Message:
  -----------
  [AMDGPU] NFC: Obviously show isVALU includes LDSDMA instructions (#203548)

In https://reviews.llvm.org/D124472 we started labelling LDSDMA as VALU
-- this was due to SPG stating that these instructions act as both
memory + VALU instructions.

This is buried in the isVALU methods - I'd argue that most users without
knowledge of this characteristic would not expect this behavior, and
looking at the implementation of these methods, there is nothing that
would suggest this behavior. This PR forces users to confront this
characteristic and decide if that is what they want to do for their
usecase.

I've personally seen at least two bugs in upstream code caused by this,
and have seen it cause problems a dozen + times in downstream code / in
WIP things.


  Commit: e8b2205b90e021d3239880739d3c54f1ccae4d3f
      https://github.com/llvm/llvm-project/commit/e8b2205b90e021d3239880739d3c54f1ccae4d3f
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/vgpr-excess-threshold-percent-invalid.ll
    A llvm/test/CodeGen/AMDGPU/vgpr-excess-threshold-percent.ll

  Log Message:
  -----------
  [AMDGPU] Add flag to control VGPR pressure limits (#203797)

The RP trackers don't accurately measure the RA problem, and can
underestimate the number of registers required. Currently, for VGPR
pressure, we account for these inaccuracies using VGPRLimitBias, and
ErrorMargin. These are used to reduce the VGPRCriticalLimit /
VGPRExcessLimit . During scheduling, we check RP against these limits,
and if we start to see RP exceeding these limits, we will trigger RP
reduction heuristics (when deciding which instructions to schedule
next). Thus VGPRLimitBias + ErrorMargin effectively reduce the amount of
allowable RP during scheduling, as a means to compensate for RP tracker
inaccuracies. Currently, ErrorMargin is set to 3, and VGPRLimitBias is
set to 0.

However, the degree of inaccuracy tends to scale with the number of
registers we have available for allocation. In other words, the RP
trackers inaccuracy is better expressed as a percent of the register
budget, rather than some literal value. This PR adds some functionality
to express this inaccuracy compensation is a percent - and exposes a
flag which is useful for debug purposes. This correction only effects
the Excess/Critical limit and does not adjust things like MinOCcupancy,
or our spill estimates -- it only effects the guiding heuristics used
during scheduling instead of also impacting the meta heuristics used
when evaluating schedules. I can make arguments that it should also
impact meta heuristics, but that would be changing the current semantics
of the limit correction mechanisms. I thought it best to leave that as a
separate PR if we want to go that route.


  Commit: e9faee6052d35e13bae95fda3fcbe40ed36d2e35
      https://github.com/llvm/llvm-project/commit/e9faee6052d35e13bae95fda3fcbe40ed36d2e35
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [lldb][test] Skip watchpoint and expression tests on WebAssembly (#204235)

WebAssembly has no watchpoint support (Process/wasm reports no
watchpoints; the stop reason comes back as a plain signal) and cannot
JIT or interpret expressions (ProcessWasm sets CanJIT to false). Teach
the existing per-platform category checks about wasm so the whole
"watchpoint" and "expression" categories are skipped, rather than
decorating each test individually.


  Commit: 0677ebe8623790fea2f4b91258ae0167f8255d12
      https://github.com/llvm/llvm-project/commit/0677ebe8623790fea2f4b91258ae0167f8255d12
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [VPlan] Use getSingleUser to improve code (NFC) (#203882)


  Commit: c8d735d6753c75095c840ff6363e704a44aa96b9
      https://github.com/llvm/llvm-project/commit/c8d735d6753c75095c840ff6363e704a44aa96b9
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M libcxx/include/__numeric/accumulate.h
    M libcxx/include/__numeric/gcd_lcm.h
    M libcxx/include/__numeric/inner_product.h
    M libcxx/include/__numeric/pstl.h
    M libcxx/include/__numeric/reduce.h
    M libcxx/include/__numeric/transform_reduce.h
    R libcxx/test/libcxx/numerics/nodiscard.verify.cpp
    A libcxx/test/libcxx/numerics/numeric.ops/nodiscard.verify.cpp
    M libcxx/test/libcxx/utilities/bit/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][numeric] Applied `[[nodiscard]]` to `<numeric>` (#202770)

https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant

Applied `[[nodiscard]]` to the remaining functions.

Towards: https://github.com/llvm/llvm-project/issues/172124

This PR also eliminates
libcxx/test/libcxx/numerics/nodiscard.verify.cpp, which was misplaced
and contained unrelated tests. These tests were moved to where they
belong. This refactoring is included in this PR as the change is also
related to `<numeric>`.

Reference:
- https://eel.is/c++draft/numeric.ops.overview
- https://eel.is/c++draft/numeric.ops

---------

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


  Commit: 1915af8a196863d604eb1c58cf99e64a0ec58153
      https://github.com/llvm/llvm-project/commit/1915af8a196863d604eb1c58cf99e64a0ec58153
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    A llvm/test/MC/AMDGPU/amdgcn_target_directive_from_eflags.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx1250.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx950.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  AMDGPU: Teach disassembler to produce target id directives (#203979)

Inspect the binary's e_flags to reproduce the .amdgcn_target directive.
This is a step towards round-trip disassembly without depending
on command line state specifying the subtarget. I wasn't sure
where to put the emission to ensure it is always emitted. I
also do not know why it's OK to just write to outs(), but that's
what the other directives here were doing.

Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 4fd2a5cb17c55975ebb4c23f0b90e20621e9a744
      https://github.com/llvm/llvm-project/commit/4fd2a5cb17c55975ebb4c23f0b90e20621e9a744
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/BinaryFormat/Magic.cpp
    M llvm/unittests/BinaryFormat/TestFileMagic.cpp

  Log Message:
  -----------
  [BinaryFormat] Fix UBSan negative-shift in identify_magic Mach-O path (#204122)

`identify_magic()` read the Mach-O filetype field at offset 12 by
left-shifting four bytes of the input StringRef:
```
    type = Magic[12] << 24 | Magic[13] << 12 | Magic[14] << 8 | Magic[15];
```
`StringRef::operator[]` returns a `signed char`. When a header byte has
its
high bit set (e.g. 0xFA == -6 after promotion to int), the expression
"-6 << 24" is undefined behavior; even positive bytes like 0xFF promote
to a value whose "<< 24" overflows a signed int. UBSan trapped this on a
crafted input found by lldb-target-fuzzer:

```
    Magic.cpp:177:26: runtime error: left shift of negative value -6
    SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
    libFuzzer: deadly signal
```

Reached via `SBDebugger::CreateTarget` ->
`ObjectFile::GetModuleSpecifications`
-> `identify_magic` on a 17-byte file starting with the reverse-endian
Mach-O magic (CF FA ED FE).

Read the four bytes through `llvm::support::endian::read{32be,32le}`
instead. The helpers operate on unsigned bytes, so there is no signed
promotion and no left-shift UB; the byte-order choice matches the
header's documented layout (native magic FE ED FA C{E,F} => filetype
stored big-endian; reverse magic CE/CF FA ED FE => little-endian).

As a side effect this also corrects a latent typo in the hand-rolled
read: the second byte was shifted by 12 instead of 16. The bug was
masked in practice because real Mach-O filetype values fit in the
low-order byte, so the high bytes were zero.

Endian.h was already included and `llvm::support::endian` was already
imported with "using namespace" at the top of the file, so no extra
includes are needed.

Reproducer:
target-fuzzer-testcases/crash-1b8df752f6b9c0b0ff6ae36e9fd1db3c6ea73b6d
  17 bytes: cf fa ed fe 03 ff ff ff ff 03 ff ff ff ff cf fa fe
Before: UBSan abort at Magic.cpp:177.
After: ./bin/lldb-target-fuzzer <repro> -> "Executed ... in 44 ms", exit
0.


  Commit: 3aea0a064a8649c8068373407609b896915fd7fb
      https://github.com/llvm/llvm-project/commit/3aea0a064a8649c8068373407609b896915fd7fb
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 930a46d23799 (#204244)


  Commit: 6e8c2dcbae543084eb7bbb087a6a5e9d4cecb05a
      https://github.com/llvm/llvm-project/commit/6e8c2dcbae543084eb7bbb087a6a5e9d4cecb05a
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  Revert "Reland "[clang][ssaf] Track target triple in TU and LU summaries"" (#204236)

Reverts llvm/llvm-project#204218

Fails amdgpu buildbots


  Commit: 6b52ab266ad28f5af38832ec4e34eafc93aa2e8e
      https://github.com/llvm/llvm-project/commit/6b52ab266ad28f5af38832ec4e34eafc93aa2e8e
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td

  Log Message:
  -----------
  [RISC-V] Rename GPRCMem operand to BasePtrC. NFC

This is in preparation for https://github.com/llvm/llvm-project/pull/177073
where these operands can refer to either a GPR or YGPR depending on the
current HwMode.

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


  Commit: 9006a2c15182498f61919caa917ca16f847e4622
      https://github.com/llvm/llvm-project/commit/9006a2c15182498f61919caa917ca16f847e4622
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/MC/RISCV/rv32c-invalid.s
    M llvm/test/MC/RISCV/rv64c-invalid.s
    M llvm/test/MC/RISCV/rvc-hints-invalid.s
    M llvm/test/MC/RISCV/xqcibm-invalid.s

  Log Message:
  -----------
  [RISC-V][MC] Improve the diagnostic for invalid compressed register number

Instead of a generic `invalid operand for instruction`, print
`register must be a GPR from x8 to x15` instead.

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


  Commit: 790dee311f4f5f770a92d152a6bc1e289c47bebf
      https://github.com/llvm/llvm-project/commit/790dee311f4f5f770a92d152a6bc1e289c47bebf
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    A clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test

  Log Message:
  -----------
  [SSAF][WPA] Add a lit test for the WPA improvement of #198889 (#204018)

This commit adds a lit test, which is an example of the issue solved by
#198889 and was discovered independently when applying the analysis to a
real project.

rdar://179754164


  Commit: e4432714743a4501edf0ffc67facd56dc075a7a3
      https://github.com/llvm/llvm-project/commit/e4432714743a4501edf0ffc67facd56dc075a7a3
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/objc-constant-literals.m

  Log Message:
  -----------
  [Driver] Re-enable -fobjc-constant-literals by default (#204208)

This reverts 4d154f6ea5eb ([Driver] Disable -fobjc-constant-literals by
default (#195000)), which was a temporary measure to unblock a project
that the original constant-literal change (#185130) broke.

For background on the feature and the discussion that led to disabling
and then re-enabling it, see
https://github.com/llvm/llvm-project/pull/185130.

rdar://179823193


  Commit: 0b0e0b4a3c02f7217cec22776868e8e0a5ed9f3f
      https://github.com/llvm/llvm-project/commit/0b0e0b4a3c02f7217cec22776868e8e0a5ed9f3f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/test/API/commands/target/create-deps/TestTargetCreateDeps.py
    M lldb/test/API/functionalities/always-run-threads/TestAlwaysRunThreadNames.py
    M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
    M lldb/test/API/lang/c/anonymous/TestAnonymous.py
    M lldb/test/API/lang/c/blocks/TestBlocks.py
    M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
    M lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
    M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
    M lldb/test/API/lang/c/fpeval/TestFPEval.py
    M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
    M lldb/test/API/lang/c/modules/TestCModules.py
    M lldb/test/API/lang/c/register_variables/test.c
    M lldb/test/API/lang/c/sizeof/TestCSizeof.py
    M lldb/test/API/lang/c/struct_types/TestStructTypes.py
    M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py

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

Mark more tests that rely on features unavailable on wasm32-wasip1 (or
in LLDB's Wasm support): expression evaluation (skipIfWasm), shared
libraries (skipIfTargetDoesNotSupportSharedLibraries), threads
(skipIfTargetDoesNotSupportThreads), and llvm-strip --keep-symbol, which
the Wasm object format doesn't support. Where a test also has supported,
passing cases, the decorator is applied per method.

The "expression" category is already skipped for Wasm, but that only
covers commands/expression/*, where the category is set by a
"categories" file. The tests in this PR live elsewhere and merely use
expression evaluation incidentally, so they aren't in that category and
need skipIfWasm directly.


  Commit: e6a049021d2f46bae5d8df22d5e447cca62bbd98
      https://github.com/llvm/llvm-project/commit/e6a049021d2f46bae5d8df22d5e447cca62bbd98
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp

  Log Message:
  -----------
  [clang-format] Stop inserting blank line in disabled region (#201995)

Previously, a blank got inserted before the `// clang-format off`
comment with the `SeparateDefinitionBlocks` option set.

Fixes #106983 and #146317.


  Commit: ac131eb48890abd2ae286f31541d497bb272ee44
      https://github.com/llvm/llvm-project/commit/ac131eb48890abd2ae286f31541d497bb272ee44
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGenCXX/cxx20-nttp-object-layout.cpp

  Log Message:
  -----------
  [Clang][CodeGen] Fix C++20 NTTP object field indexing (#204174)

C++20 allows a class object to be used as a non-type template
parameter. For example, a template can take an object of a struct like
`{ char A; long long B; char C; char First[2]; char Second[2]; }`.

That struct has padding before `B`. The constant emitter can represent
the value with an ordinary LLVM struct and let LLVM provide that padding
implicitly. Normal record CodeGen instead uses the memory type for the
record, which may contain explicit padding fields so C++ fields have
stable LLVM field numbers.

The bytes are laid out the same, but the LLVM field numbers are not.
For the normal padded record type, `First` has one field index. For the
compact constant type, that same index names a later field. Clang was
computing the field index for the padded record type, then applying it
to the compact template parameter object type. As a result, reading
`First` could read from the bytes for `Second` instead.

Return the template parameter object address using the normal memory
type for the record. This makes the field index apply to the type it
was computed for, so field access uses the same layout as an ordinary
object. The constant data itself stays the same.


  Commit: f2d2d98fc866474b87e2fdc20ee5d6dd3dcdbe56
      https://github.com/llvm/llvm-project/commit/f2d2d98fc866474b87e2fdc20ee5d6dd3dcdbe56
  Author: Fabian Parzefall <fabian.parzefall at mailbox.org>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M bolt/runtime/instr.cpp
    A bolt/test/runtime/setup-race.cpp

  Log Message:
  -----------
  [BOLT] Delay indirect call pointer setup (#204229)

There is a race in the instrumentation runtime during setup. The setup
initializes the function pointers for indirect call instrumentation
before the indirect call counters array. If the application spawns a
background thread through a constructor (as does jemalloc), the
background thread has a chance to derefence that uninitialized array
pointer. Defer initialization of these function pointers to prevent this
race.

Fixes #198181.

Co-authored-by: Fabian Parzefall <parzefall at meta.com>


  Commit: 212ae443a544e99f2a465cd9ee14dab096abd852
      https://github.com/llvm/llvm-project/commit/212ae443a544e99f2a465cd9ee14dab096abd852
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  AMDGPU: Add TargetParser to disassembler dependencies (#204250)

Should fix build failure after #203979, but should be reverted
in #204150


  Commit: 5639b33d7567bf648f27418b126f5f6f6292b730
      https://github.com/llvm/llvm-project/commit/5639b33d7567bf648f27418b126f5f6f6292b730
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [scudo] For a realloc that shrinks, retag the extra. (#204031)

When MTE is enabled and an allocations is reallocated from a large size
to a smaller size, zero tag the rest of the allocation. Before this
change only a single granule after the new size was zero tagged. This
adds extra security and use after realloc protection if code would have
tried to read/write into the old size, past the new size.


  Commit: 2208263ee893e3713b1c7f650817565a7431478b
      https://github.com/llvm/llvm-project/commit/2208263ee893e3713b1c7f650817565a7431478b
  Author: jimingham <jingham at apple.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/bindings/python/CMakeLists.txt
    A lldb/examples/python/delayed_enable.py

  Log Message:
  -----------
  Add a useful command to the python examples & "lldb.utils" (#204251)

When debugging GUI programs where you have a bunch of breakpoints set
that you only want to have trigger when in the middle of some UI
interaction (a drag and drop for example) but not before, you need a way
to have the breakpoints disabled till a certain point, then re-enabled.
But since you are in the middle of the interaction, you can't interact
with the debugger to do that.

This little command disables your breakpoints, continues if you were
stopped, waits for a prescribed interval, then re-enables them.


  Commit: 9ededda752f390692ef3bff847a2abb0b8cc80ea
      https://github.com/llvm/llvm-project/commit/9ededda752f390692ef3bff847a2abb0b8cc80ea
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl

  Log Message:
  -----------
  [HLSL] Codegen for passing cbuffer structs as function args (#203961)

Constant buffer structs are in `hlsl_constant` address space and have a
different layout than structs in default address space. They need to be
copied element-by-element and not by `memcpy`.

This change adds a check for the `hlsl_constant` address space to the
code path that avoids materializing a temporary copy for simple
`CK_LValueToRValue ` casts. This makes sure the constant buffer structs
is copied element-by-element to a temporary before being passed to a
function.


  Commit: 08527565f21a404b5ed925faf40f01b515326f7c
      https://github.com/llvm/llvm-project/commit/08527565f21a404b5ed925faf40f01b515326f7c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M lldb/test/API/commands/platform/process/list/TestProcessList.py
    M lldb/test/API/commands/process/attach/TestProcessAttach.py
    M lldb/test/API/commands/register/register_command/TestRegisters.py
    M lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py
    M lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py
    M lldb/test/API/functionalities/rerun_and_expr/TestRerunAndExpr.py
    M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py
    M lldb/test/API/lang/c/libc_calls/TestLibcCalls.py
    M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
    M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
    M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
    M lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py
    M lldb/test/API/lang/cpp/namespace/TestNamespace.py
    M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
    M lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py
    M lldb/test/API/lang/cpp/operators/TestCppOperators.py
    M lldb/test/API/lang/cpp/printf/TestPrintf.py
    M lldb/test/API/lang/cpp/static_members/TestCPPStaticMembers.py
    M lldb/test/API/lang/cpp/symbols/TestSymbols.py
    M lldb/test/API/lang/cpp/template-diagnostic-hint/TestTemplateDiagnosticHint.py
    M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
    M lldb/test/API/lang/cpp/this/TestCPPThis.py
    M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
    M lldb/test/API/python_api/hello_world/TestHelloWorld.py

  Log Message:
  -----------
  [lldb][test] Skip even more unsupported tests on WebAssembly (#204255)

A second pass over the full API suite for tests that depend on features
unavailable on wasm32-wasip1 or in LLDB's Wasm support:

- Expression evaluation (skipIfWasm) for the C++ tests that the
"expression" category doesn't cover, since that category only applies to
commands/expression/*.

- Attaching to a running process (skipIfWasm). These tests have the
harness spawn the inferior as a host process and then attach, but a
.wasm module isn't a native executable, so exec'ing it fails with
ENOEXEC ("Exec format error"). The wasm module only runs inside the
runtime (e.g. iwasm) that LLDB launches, so there is no host process to
attach to.

Where a test also has supported, passing cases, the decorator is applied
per method.


  Commit: 8bea2ff77716f38575ea71eb38318ae19adad0d6
      https://github.com/llvm/llvm-project/commit/8bea2ff77716f38575ea71eb38318ae19adad0d6
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/tools/clang-ssaf-analyzer/CMakeLists.txt
    M clang/tools/clang-ssaf-format/CMakeLists.txt
    M clang/tools/clang-ssaf-linker/CMakeLists.txt
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
    M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf] Track target triple in TU and LU summaries. #204027" (#204259)

This commit introduces the following changes:

- Add `TargetTriple` field to `TUSummary`, `LUSummary`, and their encodings.
- Frontend captures the triple from `CompilerInstance::getTarget()` when extracting a TU summary.
- JSON format reads/writes a `target_triple` field at the root of each summary; reader rejects strings not in `llvm::Triple::normalize` form.
- All TU/LU JSON test inputs/outputs and unit tests updated to include the new field.
    
`clang-ssaf-linker` uses a hardcoded triple value for the link unit; surfacing the triple through the tool will be handled in a follow-up PR.
    
rdar://179403011


  Commit: edc5f477d3ccddd3b100603de3d4522627985e87
      https://github.com/llvm/llvm-project/commit/edc5f477d3ccddd3b100603de3d4522627985e87
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [bazel][AVR] Fix 930a46d2379914172f9e9e5e108510aa43fb7934 (#204264)

Add AVR to the intrinsics list


  Commit: 4ca9a58546c6a1c070f1fc9079da46b340047632
      https://github.com/llvm/llvm-project/commit/4ca9a58546c6a1c070f1fc9079da46b340047632
  Author: hev <wangrui at loongson.cn>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
    A llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
    A llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
    A llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll

  Log Message:
  -----------
  [LoongArch][NFC] Add horizontal widening add/sub tests (#201487)


  Commit: ad9ecc4739d136ac6818d6d439751556402b5134
      https://github.com/llvm/llvm-project/commit/ad9ecc4739d136ac6818d6d439751556402b5134
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M libcxx/docs/ABIGuarantees.rst
    M libcxx/include/__configuration/abi.h
    M libcxx/include/deque
    A libcxx/test/libcxx/containers/sequences/deque/lower_deque_block_size.default.compile.pass.cpp
    A libcxx/test/libcxx/containers/sequences/deque/lower_deque_block_size.lower.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
    M libcxx/utils/libcxx/test/features/libcxx_macros.py

  Log Message:
  -----------
  [libcxx] Configuration option to lower deque block size (#198348)


  Commit: 58c4e5dff75df1ea849d4b4b2fdc5510e50e16c6
      https://github.com/llvm/llvm-project/commit/58c4e5dff75df1ea849d4b4b2fdc5510e50e16c6
  Author: hev <wangrui at loongson.cn>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
    M llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
    M llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
    M llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll

  Log Message:
  -----------
  [LoongArch] Add DAG combine for horizontal widening add/sub (#201488)

Add a DAG combine to recognize horizontal widening add/subtract patterns
and lower them to the corresponding LSX/LASX instructions.

The following pattern is matched for both signed and unsigned variants:

```
  ADD/SUB(SEXT/ZEXT(BUILD_VECTOR(extract_elt(vj, 1), extract_elt(vj, 3), ...)),
          SEXT/ZEXT(BUILD_VECTOR(extract_elt(vk, 0), extract_elt(vk, 2), ...)))
```

This covers the following instructions:

```
  LSX:  VHADDW.H.B,  VHADDW.W.H,  VHADDW.D.W
        VHADDW.HU.BU, VHADDW.WU.HU, VHADDW.DU.WU
        VHSUBW.H.B,  VHSUBW.W.H,  VHSUBW.D.W
        VHSUBW.HU.BU, VHSUBW.WU.HU, VHSUBW.DU.WU

  LASX: XVHADDW.H.B,  XVHADDW.W.H,  XVHADDW.D.W
        XVHADDW.HU.BU, XVHADDW.WU.HU, XVHADDW.DU.WU
        XVHSUBW.H.B,  XVHSUBW.W.H,  XVHSUBW.D.W
        XVHSUBW.HU.BU, XVHSUBW.WU.HU, XVHSUBW.DU.WU
```

The Q_D variants (VHADDW.Q.D, VHSUBW.Q.D and their unsigned
counterparts) are not handled here because the result type v1i128 is not
yet legalized in the backend.


  Commit: 054c8f4082efa2e050861f998e2fbb881b2ad17e
      https://github.com/llvm/llvm-project/commit/054c8f4082efa2e050861f998e2fbb881b2ad17e
  Author: Yuan Suo <suoyuan666 at s5n.xyz>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [LifetimeSafety] Add additional test for buildOriginFlowChain (#204124)

These are test case improvements suggested in previous PRs.

The `simpleparen` case originates from
https://github.com/llvm/llvm-project/pull/199345#discussion_r3343186258.

Additional unit test improvements were suggested in
https://github.com/llvm/llvm-project/pull/196075#discussion_r3274899024.

---------

Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>


  Commit: f67bdab61ab2c131a7c14a1cce226be80dbad4db
      https://github.com/llvm/llvm-project/commit/f67bdab61ab2c131a7c14a1cce226be80dbad4db
  Author: Haowei <haowei at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp

  Log Message:
  -----------
  [clang][driver] Fix flang frontend resolution for symlinked clang driver (#204253)

When clang is built as a symlink to the llvm multicall binary, the
driver resolves the executable path to 'llvm', making D.Name 'llvm'
instead of 'clang'.
This broke the detection of 'clang --driver-mode=flang' in Flang.cpp,
causing the driver to try to run 'llvm -fc1' instead of looking up
'flang', after change in #200438 was landed.

Fix this by checking D.getPrependArg() in addition to D.Name to identify
if we are acting as clang. Also use D.IsFlangMode() for simpler and more
robust detection of the driver mode.


  Commit: f50d67d368fc0c6039e40aee283c52060dd66df4
      https://github.com/llvm/llvm-project/commit/f50d67d368fc0c6039e40aee283c52060dd66df4
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [AMDGPU][GISel] Clean trailing Imms from RegBankLegalize rules. NFC (#204195)


  Commit: 847dbc3ce54c6b2bab77622768812364c868797b
      https://github.com/llvm/llvm-project/commit/847dbc3ce54c6b2bab77622768812364c868797b
  Author: hev <wangrui at loongson.cn>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/vsllwil.ll
    A llvm/test/CodeGen/LoongArch/lsx/vsllwil.ll

  Log Message:
  -----------
  [LoongArch][NFC] Add widening shift-left tests (#202601)


  Commit: 9d788fe187d8b1f1f9f0cf0a1783c0994549cd15
      https://github.com/llvm/llvm-project/commit/9d788fe187d8b1f1f9f0cf0a1783c0994549cd15
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

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

  Log Message:
  -----------
  [bazel] Use --incompatible_default_to_explicit_init_py (#204275)

After #203998, the `per-test-coverage-by-lit-cfg.py` test is failing in
Bazel. It seems to be due to automatic `__init__.py` generation.

With some extra logs:
```
# .---command stdout------------
# | -- Testing: 5 tests, 1 workers --
# | FAIL: per-test-coverage-by-lit-cfg :: name-collision/__init__.py (1 of 5)
# | ******************** TEST 'per-test-coverage-by-lit-cfg :: name-collision/__init__.py' FAILED ********************
...
# | # .---command stderr------------
# | # | error: no check strings found with prefix 'CHECK:'
# | # `----------------------------- 
```

I am not sure exactly the best way to deal with this, but
`--incompatible_default_to_explicit_init_py` disables this behavior and
makes the test pass. I also found some other excluded tests that now
pass, some of which have a similar directory structure, so those may
have the same underlying root cause.


  Commit: 37881c63a952d554ab69d8ac31f8d1037b032c59
      https://github.com/llvm/llvm-project/commit/37881c63a952d554ab69d8ac31f8d1037b032c59
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp

  Log Message:
  -----------
  [llvm] Replace unordered_{map,set} with Dense{Map,Set} in local maps (#204277)

std::unordered_map is slow. Replace maps and sets without a
pointer-stability requirement to DenseMap/DenseSet.
Extracted from #202222


  Commit: e57dfa3d1ff53b08311417104fe144f82f7b591b
      https://github.com/llvm/llvm-project/commit/e57dfa3d1ff53b08311417104fe144f82f7b591b
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/RDFGraph.h
    M llvm/include/llvm/CodeGen/RDFLiveness.h
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/RDFLiveness.cpp

  Log Message:
  -----------
  [RDF] Replace unordered_map with DenseMap. NFC (#204280)

std::unordered_map is slow. Switch DefStackMap and RefMap to DenseMap.
erase-while-iterating loops become DenseMap::remove_if.


  Commit: 641f2daef21a4ceb173321a94e064c333c753257
      https://github.com/llvm/llvm-project/commit/641f2daef21a4ceb173321a94e064c333c753257
  Author: hev <wangrui at loongson.cn>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/vsllwil.ll
    M llvm/test/CodeGen/LoongArch/lsx/vsllwil.ll

  Log Message:
  -----------
  [LoongArch] Add DAG combine for widening shift-left (#202602)

Add DAG combines to recognize vector widening left-shift idioms and
lower them to VSLLWIL instructions.

The following pattern is matched for both signed and unsigned variants:

```
  SEXT/ZEXT(Low-Half-Lanes(vec)) << Imm
```

This covers the following instructions:

```
  LSX:  VSLLWIL.H.B, VSLLWIL.W.H, VSLLWIL.D.W
        VSLLWIL.HU.BU, VSLLWIL.WU.HU, VSLLWIL.DU.WU

  LASX: XVSLLWIL.H.B, XVSLLWIL.W.H, XVSLLWIL.D.W
        XVSLLWIL.HU.BU, XVSLLWIL.WU.HU, XVSLLWIL.DU.WU
```


  Commit: 16d22173dbb1d3e77cfed5bbcc2aca1157350d25
      https://github.com/llvm/llvm-project/commit/16d22173dbb1d3e77cfed5bbcc2aca1157350d25
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangStandards.def
    M clang/include/clang/Basic/OpenCLOptions.h
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Driver/opencl.cl
    M clang/test/Driver/unknown-std.cl
    M clang/test/Preprocessor/predefined-macros.c
    M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp

  Log Message:
  -----------
  [Clang][OpenCL] Add OpenCL 3.1 language version (#204043)

OpenCL 3.1 was recently added to spec in
https://github.com/KhronosGroup/OpenCL-Docs/commit/9fff1a87a975

This PR adds version 3.1 to clang support, including frontend flag
`-std=cl3.1` (and its alias `-std=CL3.1`).
Updated release note.

A few extensions are promoted to 3.1 core. They'll be handled in
follow-up PRs.

Assisted-by: Claude Sonnet 4.6


  Commit: 4a3052bd23438b6d6bb9ef561f8b447224d8ea01
      https://github.com/llvm/llvm-project/commit/4a3052bd23438b6d6bb9ef561f8b447224d8ea01
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Fix Pointer::operator<< for non-block pointers (#204156)

Some of those functions can only be called on block pointers.


  Commit: 734d5690bc6e6425961d346c218292f4c6dcf011
      https://github.com/llvm/llvm-project/commit/734d5690bc6e6425961d346c218292f4c6dcf011
  Author: Lukas Sommer <lukas.sommer at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    A llvm/test/CodeGen/AMDGPU/rename-independent-subregs-unused-lanes.ll
    M llvm/test/CodeGen/AMDGPU/rename-independent-subregs.mir

  Log Message:
  -----------
  [Codegen] Avoid duplicate subranges for unused lanes (#204091)

Splitting registers in `RenameIndependentSubregs` requires inserting
`IMPLICIT_DEF` to ensure definition of the new register on all paths.

The existing logic for handling unused lanes would create duplicate
subranges if multiple predecessor blocks exist, causing the machine
verifier to fail.

This change ensures that only a single subrange is created for the
unused lanes which is then updated with additional segments in the
following iterations.

This fixes https://github.com/llvm/llvm-project/issues/197733.

---------

Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>


  Commit: 9112f8f8e396c7ebf719b62be3023034082ebf55
      https://github.com/llvm/llvm-project/commit/9112f8f8e396c7ebf719b62be3023034082ebf55
  Author: Berke Ates <berke at ates.ch>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  [MLIR] Adopt HasAncestor trait in omp.workshare.loop_wrapper and emitc.get_field (#197911)

Following #195447 which added the `HasAncestor` trait, replace the
ancestor-existence checks in two ops:
- `omp.workshare.loop_wrapper`
- `emitc.get_field`


  Commit: 75b7809248cca443085c1c3fb572ae38add4c500
      https://github.com/llvm/llvm-project/commit/75b7809248cca443085c1c3fb572ae38add4c500
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Consistently use `isBottomFrame()` (#204167)

Instead of checking for `getDepth() == 0`.


  Commit: 8ac287ff07fc4545821b6085655cb3c711fdd659
      https://github.com/llvm/llvm-project/commit/8ac287ff07fc4545821b6085655cb3c711fdd659
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-16 (Tue, 16 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    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] Add pnsrl(i)/pnsra(i) patterns. (#204198)


  Commit: 3746f3e4d6129124e80ec93f22cab174e03ba2f7
      https://github.com/llvm/llvm-project/commit/3746f3e4d6129124e80ec93f22cab174e03ba2f7
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ADT/SCCIterator.h
    M llvm/include/llvm/CGData/OutlinedHashTree.h
    M llvm/include/llvm/CGData/StableFunctionMap.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
    M llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Support/ELFAttrParserCompact.h
    M llvm/include/llvm/Transforms/IPO/GlobalDCE.h
    M llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
    M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
    M llvm/include/llvm/XRay/InstrumentationMap.h
    M llvm/lib/CGData/OutlinedHashTree.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    M llvm/lib/Transforms/IPO/GlobalDCE.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/tools/llvm-xray/func-id-helper.h

  Log Message:
  -----------
  [llvm] Replace unordered_{map,set} with Dense{Map,Set} (#202222)

std::unordered_map is slow. The remaining uses are pointer stability,
key spanning the full value range, or huge pair<key,value>. After
PR #201281 DenseMap no longer reserves sentinel keys, so more of these
maps can switch.

Aided by Claude Opus 4.8


  Commit: caab00248488f14d91ec31fd7ccb8f331d485657
      https://github.com/llvm/llvm-project/commit/caab00248488f14d91ec31fd7ccb8f331d485657
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M utils/bazel/configure.bzl

  Log Message:
  -----------
  [bazel] Guard usage of repo_metadata (#204302)

Older Bazel versions don't have this attribute yet.


  Commit: ca07de42aa11307d2f54036d7097e3caad5961ff
      https://github.com/llvm/llvm-project/commit/ca07de42aa11307d2f54036d7097e3caad5961ff
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/IR/Value.cpp
    A llvm/test/Transforms/InferAlignment/bitcast.ll

  Log Message:
  -----------
  [IR] Only follow ptr/ptr-vector sources in stripAndAccumulateConstantOffsets bitcasts (#203356)

stripAndAccumulateConstantOffsets used to walk through every bitcast
operand. If the operand was not a pointer (e.g. a same-sized byte type
such as b64 reinterpreted as ptr), the walk could continue and violate
the invariant that the stripped value remains ptr or ptr-vector.

Align with stripPointerCastsAndOffsets: only look through bitcasts whose
source type is a pointer or pointer vector; keep addrspacecast as its
own case.

This commit is needed in PR #177908, and fixes issue
https://github.com/llvm/llvm-project/issues/203695.

Assisted by Cursor


  Commit: fcf197f9452154b1a0968f6cb0795a3371e31f1d
      https://github.com/llvm/llvm-project/commit/fcf197f9452154b1a0968f6cb0795a3371e31f1d
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp

  Log Message:
  -----------
  UnicodeNameMappingGenerator: Replace unordered_{map,set} with DenseMap/SmallPtrSet. NFC (#204303)


  Commit: 2964323a936c79d05c024252eb688b9151f66d3c
      https://github.com/llvm/llvm-project/commit/2964323a936c79d05c024252eb688b9151f66d3c
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.def
    A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [RFC][AMDGPU][InsertWaitCnt] Move WaitEventType into separate HWEvent header (#202886)

I propose to move `WaitEventType` into its own header to start a new
component of the back-end targeted at analyzing and treating hardware
events
fired by instructions. Right now this just moves code around and renames
things
(NFCI) but over time, we should generalize the events so they can be
reused
by other passes instead of being hyper-specialized for InsertWaitCnt.


  Commit: 2cd778c2064c98980215f4a93c3036b7fe3722a3
      https://github.com/llvm/llvm-project/commit/2cd778c2064c98980215f4a93c3036b7fe3722a3
  Author: Qixi <tjx2361869673 at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp

  Log Message:
  -----------
  [clangd] Replay macro definitions from preamble for clang-tidy checks (#202495)

Clang-tidy checkers observe preprocessor events via PPCallbacks. When
using a preamble, macro definitions in the preamble region of the main
file are not replayed during the main-file build, causing checkers like
bugprone-reserved-identifier to miss them.

This patch extends ReplayPreamble::replay() to also replay MacroDefined
events for macros defined directly in the preamble region of the open
file, similar to how InclusionDirective events are already replayed.

Fixes: https://github.com/clangd/clangd/issues/2501


  Commit: d74caa40ec86ceb2c3e6e18d45adeab8fb40b4a4
      https://github.com/llvm/llvm-project/commit/d74caa40ec86ceb2c3e6e18d45adeab8fb40b4a4
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir

  Log Message:
  -----------
  [mlir][spirv] Fix crash on 0-D vectors in vector unrolling (#203291)

`getTargetShape` and `getNativeVectorShape` called `getShape().back()`
without checking for rank-0 vectors, whose shape is empty. This crashed
when the SPIR-V vector unrolling pass processed a function returning a
0-D vector (e.g. `vector<f32>`) or a 0-D elementwise op.

0-D vectors have no dimension to unroll along and are not SPIR-V vector
types, so bail out and leave them unchanged in both paths.

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


  Commit: 09a51b2818e2ff8d0a6f43c3c7468df71a5d2098
      https://github.com/llvm/llvm-project/commit/09a51b2818e2ff8d0a6f43c3c7468df71a5d2098
  Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/include/omptarget.h
    M offload/liboffload/CMakeLists.txt
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/common/include/ErrorReporting.h
    M offload/plugins-nextgen/common/include/GlobalHandler.h
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/plugins-nextgen/common/src/RecordReplay.cpp
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/tools/CMakeLists.txt

  Log Message:
  -----------
  [offload] Add Windows offload support (#187006)


  Commit: c872ac1d0d07ca7df5cc09f4218e175029c4c001
      https://github.com/llvm/llvm-project/commit/c872ac1d0d07ca7df5cc09f4218e175029c4c001
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [AMDGPU][InsertWaitCnts] Move HWEvent analysis code (#202887)

Building up on the previous RFC, if it is accepted:
Move the code that maps a MachineInstr to HWEventSet to a separate file.

This should be NFC.


  Commit: 38f121e88adb4b450d116c2786086ccd160cef81
      https://github.com/llvm/llvm-project/commit/38f121e88adb4b450d116c2786086ccd160cef81
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [lldb][test] Fix duplicate error messages in expect_expr/var_path (#202310)

The error message field for expect_* methods always prints the value
object, so there is no need to specify a custom error message that then
just prints the object too.

This fixes the duplicate value object printout on test failures.


  Commit: d9dcc11478f5d255db26b8080a86d8eca9fab16e
      https://github.com/llvm/llvm-project/commit/d9dcc11478f5d255db26b8080a86d8eca9fab16e
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M flang/include/flang/Lower/CustomIntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/MIFCommon.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp

  Log Message:
  -----------
  [flang][NFC] remove libFortranEvaluate from Optimizer libraries (#204222)

Replace usages of `AbstractConverter` inside IntrinsicCall.cpp by a
structure that propagates the required option to avoid bringing
libFortranEvaluate as a dependency of libFortranOptimizer while the
Optimizer is not using evalute::Expr or other front-end data structure
at all.

Also remove headers whose include have crept-in and that were never
removed while not required.


  Commit: 7e69b169965d78dbd5c2343ce4aa89eeb9fda131
      https://github.com/llvm/llvm-project/commit/7e69b169965d78dbd5c2343ce4aa89eeb9fda131
  Author: robertvirany <robertvirany at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/smax-icmp.ll
    M llvm/test/Transforms/InstCombine/smin-icmp.ll
    M llvm/test/Transforms/InstCombine/umax-icmp.ll
    M llvm/test/Transforms/InstCombine/umin-icmp.ll

  Log Message:
  -----------
  [InstCombine] Fold X == Identity ? Y : min/max(X, Y) (#202748)

Fixes #202576

Fold:

```llvm
select (X == -1), Y, umin(X, Y) -> umin(X, Y)
select (X == 0), Y, umax(X, Y) -> umax(X, Y)
select (X == SignedMax), Y, smin(X, Y) -> smin(X, Y)
select (X == SignedMax), Y, smax(Y, X) -> smax(X, Y)
```

Snd the inverted/commuted forms.

AI note: I used AI to help me read through the codebase and write the
tests.


  Commit: de84e7ccc602fe2ef8b886a9b095c80d110f61a0
      https://github.com/llvm/llvm-project/commit/de84e7ccc602fe2ef8b886a9b095c80d110f61a0
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsRegisterInfo.td
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSEISelLowering.h
    M llvm/lib/Target/Mips/MipsScheduleGeneric.td
    M llvm/lib/Target/Mips/MipsScheduleI6400.td
    M llvm/lib/Target/Mips/MipsScheduleP5600.td
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll

  Log Message:
  -----------
  [MIPS] soft-promote `f16` also when using `+msa` (#204158)

Fixes https://github.com/llvm/llvm-project/issues/202808
Re-lands https://github.com/llvm/llvm-project/pull/203065

Make use of the default soft-promote mechanism for f16, rather than an
ad-hoc approach making f16 storage-only.

In theory you could leave it at that, but I added custom implementations
to make use of the instructions for `FP16_TO_FP` and `FP_TO_FP16`, and
manually apply the "fptoui to fptosi trick" which generates shorter
code.

I've now tested that, in combination with
https://github.com/llvm/llvm-project/pull/203390, this PR is able to
build and run the rust `std` test suite, which exercises both `f16` and
vectors a bunch. The tests all pass under `qemu` as well.

The last commit fixes an integer overflow bug that triggered UBSan and
led to an earlier revert of these changes.


  Commit: 045ec52e630d7246e3f94d3e93e4fd8638863098
      https://github.com/llvm/llvm-project/commit/045ec52e630d7246e3f94d3e93e4fd8638863098
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/dotest_args.py
    M lldb/test/API/lit.cfg.py

  Log Message:
  -----------
  [lldb][test] Only calculate LLDB python path once (#201327)

We spend about 70ms each dotest invocation recalculating the path where
the LLDB module is. This patch changes this so that dotest calculates
this path once and passes it to every dotest invocation.

As a fallback, we still support inferring the location from LLDB as
before, but I would propose we drop this support in the future.


  Commit: b59f9651cecfe0f3a33035846b991a9968ee26c5
      https://github.com/llvm/llvm-project/commit/b59f9651cecfe0f3a33035846b991a9968ee26c5
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py

  Log Message:
  -----------
  [lldb][test] Cleanup and modernize TestHiddenIvars.py (#202023)

This is simple rewrite of the test. The patch improves three things:

* It replaces old expect tests with the new expect_* variants that no
longer rely on substring matching.

* It unifies the strip/non-stripped checks as we actually produce
identical SBValues in both cases (by fetching data from the Objective-C
runtime).

* It builds this test with a shared build directory. Our stripping logic
generates a new stripped binary in a subdirectory and doesn't touch the
shared build files. This also halves the test runtime to 6s.


  Commit: 7d92d40dcf8e748a5185eb589fcfe6f30fca89a3
      https://github.com/llvm/llvm-project/commit/7d92d40dcf8e748a5185eb589fcfe6f30fca89a3
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add row_gather operator (#202895)

Adds support for the row_gather operator defined by the TOSA
specification, see https://github.com/arm/tosa-specification/pull/60.

This includes:
- Operator definition
- Verification logic for the operator
- Output shape inference for the operator
- Validation checks to ensure compliance with the TOSA specification
including profile compliance and level checks.
- Canonicalization to replace row_gather with gather when row_count is
statically known to be 1.

It does not yet cover support for MXFP types. This will be added once
block scaled types are supported.


  Commit: 8c3d2e9454636dd5284b572f4727b15874fc00b0
      https://github.com/llvm/llvm-project/commit/8c3d2e9454636dd5284b572f4727b15874fc00b0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/docs/Passes.rst
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
    M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
    M llvm/lib/Transforms/IPO/IPO.cpp

  Log Message:
  -----------
  [Passes] Remove deadarghaX0r pass (#204310)

This was a pass internally used by bugpoint. Bugpoint has been removed,
so remove the pass as well.


  Commit: 6f73bc282f9c446673b2a5eb439bf2005b54d076
      https://github.com/llvm/llvm-project/commit/6f73bc282f9c446673b2a5eb439bf2005b54d076
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Support/Parallel.cpp

  Log Message:
  -----------
  [llvm] Fix unused function warning in Parallel (#204114)

When llvm is built without threading support:
<...>/llvm-project/llvm/lib/Support/Parallel.cpp:230:13: warning: unused
function 'isNested' [-Wunused-function]
  230 | static bool isNested() {
      |             ^~~~~~~~

The function is only used once, so I've put the code into the caller,
which is itself guarded with `#if LLVM_ENABLE_THREADS`.

Function added in 8daaa26efdda3802f73367d844b267bda3f84cbe / #189293.


  Commit: 55ea1823580283c0a5b03477d85070309dc1a2d1
      https://github.com/llvm/llvm-project/commit/55ea1823580283c0a5b03477d85070309dc1a2d1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    A llvm/test/Transforms/FunctionSpecialization/interposable.ll

  Log Message:
  -----------
  [FuncSpec] Do not specialize interposable functions (#204314)

We cannot specialize interposable functions, because the definition we
see may not be prevailing one. The prevailing definition can have
arbitrary different behavior.

We *can* still specialize inexact definitions like linkonce_odr, similar
to inlining.


  Commit: b9f8eee4a871d7cb47fb2679959b3fe799a58a17
      https://github.com/llvm/llvm-project/commit/b9f8eee4a871d7cb47fb2679959b3fe799a58a17
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h

  Log Message:
  -----------
  [DirectX][ObjectYAML][NFC] Remove unused function (#204019)

A small follow-up for #202761.
`updateSize()` function added there is a rebase artifact. It is never
actually used. This change removes it.


  Commit: 0dda20ca15569a0fd1078db9e6b7560c43f69638
      https://github.com/llvm/llvm-project/commit/0dda20ca15569a0fd1078db9e6b7560c43f69638
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll

  Log Message:
  -----------
  [LV] Add initial cost model for VPScalarIVSteps (#203347)

This PR currently only adds a cost model for integer types in
non-replicating regions in order to limit the scope of impact.
We can also support replicating regions, but that requires
looking for a recipe with an underlying value in the same
region in order to get a BasicBlock to pass in to the
getPredBlockCostDivisor function. This can be done in a future
PR.


  Commit: 4995c6e59e7cc263f2fd001e4e417f0dab6eade1
      https://github.com/llvm/llvm-project/commit/4995c6e59e7cc263f2fd001e4e417f0dab6eade1
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def

  Log Message:
  -----------
  [LifetimeSafety] Mark lifetime safety LangOptions as `Benign` (#204316)

Without this, we cannot load modules built without lifetime safety.
Analysis options are in general benign and does not effect AST
construction.

See doc:
```cpp
  /// For ASTs produced with different option value, signifies their level of
  /// compatibility.
  enum class CompatibilityKind {
    /// Does affect the construction of the AST in a way that does prevent
    /// module interoperability.
    NotCompatible,
    /// Does affect the construction of the AST in a way that doesn't prevent
    /// interoperability (that is, the value can be different between an
    /// explicit module and the user of that module).
    Compatible,
    /// Does not affect the construction of the AST in any way (that is, the
    /// value can be different between an implicit module and the user of that
    /// module).
    Benign,
  };
```


  Commit: ec7235ea9a4fe54871db06c296d94563ef28af9a
      https://github.com/llvm/llvm-project/commit/ec7235ea9a4fe54871db06c296d94563ef28af9a
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    A clang/test/CodeGenCXX/noreturn-init-stmt.cpp

  Log Message:
  -----------
  [clang][CodeGen] Fix crash on if/switch init-statement ending in noreturn (#201047)

EmitStmt may `ClearInsertionPoint()` to mark dead code, EmitDecl is not
prepared to handle it. Fix by `EnsureInsertPoint()` in transition from
EmitStmt to EmitDecl. If/Switch body may contain a label which makes
them not dead.

Fixes #115514.


  Commit: 1bea22811762ed354f62a6efe4018ae18eca23fe
      https://github.com/llvm/llvm-project/commit/1bea22811762ed354f62a6efe4018ae18eca23fe
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/ftruncate.cpp
    M libc/src/unistd/linux/getentropy.cpp
    M libc/src/unistd/linux/link.cpp

  Log Message:
  -----------
  [libc][NFC] Migrate unistd entrypoints to syscall wrappers (#204176)

Migrated link, ftruncate, and getentropy entrypoints to use their
corresponding syscall wrappers instead of direct syscall_impl calls.
Updated CMake dependencies accordingly.

Assisted-by: Automated tooling, human reviewed.


  Commit: 68c947fc7f7182a4fae54533a10e392036efadc2
      https://github.com/llvm/llvm-project/commit/68c947fc7f7182a4fae54533a10e392036efadc2
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [NFC][AMDGPU][InsertWaitCnts] Move some simple functions into Utils (#202936)

Move really trivial functions into helpers to declutter InsertWaitCnt a
bit more.
I had to move HardwareLimits into a different header but it's only used
in InsertWaitCnt so it doesn't matter.


  Commit: 21f3248310b6507e79081a2e0fc2b6067bed77bc
      https://github.com/llvm/llvm-project/commit/21f3248310b6507e79081a2e0fc2b6067bed77bc
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    R llvm/test/CodeGen/AMDGPU/waitcnt-debug.mir

  Log Message:
  -----------
  [RFC][AMDGPU] Remove DebugCounter-based WaitCnt debugging (#202937)

It's 8 years old, only used by a handful of tests, and has not been
updated
in a while except for maintenance as far as I can see.

I don't mind keeping it in if there are users of it, but right now it
looks like a dead feature. If we want some more elaborate waitcnt
debugging,
we should have a modern, generic system that works on any waitcnt, not
something specific to 3 GFX9 counters.


  Commit: 1f9f4f874fc376647bf988c3ed9ceeb2f79d7db3
      https://github.com/llvm/llvm-project/commit/1f9f4f874fc376647bf988c3ed9ceeb2f79d7db3
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/test/API/api/listeners/main.c
    M lldb/test/API/commands/expression/ir-interpreter/main.c
    M lldb/test/API/commands/expression/radar_9673664/main.c
    M lldb/test/API/commands/expression/top-level/dummy.cpp
    M lldb/test/API/commands/expression/weak_symbols/main.c
    M lldb/test/API/functionalities/asan/main.c
    M lldb/test/API/functionalities/memory-region/main.cpp
    M lldb/test/API/functionalities/object-file/bin/hello.c
    M lldb/test/API/functionalities/object-file/bin/hello.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/main.cpp
    M lldb/test/API/functionalities/step-vrs-interrupt/main.cpp
    M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
    M lldb/test/API/functionalities/tsan/thread_leak/main.c
    M lldb/test/API/lang/c/const_variables/TestConstVariables.py
    M lldb/test/API/lang/c/const_variables/main.c
    M lldb/test/API/macosx/profile_vrs_detach/main.c
    M lldb/test/API/python_api/breakpoint/main.c
    M lldb/test/API/python_api/process/address-masks/main.c
    M lldb/test/API/python_api/unified_section_list/main.cpp
    M lldb/test/API/tools/lldb-dap/cancel/main.c
    M lldb/test/API/tools/lldb-dap/eventStatistic/main.cpp
    M lldb/test/API/tools/lldb-dap/locations/main.cpp
    M lldb/test/API/tools/lldb-dap/restart/main.c
    M lldb/test/API/tools/lldb-dap/send-event/main.c
    M lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
    M lldb/test/API/tools/lldb-dap/startDebugging/main.c
    M lldb/test/API/tools/lldb-dap/terminated-event/main.cpp
    M lldb/test/API/tools/lldb-dap/unknown/main.c

  Log Message:
  -----------
  [lldb] Remove several system header includes from tests (#204072)

System includes slow down test compilation and create unnecessary
dependencies on system header code.

This patch removes system headers from tests that do not test their
functionality. For the most part, this just removes the dummy 'printf'
we had in many tests.


  Commit: f8fea595913a8d06034cf87d3aa691c0d2a80be3
      https://github.com/llvm/llvm-project/commit/f8fea595913a8d06034cf87d3aa691c0d2a80be3
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/Basic/LangOptions.cpp

  Log Message:
  -----------
  [Clang][NFC] Change if-else to switch for OpenCL/HLSL version mapping (#204288)

Address https://github.com/llvm/llvm-project/pull/204043#discussion_r3419702862


  Commit: d5918cec5dfb81921c081134d7f516f2adb1ae0f
      https://github.com/llvm/llvm-project/commit/d5918cec5dfb81921c081134d7f516f2adb1ae0f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/mem2reg.mlir

  Log Message:
  -----------
  Revert "[flang][mem2reg] promote memory slots through declares" (#204332)

Reverts llvm/llvm-project#196975

This patch is causing regressions on some of our downstream testing. I
am not sure the logic here is directly to blame, but I'd rather revert
and investigate for now.


  Commit: f63d8d67a3ff11d06607f2f0cfedfd88d877e9de
      https://github.com/llvm/llvm-project/commit/f63d8d67a3ff11d06607f2f0cfedfd88d877e9de
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/prlimit.h
    M libc/src/sys/resource/linux/CMakeLists.txt
    M libc/src/sys/resource/linux/getrlimit.cpp
    M libc/src/sys/resource/linux/setrlimit.cpp

  Log Message:
  -----------
  [libc][NFC] wrap prlimit64 and refactor getrlimit/setrlimit (#204306)

Assisted-by: Automated tooling, human reviewed.


  Commit: b160d1d6e14c74a18b4a3043a210872cd27b6842
      https://github.com/llvm/llvm-project/commit/b160d1d6e14c74a18b4a3043a210872cd27b6842
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegionInfo.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/MachineRegionInfo.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/X86/machine-region-info.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port machine-region-info to new pass manager (#203848)

- Make `MachineRegionInfo` movable, like `RegionInfo`.
- Add printer pass.


  Commit: 12b775409b1a0c238c3c1c5c0c270d0af23a1852
      https://github.com/llvm/llvm-project/commit/12b775409b1a0c238c3c1c5c0c270d0af23a1852
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
    M mlir/include/mlir/Target/Wasm/WasmBinaryEncoding.h
    M mlir/lib/Target/Wasm/TranslateFromWasm.cpp
    A mlir/test/Target/Wasm/inputs/nearest.yaml.wasm
    A mlir/test/Target/Wasm/inputs/trunc_si.yaml.wasm
    A mlir/test/Target/Wasm/inputs/trunc_ui.yaml.wasm
    A mlir/test/Target/Wasm/nearest.mlir
    A mlir/test/Target/Wasm/trunc_si.mlir
    A mlir/test/Target/Wasm/trunc_ui.mlir

  Log Message:
  -----------
  [MLIR][WasmSSA] Add f32/f64.nearest and trapped float to int trunc operations (#193873)

- `f32.nearest` (wasmssa.nearest)
- `f64.nearest` (wasmssa.nearest)
- `i32.trunc_f32_s` (wasmssa.trunc_si)
- `i32.trunc_f64_s` (wasmssa.trunc_si)
- `i64.trunc_f32_s` (wasmssa.trunc_si)
- `i64.trunc_f64_s` (wasmssa.trunc_si)
- `i32.trunc_f32_u` (wasmssa.trunc_ui)
- `i32.trunc_f64_u` (wasmssa.trunc_ui)
- `i64.trunc_f32_u` (wasmssa.trunc_ui)
- `i64.trunc_f64_u` (wasmssa.trunc_ui)


  Commit: d7e30d2170ef03d503b69a5bef0734f6a585d5e3
      https://github.com/llvm/llvm-project/commit/d7e30d2170ef03d503b69a5bef0734f6a585d5e3
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/CodeGen/InlineAsmPrepare.cpp
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SystemZ/SystemZTDC.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/IntrinsicsTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp

  Log Message:
  -----------
  [IRBuilder] Refactor for intrinsics const-folding (NFC) (#202738)

In preparation to const-fold intrinsic calls, refactor the IRBuilder
API, generalizing it to return possibly constant-folded values.


  Commit: 22e1561c6fa6ab4937936113eed0c5cb037a102b
      https://github.com/llvm/llvm-project/commit/22e1561c6fa6ab4937936113eed0c5cb037a102b
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaConvertIntegerTypeToSignless.cpp
    M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir

  Log Message:
  -----------
  [mlir][tosa] Preserve raw const data in signless conversion (#204324)

Use DenseElementsAttr::getFromRawBuffer when rebuilding tosa.const
attributes in TosaConvertIntegerTypeToSignless. The previous
DenseElementsAttr::get(type, ArrayRef<char>) call interpreted raw bytes
as i8 elements, which asserted for integer constants wider than 8 bits.

Add regression coverage for ui16, ui32, and ui48 constants.

Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>


  Commit: 41aed9b83e64c8e929da31fe3eb33e48351960d6
      https://github.com/llvm/llvm-project/commit/41aed9b83e64c8e929da31fe3eb33e48351960d6
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
    M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
    M llvm/test/Transforms/GVN/debugloc-load-select.ll
    M llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
    M llvm/test/Transforms/GVN/load-through-select-dbg.ll
    M llvm/test/Transforms/GVN/opaque-ptr.ll
    M llvm/test/Transforms/GVN/pr69301.ll

  Log Message:
  -----------
  [GVN][NFC] Use InsertPt in MaterializeAdjustedValue (#204335)


  Commit: ddad3ca6c80c8e9963257f7c1b4561fd2459efce
      https://github.com/llvm/llvm-project/commit/ddad3ca6c80c8e9963257f7c1b4561fd2459efce
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/subtraction.c
    A clang/test/CodeGen/AArch64/neon/widen.c

  Log Message:
  -----------
  [CIR][AArch64] Lower NEON Widen && Widening subtraction intrinsics (#204088)

## summary

This is a part of : https://github.com/llvm/llvm-project/issues/185382

follow up of : https://github.com/llvm/llvm-project/pull/202857

Lower part of Widen and Widening subtraction intrinsics

### why implement two sets of intrinsics in one PR?

Widening subtraction depends on the widen intrinsics during lowering, so
I implemented them in the same PR.


  Commit: 564e83191cc5686429cefe69aff81c2aeb268f5a
      https://github.com/llvm/llvm-project/commit/564e83191cc5686429cefe69aff81c2aeb268f5a
  Author: Weibo He <NewSigma at 163.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/SemaCUDA/pr200545.cu

  Log Message:
  -----------
  [clang][Sema][CUDA] Restrict immediate template resolution to host-device functions (#200662)

Since overload resolution gives higher priority to `__host__` and
`__device__` attributes, HD functions may favor template candidates even
when a non‑template candidate would be a perfect match. This patch
resolves templates eagerly only for HD functions, not for all code
compiled with `-x cuda`, thus preventing valid host code from being
rejected.

Close #200545


  Commit: a1c3370d58b9c0a3d5b75cadff6d1b9c2449bf58
      https://github.com/llvm/llvm-project/commit/a1c3370d58b9c0a3d5b75cadff6d1b9c2449bf58
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
    M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
    M llvm/test/Transforms/GVN/debugloc-load-select.ll
    M llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
    M llvm/test/Transforms/GVN/load-through-select-dbg.ll
    M llvm/test/Transforms/GVN/opaque-ptr.ll
    M llvm/test/Transforms/GVN/pr69301.ll

  Log Message:
  -----------
  [GVN] Regenerate check lines (NFC) (#204341)

Test check lines have been regenerated while enabling MemorySSA as well.


  Commit: 81c35c7a0f5a0de73481474e3e7bad0599779d1f
      https://github.com/llvm/llvm-project/commit/81c35c7a0f5a0de73481474e3e7bad0599779d1f
  Author: Harry Ramsey <harry.ramsey at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/sve2-sli-sri.ll
    M llvm/test/CodeGen/AArch64/sve2-sra.ll

  Log Message:
  -----------
  [AArch64][SVE] Enable known bits for predicated shifts (#200347)

Allow SelectionDAG to query target known-bits information for scalable
vector nodes, and known-bits cases for SVE predicated SHL, SRL and SRA
nodes.

This enables DAG combines to prove disjointness for ORs involving
scalable vector shifts, enabling USRA/SSRA instruction selection.


  Commit: 2395e65f2f6f8a7bce2adeebd52bf2142a4c6853
      https://github.com/llvm/llvm-project/commit/2395e65f2f6f8a7bce2adeebd52bf2142a4c6853
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll

  Log Message:
  -----------
  [X86] Attempt to fold SHUF128(concat(x,y),concat(z,w),0x44) -> concat(x,z) (#204340)

Trying to yak shave the regressions on #201271 led me here - I really
want this to be done generically as a canonicalization inside
combineX86ShufflesRecursively, but hit some issues with the widening
code that is still causing trouble for #45319


  Commit: 60ad6ed5dfd225db07f96eb7bbfbf2f8f2f3a8c4
      https://github.com/llvm/llvm-project/commit/60ad6ed5dfd225db07f96eb7bbfbf2f8f2f3a8c4
  Author: Diego Novillo <dnovillo at nvidia.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
    A clang/test/CodeGenHLSL/preserve-interface.hlsl
    A clang/test/Driver/dxc_fspv_preserve_interface.hlsl
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/preserve-interface-dce.ll
    A llvm/test/CodeGen/SPIRV/preserve-interface.ll

  Log Message:
  -----------
  Reapply "[clang][SPIR-V] Implement -fspv-preserve-interface (#196404)" (#204249)

This reverts commit 6746898d2bfc086947d86715e065f8dbf74e9690.

[clang][SPIR-V] Re-land -fspv-preserve-interface (#196404)

This had been reverted in #202558 due to a missing symbol
(llvm::removeFromUsedLists). That symbol is now available in main.

@jmmartinez @jplehr could you please review?

I did not need to modify the original PR #196404 . As I described in
https://github.com/llvm/llvm-project/pull/196404#issuecomment-4661219367,
the build failure on `main` was not due to it.

Tested locally. Will watch the bots once the PR is created.


  Commit: 8f7b80b178a69b717838565723d34e26fda9fd63
      https://github.com/llvm/llvm-project/commit/8f7b80b178a69b717838565723d34e26fda9fd63
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll

  Log Message:
  -----------
  [Loads][LAA] Properly handle multiple deref assumptions (#204083)

The current code uses a `DerefRK = std::max(DerefRK, RK)` pattern, which
mostly "works" by accident. The maximum here is based on RK.ArgValue,
which will be 0 on initialization and then (incorrectly) set to 1 for
variable dereferenceable assumptions, or N for constant ones. So if we
have a single variable dereferenceable assumption, this ends up working.
If we have multiple, or there are also constant assumptions, or we fix
the incorrect ArgValue initialization, this breaks down.

Fix this by individually inspecting the RK values. Do the checks for
each one until we have both align and dereferenceable proven. For the
LAA case, add all the applicable dereferenceable assumptions to the umax
expression.


  Commit: 894c21432024c05583aafee9add41cb4978a6f7b
      https://github.com/llvm/llvm-project/commit/894c21432024c05583aafee9add41cb4978a6f7b
  Author: Aleksandar Spasojevic <aleksandar.spasojevic at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
    A llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns-wave64.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll

  Log Message:
  -----------
  [AMDGPU][InstCombine] Fold identity wave shuffle to its source (#204121)

The constant-shuffle matcher emitted a self-targeting update_dpp
(quad_perm 0xe4) for an identity shuffle instead of eliminating it.
Return the source value when every lane reads itself so the intrinsic
folds away.

Add a separate wave64 test file that drives the matcher with the full
wave64 thread ID (mbcnt.hi(mbcnt.lo)), covering quad_perm and other DPP
forms plus identity folding.


  Commit: 041262ddff11fab6b84e3542596d0d8a5b593bd2
      https://github.com/llvm/llvm-project/commit/041262ddff11fab6b84e3542596d0d8a5b593bd2
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp.ll
    A llvm/test/CodeGen/NVPTX/float-to-arbitrary-fp.ll
    A llvm/test/CodeGen/X86/float-to-arbitrary-fp-error.ll
    A llvm/test/CodeGen/X86/float-to-arbitrary-fp.ll

  Log Message:
  -----------
  [SelectionDAG] Add expansion for llvm.convert.to.arbitrary.fp (#193595)

The expansion converts a native IEEE float to an arbitrary-precision FP
format, returning the result as an integer, following this algorithm:

1. Bitcast the source float to an integer and extract sign, exponent,
and mantissa bit fields via masks and shifts.
2. Classify the input (zero/denormal/normal/Inf/NaN).
3. Normalize the source via FFREXP.
4. Normal path: adjust the exponent bias from source to destination
format and truncate the mantissa with rounding (supports
NearestTiesToEven, TowardZero, TowardPositive, TowardNegative,
NearestTiesToAway).
5. Denormal destination path: when the biased destination exponent is <=
0, shift the mantissa right to produce a denormalized result with
rounding.
6. Handle mantissa overflow from rounding and exponent overflow. Produce
Inf or saturate to max finite, depending on format and saturation flag.
7. Build special-value results (canonical qNaN, signed Inf, signed zero)
adapted to the destination format's non-finite behavior (IEEE754,
NanOnly, FiniteOnly).
8. Final selection in priority order: NaN > Inf > Zero > Overflow >
Normal/Denorm.

Currently only conversions to OCP floats are covered, in LLVM terms
these are: Float8E5M2, Float8E4M3FN, Float6E3M2FN, Float6E2M3FN,
Float4E2M1FN.

OCP spec:

https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf

E2E testing on X86 done with an assistance of Claude Code Opus 4.6.


  Commit: 9befd0bfe6ee7acd21eec581037bea91cf95b9ba
      https://github.com/llvm/llvm-project/commit/9befd0bfe6ee7acd21eec581037bea91cf95b9ba
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/masked-divrem.ll
    M llvm/test/Verifier/reduction-intrinsics.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [LLVM][Intrinsics] Add scalar-only and vector-only overload types (#204138)

Add integer/fp overload types that allow only scalar or only vector
types, and adopt them in some existing intrinsics.

Fixed ValueTracking unit test to not exercise invalid vp reduce
intrinsics as they now fail to parse (as opposed to fail to validate).

See
https://discourse.llvm.org/t/rfc-minor-change-in-overloaded-types-for-intrinsics/90880


  Commit: 64b11dbaf97b8b094b2836ae92db30b732f4a069
      https://github.com/llvm/llvm-project/commit/64b11dbaf97b8b094b2836ae92db30b732f4a069
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A libcxx/docs/Status/Cxx26.rst
    A libcxx/docs/Status/Cxx26Issues.csv
    A libcxx/docs/Status/Cxx26Papers.csv
    A libcxx/docs/Status/Cxx29.rst
    A libcxx/docs/Status/Cxx29Issues.csv
    A libcxx/docs/Status/Cxx29Papers.csv
    R libcxx/docs/Status/Cxx2c.rst
    R libcxx/docs/Status/Cxx2cIssues.csv
    R libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/index.rst
    M libcxx/utils/conformance

  Log Message:
  -----------
  [libc++] Add WG21 issues and papers voted in Brno (#204191)

All papers were targeting C++29, so I created new CSV tracking files. A
few papers were forwarded by CWG in plenary but have library wording, so
they are included here. I believe at least some of them will be *nothing
to do*, but should still be included for completeness.

Minor drive-bys:
- rename Cxx2c to Cxx26
- synchronize RST notes from CSVs to Github issues

Assisted by Claude


  Commit: c10d23a190ca64fe3d93c7e22989ff1d3f5f918a
      https://github.com/llvm/llvm-project/commit/c10d23a190ca64fe3d93c7e22989ff1d3f5f918a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAPSessionManager.cpp
    M lldb/tools/lldb-dap/EventHelper.cpp

  Log Message:
  -----------
  [lldb-dap] subscribe to target events at the broadcaster-manager level (#201866)

https://github.com/llvm/llvm-project/pull/200133 added
`wait_for_module_events()` assertions to `TestDAP_attachCommands.py` and
`TestDAP_launch_extra_launch_commands.py`. However, `SetTarget` is
called after the `Run*Commands`, so this fails on Windows, because it
loads modules early during the process startup. The module-load events
are not listened to.

This patch moves the event subscription to
`DAPSessionManager::GetEventThreadForDebugger` and uses
`StartListeningForEventClass` so any target created in this debugger
automatically gets the listener attached. This is the same pattern we
already use for `SBThread` events.

This is a follow up to https://github.com/llvm/llvm-project/pull/201796
which skipped the tests.

rdar://179923440


  Commit: f87ac0815c08866bc9ec60fc31fe082cdb21bab0
      https://github.com/llvm/llvm-project/commit/f87ac0815c08866bc9ec60fc31fe082cdb21bab0
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/include/lldb/Host/ProcessLaunchInfo.h
    M lldb/source/Host/windows/PseudoConsole.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb][Windows] use pipes when no terminal dimensions are sent (#203562)

Plumb `eLaunchFlagUsePipes` from the lldb-dap client through the
gdb-remote protocol to lldb-server so the server's LaunchProcess can
choose between ConPTY and anonymous pipes for inferior stdio.

This is needed for LLDB DAP in `internalConsole` mode.

Fixes `TestDAP_launch_args.py`, `TestDAP_launch_basic.py`, and
`TestDAP_launch_shellExpandArguments_disabled.py` on Windows under
`LLDB_USE_LLDB_SERVER=1`.

rdar://178725958


  Commit: 431c300137c9b6b1f481eb3347ec49e3c52a1596
      https://github.com/llvm/llvm-project/commit/431c300137c9b6b1f481eb3347ec49e3c52a1596
  Author: Simi Pallipurath <simi.pallipurath at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/src/string/memory_utils/arm/inline_memset.h

  Log Message:
  -----------
  [ARM][Libc] Fix ARM big-endian low-end inline_memset byte fills (#198777)

Fix inline_memset_arm_low_end to use the splatted 32-bit fill value for
all byte stores. This ensures that all stores, including unaligned and
trailing byte fills, write the requested repeated byte value on
big-endian ARM.

The low-end ARM memset path already builds value32 as value 0x01010101U
for aligned word/block stores, but its byte-wise prefix and tail
handling still passed the raw 8-bit value * widened to uint32_t. Use
value32 for the byte-wise alignment prefix and final tail loop as well.
This makes the low-end path endian-safe and consistent with
inline_memset_arm_mid_end, fixing incorrect NUL/truncated output in
printf-family formatting and direct memset tests on big-endian ARM
no-unaligned-access targets.


  Commit: 8c63db09597a34e526709dd05e58c89294e73b14
      https://github.com/llvm/llvm-project/commit/8c63db09597a34e526709dd05e58c89294e73b14
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/AssumeBundleQueries.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll

  Log Message:
  -----------
  [AssumeBundleQueries] Use correct default value for dereferenceable (#203943)

Dereferenceable with a non-constant argument should be treated like
dereferenceable(0), not dereferenceable(1).


  Commit: 2257f9221a4c398a1ba8d50aca3d2241dfb8acb7
      https://github.com/llvm/llvm-project/commit/2257f9221a4c398a1ba8d50aca3d2241dfb8acb7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
    M llvm/test/CodeGen/X86/haddsub-shuf.ll
    M llvm/test/CodeGen/X86/pr81136.ll
    M llvm/test/CodeGen/X86/sad.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedVectorElts - always attempt SimplifyMultipleUseDemandedVectorElts call for ISD::EXTRACT_SUBVECTOR (#204351)

The ISD::EXTRACT_SUBVECTOR case was only calling
SimplifyMultipleUseDemandedVectorElts if its own DemandedElts mask
wasn't full - but that's irrelevant as the source vector DemandedElts
mask is the one that matters, and that should always be partial.

Noticed while working on regressions with #201271


  Commit: b15335200c0350e0486f3dcd9885da0b627d1e50
      https://github.com/llvm/llvm-project/commit/b15335200c0350e0486f3dcd9885da0b627d1e50
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M offload/test/lit.cfg

  Log Message:
  -----------
  [OpenMP] Limit HSA core dumps for OpenMP test suite (#204352)

Summary:
These will print extra information, which makes it difficult to match on
the `libomptarget` output in exceptional cases like in the sanitizer
checks.


  Commit: 4081d00456b62adfffbc6d489ee489f5a69ad891
      https://github.com/llvm/llvm-project/commit/4081d00456b62adfffbc6d489ee489f5a69ad891
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/sys-resource-macros.h
    M libc/src/unistd/linux/sysconf.cpp
    M libc/test/src/unistd/sysconf_test.cpp

  Log Message:
  -----------
  [libc] Clean up sysconf implementation and tests (#204130)

Refactored sysconf.cpp to use a switch-case block instead of an if-else
chain. Delegated the logic for existing options to helper functions
(get_page_size, get_nprocessors_conf, get_nprocessors_onln) in an
anonymous namespace to reduce cognitive complexity.

Updated file headers in sysconf.cpp and sysconf_test.cpp to the standard
three-section format.

Fix RLIM_INFINITY to work on both 32- and 64-bit systems.

Modernized suffix literals in sysconf_test.cpp.

Assisted-by: Automated tooling, human reviewed.


  Commit: 3fee6e5ab45d1d352f995ae4eafa5106a0c5fc0d
      https://github.com/llvm/llvm-project/commit/3fee6e5ab45d1d352f995ae4eafa5106a0c5fc0d
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A flang/test/Driver/fakeflang.F
    M flang/tools/CMakeLists.txt
    A flang/tools/fakeflang/CMakeLists.txt
    A flang/tools/fakeflang/ensure_flang_exists.cmake
    A flang/tools/fakeflang/fakeflang.cpp
    M flang/tools/flang-driver/CMakeLists.txt
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/runtimes/CMakeLists.txt
    M runtimes/cmake/config-Fortran.cmake

  Log Message:
  -----------
  [Flang] Add mock flang driver (#203481)

Add a mock driver to pass CMake's compiler introspection for
CMake_Fortran_COMPILER. It's purpose is to not having to build the full
flang compiler for the runtimes-configure phase in
bootstrapping-runtimes builds, but only when the Fortran compiler is
actually needed (e.g. flang-rt-mod, libomp-mod).

To detect LLVMFlang, CMake executes
```
   ${CMAKE_Fortran_COMPILER} -v -c -target=... CMakeFortranCompilerId.F
```
and expects a new file to appear in the working directory. This would
usually be an object file (e.g. ELF), but it doesn't matter for CMake as
it parses it for the preprocessor result of CMakeFortranCompilerId.F
which would appear as string literals in the binary file (CMake cannot
execute the file because it might be cross-compiling). Just passing it
through the preprocessor yields the same result. The most relevant
preprocessor definition is __flang__ which leads to
CMAKE_Fortran_COMPILER_ID="LLVMFlang".

This is more robust than #198205:
1. It does not rely on `CMake_Fortran_COMPILER_FORCED` which the CMake
manual documents as [Do not
use](https://cmake.org/cmake/help/latest/module/CMakeForceCompiler.html),
nor the undocumented `CMAKE_Fortran_COMPILER_ID_RUN`.
2. Incremental builds are more robust, there should be no risk of the
make program (ninja/make) mistakenly interpreting the empty/mock
executable as the up-to-date build artifact. Creating the shim/empty
flang executable is done in the outer bootstrapping built (rather than
in the inner runtimes build); having control over both rules that create
bin/flang allows this.

Also fixes the problem that check-flang-rt/check-openmp [do not trigger
(re-)building
flang](https://github.com/llvm/llvm-project/pull/198205#pullrequestreview-4412291879).

I think it should fix intermittend failures of the premerge-CI such as
https://github.com/llvm/llvm-project/actions/runs/27389890881/job/80947804137?pr=203400.


Design considerations:

* This relies on the way how CMake currently introspects the compiler.
However, I expect it to stay "look into the produced files" in the
foreseable future and will also not rely on runtime string concatenation
because debug builds may not ptimize them into a single string constant.
That is, there are reasons CMake can only rely on the preprocessor. The
Fortran standard does not mandate a preprocessor, yet CMake relies on
it.

* There is one situation where incremental builds to not completely
work: deleting bin/flang manually and then building runtimes-configure
will not recreate either bin/flang. No impact if runtimes-configure was
actually run before because in that case CMake has already cached the
CMAKE_Fortran_COMPILER inspection result.
 
* ninja does not allow two rules to create the same file (one to create
bin/flang only if it is missing and another that replaces it with the
full flang), one of the build artifacts must be undeclared. That could
be the full flang would only be created explicitly with a separate
`flang-eager` target (flang itself have the output
`bin/flang-<version>`, `bin/flang` is the symlink to it), but that would
require more intrusive changes.


  Commit: 1acbbfb32765829cfc837aaa6e354af44e7fed61
      https://github.com/llvm/llvm-project/commit/1acbbfb32765829cfc837aaa6e354af44e7fed61
  Author: lntue <lntue at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Support/APFloat.cpp

  Log Message:
  -----------
  [llvm] Fix APFloat::exp for 32-bit x86 when dealing with signaling NaNs. (#204274)

Currently APFloat::exp uses convertToFloat and convertToDouble which
might silence sNaN on 32-bit x86.  Add `APFloat::isSignaling` check explicitly.


  Commit: 18b27e71c4276b186ad834d1a792f8e8d92993dd
      https://github.com/llvm/llvm-project/commit/18b27e71c4276b186ad834d1a792f8e8d92993dd
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/zos-err-options.c

  Log Message:
  -----------
  [SystemZ][z/OS] Mark the -msoft-float option as unsupported on z/OS (#204209)

This patch unsupports the -msoft-float option for z/OS


  Commit: c64ec3766d72ab552957827b5a96cc50ed6c7182
      https://github.com/llvm/llvm-project/commit/c64ec3766d72ab552957827b5a96cc50ed6c7182
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
    M llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir

  Log Message:
  -----------
  [AMDGPU] Fix checkVALUHazardsHelper distance accounting on branchy CFG (#203770)

#197267's `checkVALUHazardsHelper` rewrite walked predecessors with an
always-false predicate and accumulated wait-state distance in a single
counter shared across recursively visited blocks. On branchy control
flow that counter sums sibling-path distances, so window - distance goes
negative and the protective S_NOP is dropped.

This fix restores independent per-window `getWaitStatesSince` scans,
which return the minimum distance to a matching producer across
predecessor paths.

It also splits the pre-gfx940 and gfx940-family paths for readability
while preserving #197267's sgpr-soffset window rules.

Co-authored-by: Larry Meadows <Lawrence.Meadows at amd.com>

---------

Co-authored-by: Larry Meadows <Lawrence.Meadows at amd.com>


  Commit: 97df9d1c253ac078a388267f7c8268f78b0af837
      https://github.com/llvm/llvm-project/commit/97df9d1c253ac078a388267f7c8268f78b0af837
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 1bea228 (#204326)

This fixes 1bea22811762ed354f62a6efe4018ae18eca23fe.

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


  Commit: d08ca31f486034cf43a71de780be7d030e227873
      https://github.com/llvm/llvm-project/commit/d08ca31f486034cf43a71de780be7d030e227873
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
    M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
    M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
    M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_finish.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_step_out.cpp
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-script-nodes.test
    M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/valid-parse.test

  Log Message:
  -----------
  [Dexter] Add !then node (#202546)

In order to exercise more control over stepping in Dexter tests, this
patch adds the `!then` node which can be used to step out of a function
or exit the current test. Unlike expect nodes, !then nodes appear as
direct singular children of a state node:

!where {lines: 10}: !then finish

The two currently available commands are "step_out" and "finish".
step_out performs a debugger "step out" command, skipping over all
!wheres in the current frame and not stepping into any lower !wheres.
The finish command ends the debugger session immediately after finishing
the current step.


  Commit: 3e04cdb3e977951679cfffdbb602cebc5925c4e7
      https://github.com/llvm/llvm-project/commit/3e04cdb3e977951679cfffdbb602cebc5925c4e7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M offload/ci/openmp-offload-amdgpu-libc-runtime.py

  Log Message:
  -----------
  [AMDGPU] Add compiler-rt checks for the GPU runtime (#204358)

Summary:
This test suite includes UBSAN and builtin tests. These are invoked and
tested in the same way as the libc tests.


  Commit: 05ad0b5bc504575fc5711c9090f6161597d9e790
      https://github.com/llvm/llvm-project/commit/05ad0b5bc504575fc5711c9090f6161597d9e790
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/div.ll

  Log Message:
  -----------
  [InstCombine] Sink IDiv to Select's arm when another is 1 (#203478)

And the divisor is neither 0 nor poison. For sdiv, limit divisor to
constant to avoid signed overflow concern.

Verified by alive tool: https://alive2.llvm.org/ce/z/ao3ffi

Assisted-by: Claude Sonnet 4.6


  Commit: 24f4fbf89d7e1c6e7b00efde469adb0a8c529cd2
      https://github.com/llvm/llvm-project/commit/24f4fbf89d7e1c6e7b00efde469adb0a8c529cd2
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M offload/ci/openmp-offload-amdgpu-libc-runtime.py

  Log Message:
  -----------
  Revert "[AMDGPU] Add compiler-rt checks for the GPU runtime" (#204370)

Reverts llvm/llvm-project#204358


  Commit: e12ce86b96bd008d9adf682005c00e133c7daf5b
      https://github.com/llvm/llvm-project/commit/e12ce86b96bd008d9adf682005c00e133c7daf5b
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb][gdb-remote] Send argv[0] in remote target's separator style on launch (#204134)

When lldb launches an inferior on a remote stub via the A or vRun
packet, `ProcessGDBRemote::DoLaunch` currently sends the executable path
through `FileSpec::GetPath(denormalize=true)`. That uses the FileSpec's
`m_style`, which is the lldb client host's native style by default, not
the remote target's. So a Windows lldb client launching on a POSIX
remote sent the path with backslashes, so the remote tried to launch a
file that didn't exist.

The fix re-normalizes the `FileSpec` with the target's triple before
denormalizing, so path uses the remote's native separators. This is only
done when the target's OS is actually known. When it isn't, we keep the
historical host-native behavior, since tests and callers that only set
arch (e.g. QLaunchArch:x86_64 with no qHostInfo OS) have always relied
on the old default.

This fixes `TestNoLocalFile` on Windows with `LLDB_USE_LLDB_SERVER=1`.

rdar://179932755


  Commit: 980e9487c6291a6c377a13b6a775205237f29bae
      https://github.com/llvm/llvm-project/commit/980e9487c6291a6c377a13b6a775205237f29bae
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/clmul-fixed.ll
    A llvm/test/Analysis/CostModel/AArch64/clmul-scalable.ll
    M llvm/test/Analysis/CostModel/AArch64/clmul.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll

  Log Message:
  -----------
  [AArch64] Update Cost model for CLMUL (#202965)

CLMUL now has custom backend lowering and the efficiency of its lowering
is heavily dependant on available flags. This patch aligns the cost
model from the generic costs to the realistic costs.


  Commit: 51f54bbae9cb7c3e216418d743c32f0120b8e78d
      https://github.com/llvm/llvm-project/commit/51f54bbae9cb7c3e216418d743c32f0120b8e78d
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/dxc_debug.hlsl
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll
    M llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll

  Log Message:
  -----------
  [Driver][DirectX] Add `-Zss` and `-Zsb` flags (#203960)

Add flags that control whether the shader hash is computed with or
without including debug info (from ILDB or DXIL part).


  Commit: 14877f950a12e5681d06f2866f05bbfd8d65a0be
      https://github.com/llvm/llvm-project/commit/14877f950a12e5681d06f2866f05bbfd8d65a0be
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/AST/AttrImpl.cpp
    M clang/lib/AST/Type.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [clang][AST] Attributed Type Deduplication Logic Cleanup (#204263)

https://github.com/llvm/llvm-project/pull/200961 implemented
`AttributedType` deduplication using the attributes' arguments. This PR
addresses the post-commit feedback.

The reason to have `llvm_unreachable("profile not implemented for this
type");` in the body of `profileAttrArg` for non-supported attribute
types is that none of the attributes that currently instantiate this
method are type attributes. The methods that are instantiated and not
supported are all for decl attributes. Leaving the body out will lead to
compilation failures, but the method's body should never be executed. If
an unsupported attribute type happens to execute this code path, the
failure should be loud and clear.


  Commit: b07436f1ef4b3ea0a7981e97700fd44fc9fb3d8a
      https://github.com/llvm/llvm-project/commit/b07436f1ef4b3ea0a7981e97700fd44fc9fb3d8a
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [bazel][libc] Fix f63d8d67a3ff11d06607f2f0cfedfd88d877e9de (#204372)

Add target for prlimit + add to deps


  Commit: 0926a1b59e042afbad1a895aa4e429b68ad6fec0
      https://github.com/llvm/llvm-project/commit/0926a1b59e042afbad1a895aa4e429b68ad6fec0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn

  Log Message:
  -----------
  [gn] port dcda5e1719a5e (#204373)


  Commit: 16f040867465f25bc48954f9725c1355caf6236f
      https://github.com/llvm/llvm-project/commit/16f040867465f25bc48954f9725c1355caf6236f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2964323a936c (#204374)


  Commit: d3983310a4a65683d63ab6ab5af1a9bfde737128
      https://github.com/llvm/llvm-project/commit/d3983310a4a65683d63ab6ab5af1a9bfde737128
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/unittests/CMakeLists.txt

  Log Message:
  -----------
  [lldb][unittests] Add LLDB_UNITTEST_STRIP_DEBUG_INFO to cut unittest link time (#203274)

Add an opt-in cache option (default OFF). When ON, every target declared
via `add_lldb_unittest` links without per-target debug info and
dead-strips:
- **MSVC**: `/DEBUG:NONE + /INCREMENTAL:NO + /OPT:REF + /OPT:ICF`
- **clang/gcc**: `-g0 + LINKER:--strip-debug` (or `LINKER:-S` on macOS).

This drastically speeds up linking the unittests executable when
building with debug info on Windows.


  Commit: 0176227cffbada32744b28eff72482b742e1bae9
      https://github.com/llvm/llvm-project/commit/0176227cffbada32744b28eff72482b742e1bae9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll

  Log Message:
  -----------
  [SimplifyCFG] Use context instruction in foldBranchToCommonDest() (#203516)

When determining whether instructions can be speculate, pass the
terminator of the predecessor as the context instruction.

Only do this for the single predecessor case, otherwise we'd have to
perform one query per predecessor. The multi-predecessor case is
excluded by the default cost model anyway.


  Commit: d76dd878dd32cd20f0de61b89b085600f7adbcde
      https://github.com/llvm/llvm-project/commit/d76dd878dd32cd20f0de61b89b085600f7adbcde
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Fix LLDB_BUILD_FRAMEWORK with the dynamic script interpreters (#204265)

When using LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS (the default on Darwin
as of #204015), the PluginManager loads at runtime by scanning the
directory that holds liblldb. A framework build moves liblldb into
LLDB.framework, but the plugins were only emitted into lib/ and never
copied into the bundle, so they were never found.

Add lldb_add_scriptinterpreter_plugin_to_framework(), called from the
Python and Lua plugin CMakeLists, which copies the plugin next to the
framework binary and appends an rpath so it can resolve liblldb from
inside the bundle. The copy uses the plugin's unversioned name because
PluginManager derives the initializer symbol from it (a versioned copy
would load but never register). Non-framework builds are unaffected.


  Commit: 5fcb285e3c85eef40398b9a28d5a418b1a048e40
      https://github.com/llvm/llvm-project/commit/5fcb285e3c85eef40398b9a28d5a418b1a048e40
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_matrix.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Fix load_matrix lowering for non-LLVM element types (#203629)

LoadStoreMatrixToXeVMPattern built the llvm.load result from the raw op
result element type. For element types without a direct LLVM
representation (e.g. f8E8M0FNU) this produced an illegal op: 'llvm.load'
op result #0 must be LLVM type with size, but got 'f8E8M0FNU'.

Derive the load result type from the type converter instead. This maps
such element types to an integer storage type of the same bit width,
collapses single-element vectors to a scalar, and flattens multi-element
vectors. The store path already used the converted operand and is
unchanged; the XeVM type converter's materialization casts bridge the
loaded value back to the original vector type for downstream consumers.

Add load_matrix regression tests for f8E8M0FNU (scalar and vector).


  Commit: 22d769819cd72ad0298c7d7c2e035564776932e1
      https://github.com/llvm/llvm-project/commit/22d769819cd72ad0298c7d7c2e035564776932e1
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp

  Log Message:
  -----------
  [MLIR][GPUToXeVMPipeline] Expand MX scaling ops before XeVM conversion (#203632)

arith.scaling_extf/scaling_truncf were never lowered by the
gpu-lower-to-xevm pipeline, so micro-scaling (MX) GEMM kernels kept
these ops (and their narrow-float operands) live all the way to LLVM
translation.

Run arith-expand before the XeVM/LLVM conversions to break
scaling_extf/scaling_truncf into extf/truncf + mulf and to expand
f8E8M0FNU casts into integer bit manipulation. f4E2M1FN expansion is
intentionally left disabled: its casts are lowered by the XeVM
conversions (xevm.extf), whereas f8E8M0FNU is not handled there and must
be expanded here. The generic f4E2M1FN expansion would otherwise emit i4
vector arithmetic that the XeVM backend cannot legalize.


  Commit: 96127e6a8c4dfb80caa5018a9300b3ed5a7b28aa
      https://github.com/llvm/llvm-project/commit/96127e6a8c4dfb80caa5018a9300b3ed5a7b28aa
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Offload] Fix pessimistic max block count sizing on AMDGPU (#204242)

Summary:
For whatever reason, HSA copied the questionable choices that OpenCL
made and represents its launch parameters in a threads * blocks grid.
The problem is that you then combine this with an `int32_t` interface,
so you have 31 bits to represent your launch. We were then
pessimistically stating that your launch always had 1024 threads, which
left us with 2^21. This is only about two million which people do all
the time, and this caused us to perform weird clamping in OpenMP. The
effect was that tests like ompx_saxpy_mixed.c was hitting that clamp and
returning wrong results.

Also fix the sanitizer tests failing because of HSA core dumps.


  Commit: 5a5d0fb1e471b3a1e842aee1f993e885c8d19713
      https://github.com/llvm/llvm-project/commit/5a5d0fb1e471b3a1e842aee1f993e885c8d19713
  Author: Ehsan Amiri <ehsan.amiri at huawei.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
    A llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
    M polly/test/Support/pipelineposition.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Generalize the notion of trivial unswitching (#193989)

For a loop like this 

```
     for (int j = 0; j < M; j++) {
       if (N <= 0) continue;          // invariant guard branches to latch
       for (int i = 0; i < N; i++)
         A[i] = B[i] + 1;
     }
```
Since none of the successors of the guard branch of the inner loop are
outside the loop `j`, unswitching treats this as a non-trivial branch.
In reality, this is a perfect loop nest. If the condition of the guard
of `i` loop is false, there is nothing to do and so if we unswitch this
branch, the loop does not need to be versioned. This matches the
requirements of a trivial unswitch. This patch extends trivial loop
unswitching to catch cases like this.

The patch changes the loop guard so that instead of branching to the
latch of the outer loop, it exits the loop. This allows the existing code
for trivial unswitching to perform the transformation. The change in the
loop guard will happen only if all conditions for unswitching are met.


  Commit: c625725b06987f05e8742df291da082a964dab03
      https://github.com/llvm/llvm-project/commit/c625725b06987f05e8742df291da082a964dab03
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/test/CodeGen/NVPTX/packed-aggr.ll

  Log Message:
  -----------
  [NVPTX] Properly emit narrow ptrtoint in aggregate initializers. (#201217)

If you have a 64-bit pointer and use ptrtoint to convert it to an i32,
that's supposed to return the low 32 bits of the pointer.

But if you use a narrowing ptrtoint inside a global aggregate
initializer, we currently don't mask the bytes.  For this IR:

    @g = addrspace(1) global i32 0
    @s = addrspace(1) global { i32, i32 }
           { i32 ptrtoint (ptr addrspace(1) @g to i32), i32 0xdeadbeef }

on nvptx64 we emitted

    .u64 s[1] = {g};

i.e. we emitted the full 64-bit address of `@g`, and entirely dropped
the
trailing i32 (0xdeadbeef).

I'm not sure why anyone would want to do this, but it is an explicitly
supported feature, so I suppose we might as well do it correctly.


  Commit: f77ca4872537f200d36f0a33732f692cdc1b473c
      https://github.com/llvm/llvm-project/commit/f77ca4872537f200d36f0a33732f692cdc1b473c
  Author: Quanye Yang <quanyemostima at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/analysis-unknown-opcode-did-you-mean.test
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp

  Log Message:
  -----------
  [llvm-exegesis] Add did-you-mean hint for unknown opcodes (#203463)

Fixes #203199

When skipping a benchmark entry with an unknown opcode name, suggest the
nearest matching opcode if the edit distance is <= 1 (similar to
OptTable::findNearest).

Example:
```text
warning: skipping benchmark entry: No opcode with name 'VADDPDYrrr' - did you mean 'VADDPDYrr' ?
```

And Tested with:
- `llvm-lit
llvm/test/tools/llvm-exegesis/X86/analysis-unknown-opcode-did-you-mean.test`
- `llvm-lit
llvm/test/tools/llvm-exegesis/X86/analysis-skip-unknown-opcode.test`

---------

Signed-off-by: quanyeyang <quanyemostima at gmail.com>


  Commit: b949373c0542fc95f4db969d5b2c4ad3d2d8971c
      https://github.com/llvm/llvm-project/commit/b949373c0542fc95f4db969d5b2c4ad3d2d8971c
  Author: Michael Karcher <github at michael-karcher.net>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrAtomics.td
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/test/CodeGen/M68k/Atomics/load-store.ll
    M llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
    M llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/M68k/is-pcrel-register-operand-legal.mir

  Log Message:
  -----------
  [M68k] Do not allow addressing modes k and q as MOVE targets (llvm#200826) (#201653)

This is intended as a fix for #200826 by removing PC-relative address
modes from the m68k MOVE patterns. It also affects MOVEM, and the
"atomic store" pattern that maps to the respective MOVE instruction as
well. This patch is based on the big patch authored by Gemini at
https://github.com/llvm/llvm-project/issues/181481#issuecomment-4476933700
, but as has been carefully trimmed to just address one single issue,
and every change has been verified to make sense. Gemini also restricted
the list of source addressing modes for MOVEM to the valid destination
addressing modes, which is not required according to the Motorola
specification.


  Commit: 12d560d4278803be7a91fdcf17e82ac4ad12ff49
      https://github.com/llvm/llvm-project/commit/12d560d4278803be7a91fdcf17e82ac4ad12ff49
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/sdivrem24.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll

  Log Message:
  -----------
  [AMDGPU] Remove unnecessary and broken sign/zero-extension (#203436)

When expanding div/rem by using floating-point operations,
sign/zero-extending the result from the calculated DivBits input width
to 32-bits is unnecessary. CreateFPToSI or CreateFPToUI is called with a
32-bit int type so the conversion instruction will already produce a
result with the desired width.

Also it is incorrect. For signed-division `DIVBITS_MAX_NEG/-1`, the
result should be `-DIVBITS_MAX_NEG` a positive value. Sign-extension
will incorrectly return a negative result. For example, for DivBits=4,
`-8/-1 = 8`, but adding code to do a 28-bit sign-extension will
incorrectly return `-8`.

Tested in https://github.com/llvm/llvm-test-suite/pull/423.

---------

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


  Commit: d84819d39e3103f92ad9b375cea7864280f3325c
      https://github.com/llvm/llvm-project/commit/d84819d39e3103f92ad9b375cea7864280f3325c
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp

  Log Message:
  -----------
  [NVPTX] Fix build break from #201217 (#204380)

#201217 added a third `SymbolSize` argument to `AggBuffer::addSymbol()`
but missed one call site, which was added by 98160521cb72 after the PR
branch was cut. Pass `AllocSize` like the sibling calls do.


  Commit: cbd76dcfa81e58dbaca01dcef561429cb59da20f
      https://github.com/llvm/llvm-project/commit/cbd76dcfa81e58dbaca01dcef561429cb59da20f
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/Host.mm

  Log Message:
  -----------
  [lldb] Fix race in macOS's FindProcessesImpl (#204109)

Our current FindProcessImpl has a TOCTOU bug where we first query the
buffer size we should provide via sysctl and then later pass a buffer
with that size to be filled. If the list of processes grows larger than
the buffer we pass, then our current implementation fails by returning
an empty list of processes. This race only happens rarely in practice as
we pad the buffer size with 10 additional entries to account for some
process growth.

This patch replaces this logic by a backoff loop that retries fetching
the process list if our buffer is too small (sysctl tells us if this is
the case by setting ENOMEM). This new implementation can only fail in
the system consistently spawns thousands of new processes between
each retry.

This should fix the actual root-cause for the random failures in
TestSimulator.py


  Commit: 4a9cb1f4e04683f84da60a4d3d60547af324f40a
      https://github.com/llvm/llvm-project/commit/4a9cb1f4e04683f84da60a4d3d60547af324f40a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    A libcxx/docs/PostMeetingProcedure.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Document post-WG21-meeting conformance update procedure (#204357)

This patch adds a section in the documentation to explain the procedure
to follow after a WG21 meeting to properly track papers. This should
clear out some confusion about how this process happens and who should
be responsible for doing it.


  Commit: ce53940bdaa0272c40fec2914f67a18091d0a902
      https://github.com/llvm/llvm-project/commit/ce53940bdaa0272c40fec2914f67a18091d0a902
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll

  Log Message:
  -----------
  Revert "[IRTranslator] Precommit tests for bitcasts of the byte type #203638 (#204378)

This reverts commit 7e5bc4c7bd23e390cdb0b08f807968ea256b0df2 as the
MachineVerifier identifies 'bad machine code'.


  Commit: 1ed7b780dad381b0cddc02a93124b09fab9280f4
      https://github.com/llvm/llvm-project/commit/1ed7b780dad381b0cddc02a93124b09fab9280f4
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
    M llvm/test/Transforms/HotColdSplit/X86/do-not-split.ll
    M llvm/test/Transforms/HotColdSplit/addr-taken.ll
    M llvm/test/Transforms/HotColdSplit/issue-197982.ll
    R llvm/test/Transforms/HotColdSplit/mark-the-whole-func-cold.ll
    M llvm/test/Transforms/HotColdSplit/minsize.ll

  Log Message:
  -----------
  [HotColdSplit] Do not add cold attribute to unchanged functions (#204003)


  Commit: d4b22fba2cedf7d6d7ce332837129a857f987a77
      https://github.com/llvm/llvm-project/commit/d4b22fba2cedf7d6d7ce332837129a857f987a77
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp

  Log Message:
  -----------
  [AArch64] Compact scalable-vector intrinsic maps (#202618)

SVE and SME code generation only reads BuiltinID, LLVMIntrinsic, and
TypeModifier from its generated intrinsic maps. Store those fields in a
16-byte ARMScalableVectorIntrinsicInfo instead of the 32-byte
ARMVectorIntrinsicInfo used by NEON and SISD code generation. Update
both the classic and CIR consumers.

On an LLVM 22.1.7 arm64 release build, stripped standalone clang shrinks
from 115,097,192 to 114,816,456 bytes, saving 280,736 bytes (0.244%).

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: f5685ebc37a3c4973aef37d807177133ccdb5693
      https://github.com/llvm/llvm-project/commit/f5685ebc37a3c4973aef37d807177133ccdb5693
  Author: Kees Cook <kees at kernel.org>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/ELF/lto-discard.s

  Log Message:
  -----------
  [MC][AsmParser] Check .lto_discard before parsing the assignment (#204025)

I was deeply stumped, so I asked an LLM to help me track down this Linux
kernel build failure:
https://lore.kernel.org/all/202606122021.pA9TozrA-lkp@intel.com/

The bug only surfaced for Full LTO with 2+ TUs because that is when the
LTO merger emits ".lto_discard SYM" between two duplicated module-asm
blocks; ThinLTO compiles each module separately so the merged-asm
pattern does not arise, and a single TU has nothing to discard. Hit in
practice by the Linux kernel via -fsanitize=kcfi: every TU that
address-takes an externally-defined function emits the same ".weak X;
.set X, HASH" pair via module asm, so any >1-TU kcfi build with Full LTO
failed to link with "undefined symbol" against the kcfi type id.

parseAssignment checked discardLTOSymbol after
parseAssignmentExpression, which is too late for the common "preserve
first, discard later" pattern that the LLVM LTO library emits when
multiple bitcode inputs each carry the same weak symbol definition
through file-scope inline asm. For that pattern, the first ".set SYM, V"
makes SYM a redefinable variable; when the second (post-".lto_discard
SYM") ".set SYM, V" reaches parseAssignmentExpression, it sees an
existing redefinable symbol, calls cloneSymbol, and marks the original
SYM as temporary -- which excludes it from the emitted symbol table. The
subsequent discardLTOSymbol check then returns true and skips the
assignment, leaving the symbol table pointing at an empty unassigned
clone while the value we were supposed to preserve has just been
dropped.

Move the discardLTOSymbol check to the top of parseAssignment so a
discarded assignment never reaches parseAssignmentExpression; just
consume tokens to end-of-statement and return.

Extend llvm/test/MC/ELF/lto-discard.s with a second RUN line that drives
the integrated assembler directly (-filetype=obj) and inspects the ELF
symbol table via llvm-readelf, covering the "preserve first, discard
later" pattern that the existing text-only RUN line did not exercise.

Assisted-by: Claude Opus 4.7 (1M context)


  Commit: cafd16fc6e5e1556fd9962c8b2e4b4a6719dc68a
      https://github.com/llvm/llvm-project/commit/cafd16fc6e5e1556fd9962c8b2e4b4a6719dc68a
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][AST] Adding Release Note for Attributed Type Dedupe Fix  (#204384)

https://github.com/llvm/llvm-project/pull/200961 fixed a regression that
could lead to significant increase in pcm/pch sizes and load time. This
PR adds a release note.


  Commit: d6cf7888148ece8e938e29f9b164ae0b036f4191
      https://github.com/llvm/llvm-project/commit/d6cf7888148ece8e938e29f9b164ae0b036f4191
  Author: FathimaHaris <156105585+FathimaHaris at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Fold constant shift/mul into select arms for mul instruction (#196872)

Fixes llvm#190907

Extends the optimization reported   to cover four symmetric
patterns where one operand of a multiplication is a constant shift or
multiply, and the other is a select with constant arms.

Instead of keeping the outer shl/mul, the constant is pushed into the
select arms:
```
  (shl X, C1) * (select cond, C2, C3) --> X * (select cond, C2<<C1, C3<<C1)
  (mul X, C1) * (select cond, C2, C3) --> X * (select cond, C2*C1, C3*C1)
```
(Also handles their commuted forms )

Alive2 Proof :https://alive2.llvm.org/ce/z/dwTXJw


  Commit: 5b40d54f264db8796ed8dce561e4f895cf8d5f89
      https://github.com/llvm/llvm-project/commit/5b40d54f264db8796ed8dce561e4f895cf8d5f89
  Author: Vadmeme <32437728+Vadmeme at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Passes/CMakeLists.txt
    M llvm/lib/Passes/PassBuilderBindings.cpp
    M llvm/unittests/Passes/PassBuilderBindings/CMakeLists.txt
    M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp

  Log Message:
  -----------
  [LLVM] Register static pass plugins in LLVMRunPasses C-API (#196754)

LLVMRunPasses and LLVMRunPassesOnFunction create their own PassBuilder,
but did not register statically linked pass plugin callbacks from
Extension.def. This made C API pipelines fail to parse passes provided
by statically linked plugins, even when the same plugins were available
to opt and LTO.

Register the static extension callbacks after constructing the
PassBuilder, matching opt's NewPMDriver behavior.

Add coverage using the Bye plugin when it is linked into tools.

---------

Co-authored-by: Vadmeme <invalid at example.com>


  Commit: a5e1d3f38794476b4684faa5f59d60667b8a2dc0
      https://github.com/llvm/llvm-project/commit/a5e1d3f38794476b4684faa5f59d60667b8a2dc0
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl

  Log Message:
  -----------
  [Matrix][HLSL]  Fix transpose matrix layout bugs (#202486)

This change will resolve https://github.com/llvm/wg-hlsl/issues/305

It is a two-part change. First, we had a bug. The transpose builtin was
previously only considering the Src for RowMajor when we also need to
consider the Dst RowMajor.

The second issue was the return stmt needs us to re-type the call with
the sugared typed. We only want to do this for what I am calling Layout
Adapting Matrix Builtins ie transpose and matrix multiply builtins.

Assisted by Claude Opus 4.8


  Commit: 36ee948895a617e8cb8cf99fd01977cd70b7a575
      https://github.com/llvm/llvm-project/commit/36ee948895a617e8cb8cf99fd01977cd70b7a575
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [MLIR][XeGPU] Update layout for simple_mxfp_gemm_dequantizeB_F4.mlir (#203636)

Update layout to proper values to enable lowering of the test case on
CRI with gpu to xevm lowering pipeline.


  Commit: 2c6d88c76525675841b62cd87322e50f52bde25b
      https://github.com/llvm/llvm-project/commit/2c6d88c76525675841b62cd87322e50f52bde25b
  Author: Josh Stone <jistone at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [docs] Remove myself from security response (#203061)

I haven't really been active in this group, so I think it's best for me
to voluntarily leave. My affiliations are still covered by others, and
anyway I think cross-cutting issues (e.g. with Rust) should pull in
those orgs rather than relying on direct membership.


  Commit: 6f50d09799f284b4c258415b3dd1ef0e9be07f3d
      https://github.com/llvm/llvm-project/commit/6f50d09799f284b4c258415b3dd1ef0e9be07f3d
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp

  Log Message:
  -----------
  [llvm-objcopy][DirectX][NFC] Reuse isProgramPart() in DXContainerObjcopy (#204032)

#201423 introduced a helper function to determine if a given
DXContainer part name is DXIL or ILDB (i.e. a program part).
Reuse it everywhere.


  Commit: 829007b657eb0f628112bba071c1c7b9e78bcd45
      https://github.com/llvm/llvm-project/commit/829007b657eb0f628112bba071c1c7b9e78bcd45
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp

  Log Message:
  -----------
  [DirectX][NFC] Use addSection to create SRCI in DXContainerGlobals (#204028)

A tiny follow-up for #202761.
Use `addSection()` helper function to create a global for SRCI part.


  Commit: ebb9d0eecb1905c7a339c3b97b5ddde182c2d8f1
      https://github.com/llvm/llvm-project/commit/ebb9d0eecb1905c7a339c3b97b5ddde182c2d8f1
  Author: Usman Nadeem <mnadeem at qti.qualcomm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

  Log Message:
  -----------
  Reapply "[DFAJumpThreading] Enable DFAJumpThread by default." (#169183)

Reapply: https://github.com/llvm/llvm-project/pull/157646 by reverting:
https://github.com/llvm/llvm-project/pull/167352


  Commit: 3aa3bc6e63e9ec8be5f5857bc030e042f15ab8b6
      https://github.com/llvm/llvm-project/commit/3aa3bc6e63e9ec8be5f5857bc030e042f15ab8b6
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 5b40d54 (#204389)

This fixes 5b40d54f264db8796ed8dce561e4f895cf8d5f89.

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


  Commit: 1679bcc600e75e1e46c0d7ad2394f934a0d4ab74
      https://github.com/llvm/llvm-project/commit/1679bcc600e75e1e46c0d7ad2394f934a0d4ab74
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/examples/darwin/heap_find/heap.py

  Log Message:
  -----------
  [lldb] Adjust ptr_refs utility for arm64e (#204258)

The ptr_refs utility is a useful way to find where a pointer may be used
on Darwin platforms. It supports searching on the stack, the heap, and
in segments. The definitions of malloc_introspection_t and malloc_zone_t
needed to be adjusted for arm64e. This matches the malloc header shipped
in the the malloc headers shipped in Apple's SDKs.

With this, TestPtrRefs.py and TestPtrRefsObjC.py now pass.


  Commit: f89afac6e30079fad379d5ab6d4bd0b00c3f3775
      https://github.com/llvm/llvm-project/commit/f89afac6e30079fad379d5ab6d4bd0b00c3f3775
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Utility/ProcessInfo.cpp
    M lldb/unittests/Utility/ProcessInfoTest.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove const char * from ProcessInfo interface (#204268)

My primary reason for doing this is so that I can refactor FileSpec's
interface to stop using ConstStrings. But more generally StringRef is
sufficient for ProcessInfo's needs. Any spot that actually needs an
actual `const char *` can create one from the StringRef.


  Commit: 42634048c6768891487be239c0ceb409b09da39f
      https://github.com/llvm/llvm-project/commit/42634048c6768891487be239c0ceb409b09da39f
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/InjectPointerSigningFixups.cpp
    A lldb/test/API/commands/expression/ptrauth-weak-symbols/Makefile
    A lldb/test/API/commands/expression/ptrauth-weak-symbols/TestPtrauthWeakSymbols.py
    A lldb/test/API/commands/expression/ptrauth-weak-symbols/dylib.c
    A lldb/test/API/commands/expression/ptrauth-weak-symbols/dylib.h
    A lldb/test/API/commands/expression/ptrauth-weak-symbols/main.c
    A lldb/test/API/commands/expression/ptrauth-weak-symbols/module.modulemap

  Log Message:
  -----------
  [lldb] Support weakly imported symbols with arm64e (#202728)

The use of weakly imported symbols may introduce inline CPAs into
functions in the form of instruction operands. For example, from
TestWeakSymbols.py, we may see IR that looks like this:
```
%cmp = icmp ne ptr ptrauth (ptr @_Z20absent_weak_functionv, i32 0), null
```
which corresponds to this C line:
```
if (&absent_weak_function != null) {
```

Similar to walking global initializers, LLDB must also walk all
instructions looking for CPAs in instruction operands and handle them
accordingly.

I've renamed functions and structs to distinguish between these two
scenarios.


  Commit: 0eb257578697efd4ac05f1cf1f9d0c5c4ef5d53f
      https://github.com/llvm/llvm-project/commit/0eb257578697efd4ac05f1cf1f9d0c5c4ef5d53f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.h

  Log Message:
  -----------
  [CodeGen] Pass the correct VT into hasMultipleConditionRegisters (#204375)

hasMultipleConditionRegisters expects the type of the condition value.
Fix shouldNormalizeToSelectSequence to pass this in instead of the type
of the result of a select.

In practice this makes no observable difference yet. AArch64 is the only
target that uses the VT passed into hasMultipleConditionRegisters and it
only checks whether or not it is a scalable vector type.


  Commit: 02d6e17313f7b2f89d08fe90a58ec7ac1936d69d
      https://github.com/llvm/llvm-project/commit/02d6e17313f7b2f89d08fe90a58ec7ac1936d69d
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/test/Driver/clang-offload-bundler-multi-compress.c

  Log Message:
  -----------
  [clang][test][darwin] Driver/clang-offload-bundler-multi-compress.c fails on macOS (#204026)

Driver/clang-offload-bundler-multi-compress.c isn't supported on Darwin,
but neglected to list the macosx target.


  Commit: d9492b6da3da97f9cc7f3cd24432e7e16c1f5e1a
      https://github.com/llvm/llvm-project/commit/d9492b6da3da97f9cc7f3cd24432e7e16c1f5e1a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/ADT/GenericUniformityInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp

  Log Message:
  -----------
  [Uniformity] Introduce isUniform/DivergentTerminator naming. NFC. (#204343)

Rename the overloads of isUniformAtDef/isDivergentAtDef that take an
InstructionT (instead of a ValueT) to
isUniformTerminator/isDivergentTerminator to make it clear that they
should only be used for terminator instructions, and assert this. Call
sites passing in a non-terminator instruction now resolve to the ValueT
overloads instead.


  Commit: 61f3ed17074fada91e4b03f3db6e0c042f47df97
      https://github.com/llvm/llvm-project/commit/61f3ed17074fada91e4b03f3db6e0c042f47df97
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/tools/lldb-dap/extension/package.json

  Log Message:
  -----------
  [lldb-dap] Bump the version to 0.6.1 (#204411)


  Commit: 6dc69f666ae992388dd2c63d8abadd458b3ac9de
      https://github.com/llvm/llvm-project/commit/6dc69f666ae992388dd2c63d8abadd458b3ac9de
  Author: theSK2005 <73001618+theSK2005 at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def

  Log Message:
  -----------
  [AMDGPU] Added SRAMECC feature for gfx1250/1251 (#203313)

Added SRAMECC feature in TargetParser.def for gfx1250/1251 to
properly reflect hardware spec


  Commit: fea57a97b45b1a15f6229ed9a416fb51a604456c
      https://github.com/llvm/llvm-project/commit/fea57a97b45b1a15f6229ed9a416fb51a604456c
  Author: jimingham <jingham at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/bindings/interface/SBTargetDocstrings.i
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/Target/Language.h
    M lldb/source/API/SBTarget.cpp
    M lldb/source/Target/Language.cpp
    A lldb/test/API/python_api/persistent_decls/Makefile
    A lldb/test/API/python_api/persistent_decls/TestPersistentDecls.py
    A lldb/test/API/python_api/persistent_decls/main.c

  Log Message:
  -----------
  Add the ability to look up persistent types and variables defined in the expression parser through the SB API's. (#203128)

In responding to the question here:

https://discourse.llvm.org/t/creating-nested-synthetic-children/90997/3

it became clear that getting the persistent variable/type results from
the expression parser was much harder than it needed to be. I filed a
couple issues for this:

https://github.com/llvm/llvm-project/issues/201952
https://github.com/llvm/llvm-project/issues/201949

though after thinking about this a bit more, I decided to go with
dedicated API for getting Persistent Expression variables & types. We
don't allow redefinitions of persistent variables and types within the
same Target, so a "FirstType" API didn't make sense, nor did one
returning a list of types or values.

Plus, this will be easier to discover.


  Commit: a2f4a1cabb083337ccb17c77cafb36d94c1ef52b
      https://github.com/llvm/llvm-project/commit/a2f4a1cabb083337ccb17c77cafb36d94c1ef52b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
    M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  [VPlan] Also expand SCEVUDivExpr in expandSCEVExpr. (#203093)

Add support for expanding SCEVUDivExpr to VPInstructions, completing the
set of SCEV expression kinds that can be fully expanded without falling
back to SCEVExpander.

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


  Commit: 1774af87364d62b329344a646984c59322e35a42
      https://github.com/llvm/llvm-project/commit/1774af87364d62b329344a646984c59322e35a42
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M .gitignore
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    A clang/test/Sema/LifetimeSafety/safety-c.c
    A clang/test/Sema/attr-lifetime-capture-by.c
    A clang/test/Sema/attr-lifetimebound.c

  Log Message:
  -----------
  [LifetimeSafety] Support C Language in LifetimeSafety (#203270)

There are a few constraints that make supporting C a bit cumbersome:

* C assignment expressions are rvalues, unlike C++ assignment
expressions. The analysis has to account for the different origin shape
of the assignment result by stripping an origin from `LHSExpr`.
* Function addresses in C do not need lifetime tracking. Taking `&f`
should not create origins because functions do not have local object
lifetime (unlike in C++).
* GNU C permits `void*` subscripting/pointer arithmetic. Expressions
like `bytes[0]` (where `bytes` is `void*`) have type `void` and do not
produce an addressable object with origins, even though `void*` itself
can carry pointer origins.
* Some C subscripts, such as vector subscripts, are not GLValues, so
they do not have storage origins to track.
* `va_arg(ap, array_type)` is undefined behavior, so we skip it instead
of trying to model origins for it.
* C does not have a spelling for `[[gsl::Owner]]` / `[[gsl::Pointer]]`,
so C support is limited to pointer/object cases that can be represented
in C and `__attribute__((lifetimebound))`.

What validation I performed:

* Ran a crash-smoke test over C files in the LLVM tree with
`-Wlifetime-safety`. It finished without crashes after the fixes.
* Generated a C-only subset of `warn-lifetime-safety.cpp` and compiled
it with `-Wlifetime-safety`, to reuse existing pointer-flow coverage in
C mode.
* Built the Linux kernel (with `allmodconfig` build) and got a few
warnings. So firstly there are a few uninteresting true positives that
are intentional in the tests, and our checker catches them. (this is the
majority, approximately 90% of all warnings come from these intentional
leaky tests). There were also a few conservative warnings where the
analysis does not prove the relevant path condition, so they look like
expected false positives rather than C support issues. And our analysis
also got 1 correctly!

Closes #203213

Assisted-by: GPT-5.5 for writing bash scripts to perform validation.


  Commit: 6bf6e39d3b07b2f7c6e83d1274deea15105f1b87
      https://github.com/llvm/llvm-project/commit/6bf6e39d3b07b2f7c6e83d1274deea15105f1b87
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    A libc/hdr/sys_resource_macros.h
    M libc/include/llvm-libc-macros/linux/unistd-macros.h
    M libc/include/unistd.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/sysinfo.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/sysconf.cpp
    M libc/test/src/unistd/sysconf_test.cpp

  Log Message:
  -----------
  [libc] Implement _SC_ARG_MAX, _SC_OPEN_MAX, and _SC_PHYS_PAGES (#204364)

This commit adds the sysinfo syscall wrapper and implements the
_SC_ARG_MAX, _SC_OPEN_MAX, and _SC_PHYS_PAGES options in sysconf.

- Added sysinfo inline syscall wrapper.
- Implemented _SC_ARG_MAX, _SC_OPEN_MAX, and _SC_PHYS_PAGES.
- Added integration tests.


  Commit: 81072db8dd57c8a9b276708a35b33c3bbd3dbfc8
      https://github.com/llvm/llvm-project/commit/81072db8dd57c8a9b276708a35b33c3bbd3dbfc8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libcxx/docs/PostMeetingProcedure.rst
    M libcxx/utils/conformance

  Log Message:
  -----------
  [libc++] Create issues in batch in libcxx/utils/conformance (#204428)

Also improve the output as a drive-by. Creating issues in batch makes it
easier to automate the creation of these issues.

Assisted by Claude, tweaked and reviewed by hand


  Commit: c11a0993281f0e14ef0ce87e391f66bf7b335488
      https://github.com/llvm/llvm-project/commit/c11a0993281f0e14ef0ce87e391f66bf7b335488
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Propagate loans through the comma operator (#204379)

VisitBinaryOperator had no comma case, so a comma expression carried
none of its right operand's loans and a borrow used via a comma result
(e.g. `g = (f(), p)`) was silently dropped. Flow the RHS's origin into
the result.

Assisted-by: Claude Opus 4.8


  Commit: 9db7cd5709d22dfbae75a85867b6eb6e5c3e0c76
      https://github.com/llvm/llvm-project/commit/9db7cd5709d22dfbae75a85867b6eb6e5c3e0c76
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/ProfileData/SampleProfWriter.h
    M llvm/unittests/ProfileData/SampleProfTest.cpp

  Log Message:
  -----------
  [ProfileData] Add traits for on-disk function offset hash table (NFC) (#202110)

This patch introduces serialization helper classes (traits) for the
on-disk chained hash table that will be used to index function offsets
in the SecFuncOffsetTable section:

- FuncOffsetHashTableWriterInfo (in SampleProfWriter.h) for writing.
- FuncOffsetHashTableInfo (in SampleProfReader.h) for reading.

These traits map a 64-bit function name GUID to a 32-bit byte offset
pointing into the SecLBRProfile section. This index structure is
intended to replace the flat layout of the SecFuncOffsetTable section
in the upcoming v104 format. This will allow the compiler to query the
offset of a function sample without having to parse the entire
SecFuncOffsetTable section at startup.

While these two trait classes share identical boilerplate for type
definitions and key comparison, they are kept separate to maintain
clean interface separation between the reader and writer headers. We
also choose not to define a shared base class in SampleProf.h to keep
that common header free of serialization-specific details.

An isolated unit test is added to verify serialization and
deserialization.

This is Phase 1 of the RFC: Faster Sample Profile Loading.

RFC:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/4


  Commit: 9d26a1990af20c3773b13f6df72332ceb51daa90
      https://github.com/llvm/llvm-project/commit/9d26a1990af20c3773b13f6df72332ceb51daa90
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/WASI.rules

  Log Message:
  -----------
  [lldb][test] Don't export all symbols when building Wasm test inferiors (#204426)

WASI.rules linked test inferiors with -Wl,--export-all and the
reactor-style -Wl,--no-entry. I cargo-culted them and neither flag is
needed as our test inferiors all have a main and crt1 provided _start.

The --export-all flag was also harmful: for a no-argument main(),
wasi-libc renames the user's main to __original_main and emits a small
`main` trampoline. The --export-all flag caused that trampoline to an
exported `main` symbol, so `break main` resolved to two locations.

Drop both flags but keep --allow-undefined for inferiors that reference
runtime-provided symbols.


  Commit: 5eeaf89ea923a1b0df30cdfcaf015d0b7766f008
      https://github.com/llvm/llvm-project/commit/5eeaf89ea923a1b0df30cdfcaf015d0b7766f008
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/assume-cache-update.ll

  Log Message:
  -----------
  [InstCombine] Register manually created assumes in the AssumptionCache. (#204416)

Instructions inserted via Result->insertInto() bypassing the IRBuilder
inserter that would otherwise register new @llvm.assume calls in the
AssumptionCache.

Register the assume when inserting such a Result, mirroring what the
IRBuilder inserter does.

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


  Commit: 500fc937b0f9f9dad99d0e9bfc46cf3b8706a0cf
      https://github.com/llvm/llvm-project/commit/500fc937b0f9f9dad99d0e9bfc46cf3b8706a0cf
  Author: lntue <lntue at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/hypot.h

  Log Message:
  -----------
  [libc][math] Implement fast path for double precision hypot function. (#204292)

Compute `hypot(x, y) = sqrt(x^2 + y^2)` in double-double with relative
errors < 2^-102.
Using the approximation:
```
  a = maximum_mag(x, y);
  b = minimum_mag(x, y);
  (hi, lo) ~ a^2 + b^2;
  r_hi = sqrt(hi);
  r_lo = (a + b - r_hi^2) * (0.5 / r_hi)
  ------
  r_hi + r_lo ~ sqrt(x^2 + y^2).
```

Performance benchmark with CORE-MATH:

Before the patch:
```
$ ./perf.sh hypot --llvm
GNU libc version: 2.42
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 23.183 + 0.311 clc/call; Median-Min = 0.319 clc/call; Max = 23.620 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.218 + 0.299 clc/call; Median-Min = 0.193 clc/call; Max = 15.240 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 204.764 + 0.593 clc/call; Median-Min = 0.576 clc/call; Max = 206.057 clc/call;
```
After the patch without FMA:
```
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 26.920 + 0.063 clc/call; Median-Min = 0.048 clc/call; Max = 27.139 clc/call;
```
After the patch with FMA:
```
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 15.180 + 0.189 clc/call; Median-Min = 0.178 clc/call; Max = 15.461 clc/call;
```


  Commit: 25836aff3d21e3eddbf62ef30d409e62308a1dea
      https://github.com/llvm/llvm-project/commit/25836aff3d21e3eddbf62ef30d409e62308a1dea
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/test/CodeGen/NVPTX/packed-aggr.ll

  Log Message:
  -----------
  Revert `[NVPTX] Properly emit narrow ptrtoint in aggregate initializers. (#201217)` (#204418)

Revert c625725b06987f05e8742df291da082a964dab03 (#201217) along with
build fix d84819d39e3103f92ad9b375cea7864280f3325c (#204380) due to test
failures in global-ordering.ll mentioned here:
https://github.com/llvm/llvm-project/pull/201217#issuecomment-4734212548


  Commit: cddebef5a9cefe4006fa54129a99f650a9c03d29
      https://github.com/llvm/llvm-project/commit/cddebef5a9cefe4006fa54129a99f650a9c03d29
  Author: Arda Serdar Pektezol <arda at pektezol.dev>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    A llvm/test/Analysis/CtxProfAnalysis/flatten-prethinlink-requires-guid-metadata.ll

  Log Message:
  -----------
  [CtxProf] emit fatal usage error when flatten-prethinlink runs without guid metadata (#194383)

`ctx-prof-flatten-prethinlink` can call `AssignGUIDPass::getGUID()` on
defined functions even when the GUID metadata is missing. In that case,
LLVM currently asserts on missing `!guid` metadata.

Replace the assertion with `reportFatalUsageError()` so the pass fails
with a clear user-facing error, and add a regression test for invoking
only `ctx-prof-flatten-prethinlink`.

Fixes #194185


  Commit: 2f6dedc94c649dfb46c7d9e21a8ec45db51c1424
      https://github.com/llvm/llvm-project/commit/2f6dedc94c649dfb46c7d9e21a8ec45db51c1424
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 6bf6e39 (#204429)

This fixes 6bf6e39d3b07b2f7c6e83d1274deea15105f1b87.

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


  Commit: a71ca081f6f716bcae756626b4c1592863afbdcd
      https://github.com/llvm/llvm-project/commit/a71ca081f6f716bcae756626b4c1592863afbdcd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Replace v4i8/v2i16 mul and v4i8 mulh patterns on RV32 with custom lowering. (#204382)

Instead of emitting 2 instructions from an isel pattern, custom lower to
PWMUL(S)(U)+SRL+TRUNC.

This only slightly reduces the number of isel patterns today, but we
will need the WMUL patterns for intrinsics. Exposing the SRL+TRUNC to
DAG combine may allow additional optimizations.

Assisted-by: Claude Sonnet 4.6


  Commit: 39d83f90368f75fb17069946d952a07ea52c4ecf
      https://github.com/llvm/llvm-project/commit/39d83f90368f75fb17069946d952a07ea52c4ecf
  Author: David Green <david.green at arm.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/fmaximumnum-fminimumnum-select.ll

  Log Message:
  -----------
  [AArch64] Fix swapped operands in tryFoldCselToFMaxMin (#203230)

These swapped operands will treat nan the wrong way, make sure we only
use the matching direction when converting to fminnm/fmaxnm.


  Commit: 626cba7e467364603895dfcdb598e31cdd70a953
      https://github.com/llvm/llvm-project/commit/626cba7e467364603895dfcdb598e31cdd70a953
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/get-active-lane-mask.ll

  Log Message:
  -----------
  [NFC][LLVM] Tighten overload types for `@llvm.get.active.lane.mask` (#204356)

Change return type to `llvm_any_vector_int_ty` and the 2 argument types
to `llvm_any_scalar_int_ty`.


  Commit: 8cf8aa030ed07b904c2b6dbd72947ec32f2ed1a6
      https://github.com/llvm/llvm-project/commit/8cf8aa030ed07b904c2b6dbd72947ec32f2ed1a6
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/test/Analysis/MemorySSA/ptr-const-mem.ll
    M llvm/test/CodeGen/AMDGPU/alloca.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
    M llvm/test/CodeGen/AMDGPU/fence-barrier.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-pointer-array.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/EarlyCSE/AMDGPU/memrealtime.ll
    M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/noop-ptrint-pair.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions.ll
    M llvm/test/Transforms/LoopLoadElim/pr46854-adress-spaces.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/scev-mul-expansion-cost.ll
    M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.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_indirect.ll
    M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll

  Log Message:
  -----------
  AMDGPU/Tests: Remove redundant explicit data layouts from AMDGPU tests (#203447)

These all look like either cargo culting of outdated requirements or
test cases that were not fully reduced. Since the data layout evolves
over time with new address spaces being added, it seems good practice to
avoid hard-coding it in tests that don't need it.


  Commit: a9b492db3d50683e446cd1a5c9ffaf4e92cb77a7
      https://github.com/llvm/llvm-project/commit/a9b492db3d50683e446cd1a5c9ffaf4e92cb77a7
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    R llvm/test/Verifier/intrinsic-bad-arg-type.ll
    A llvm/test/Verifier/masked-load-store.ll

  Log Message:
  -----------
  [NFC][LLVM] Drop redundant verifier checks for masked load/stores (#204359)

All current verifier checks for masked load/store intrinsics are
redundant as they are covered by the generic intrinsic signature
verification. Drop them.

Rename verifier `intrinsic-bad-arg-type.ll` lit test to
`masked-load-store.ll` and extend it to cover cases corresponding to the
dropped checks to verify that generic intrinsic signature verification
will still flag them.


  Commit: 0afb39976dfa7520781ce63f615ec7befeba6f34
      https://github.com/llvm/llvm-project/commit/0afb39976dfa7520781ce63f615ec7befeba6f34
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Passes/CMakeLists.txt
    M llvm/lib/Passes/PassBuilderBindings.cpp
    M llvm/unittests/Passes/PassBuilderBindings/CMakeLists.txt
    M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp

  Log Message:
  -----------
  Revert "[LLVM] Register static pass plugins in LLVMRunPasses C-API" (#204410)

Reverts llvm/llvm-project#196754

Breaks bots, e.g.
https://lab.llvm.org/buildbot/#/builders/97/builds/14257


  Commit: f6750f80df26f3116e513c631137ad723960ab74
      https://github.com/llvm/llvm-project/commit/f6750f80df26f3116e513c631137ad723960ab74
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [bazel][libc] Fix 500fc937b0f9f9dad99d0e9bfc46cf3b8706a0cf (#204436)

Add deps


  Commit: 140fc5aa2a0a754db87c68b2e3861c70dd94360b
      https://github.com/llvm/llvm-project/commit/140fc5aa2a0a754db87c68b2e3861c70dd94360b
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
    M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
    M mlir/test/Dialect/MemRef/extract-address-computations.mlir
    M mlir/test/lib/Dialect/Vector/CMakeLists.txt

  Log Message:
  -----------
  [mlir][memref] Use access interfaces in address extraction (#198421)

Rework extract-address-computation patterns to use
IndexedAccessOpInterface for direct memref accesses and
VectorTransferOpInterface update hooks for transfer ops.

These rewrites are limited to operations that declare in-bounds indices
(so no vector.load currently) for now so that we always create valid
`memref.subview` opp.

As a consequence of this PR, the Memref dialect no longer depends on the
GPU and NVGPU dialects.

Note: if you used this pass downstream, you may need to start registering the external interface implementations for IndexedAccessOpInterface on the GPU, NVGPU, etc. dialects.

AI: Codex wrote the first draft, I simplified it a bunch and made sure
the names of internal functions made sense.

---------

Co-authored-by: Codex <codex at openai.com>


  Commit: 5efef02b66419e9a9482c0546be912cbdb448681
      https://github.com/llvm/llvm-project/commit/5efef02b66419e9a9482c0546be912cbdb448681
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    A clang/test/Driver/cl-deterministic.c
    A clang/test/Preprocessor/init-datetime-macros-nowarns.c
    A clang/test/Preprocessor/init-datetime-macros-warns.c
    A clang/test/Preprocessor/init-datetime-macros.c

  Log Message:
  -----------
  [clang-cl] Add cl compiler build deterministic options for compatibility. (#194779)

Added the following options to clang-cl:

* `/experimental:deterministic`

The original CL's option enables emitting of warnings on usage of
non-deterministic macros `__DATE__`, `__TIME__` and `__TIMESTAMP__` and
provides few additional operations to help produce a deterministic
output:
- sets .obj COFF header timestamp (offset 4) to a hash based on a path
to the source file.
- removes a host name from the hash gen for the anon namespace and
lambdas.
  - zeroed PE timestamps, when passed to the linker.
  - sets PDB Guid field to `{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}`.
  - sets PDB Signature field to `1`.

Currently `clang-cl` does not use a hostname to generate the symbols
hash, also it does not produce PDB files, because of it the option only
implements the warning emission on the date/time macros (`-Wdate-time
option`) and sets COFF's timestamp to 0 (by using overlapped `/Brepro` /
`-mno-incremental_linker_compatible` options).

* `/Brepro`

The original CL's option does the following:
- defines `__DATE__`, `__TIME__`, and `__TIMESTAMP__` to the literal
string `"1"`.
- sets PE timestamps to 0, but does not affect .obj COFF's header
timestamp (still current timestamp).
 - sets PCH unique IDs to content hash instead.

Currently `clang-cl` sets to 0 .obj and .exe timestamps by `/Brepro`
option. These changes keep it unmodified for compatibility and add the
extra macros definitions. `clang-cl` provides its own PCH format and
requires the different operations to make it reproducable.

* `/d1nodatetime`

Undefine the standard preprocessor macros `__DATE__`, `__TIME__` and
`__TIMESTAMP__`. This option allows redefinitions for these macros from
the command line.


  Commit: ee890eb04639464cd523d1305c75a82628a6a8a6
      https://github.com/llvm/llvm-project/commit/ee890eb04639464cd523d1305c75a82628a6a8a6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/geps-unsigned-predicates.ll

  Log Message:
  -----------
  [ConstraintElim] Do not model negative nuw-only GEP offset as signed. (#203620)

decomposeGEP added the GEP's constant offset to the unsigned
decomposition using its signed value (getSExtValue()). For a GEP that
only carries nuw (without nusw/inbounds), the indices must be
interpreted as unsigned.

Alive2 Proof of mis-compile https://alive2.llvm.org/ce/z/7G8uE3

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


  Commit: 6e21a04a5a96b2a06f0b456813fd427d4e7a1227
      https://github.com/llvm/llvm-project/commit/6e21a04a5a96b2a06f0b456813fd427d4e7a1227
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/Artifact.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-edges.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-id.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-empty.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-odd-count.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-epls.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-id.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-empty.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-odd-count.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-lu-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-tu-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-wpa-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/unknown-type.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/mismatched-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/mismatched-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/mismatched-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/tools/clang-ssaf-format/SSAFFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp

  Log Message:
  -----------
  [clang][ssaf] Make TUSummary, LUSummary, and WPASuite JSON representations self-describing (#204409)

This commit introduces the following changes:

- Add a self-describing `"type"` field (`"TUSummary"`, `"LUSummary"`, or
`"WPASuite"`) to the root of every artifact JSON file written by
`JSONFormat`. Kind-specific readers (`readTUSummary`, `readLUSummary`,
`readWPASuite`, plus the encoding flavors) validate that the field is
present and matches the expected value.
- Introduce two variant aliases on `SerializationFormat`: `Artifact =
std::variant<TUSummary, LUSummary, WPASuite>` and `ArtifactEncoding =
std::variant<TUSummaryEncoding, LUSummaryEncoding>`. Each gets a generic
`read*/write*` pair that peeks the `type` field once and dispatches to
the matching reader/writer; the file is read and parsed only once per
call.
- Refactor every kind-specific reader into `read{Kind}` (loads file +
validates type) plus a private `read{Kind}FromObject(const Object&)`
helper. `readArtifact`/`readArtifactEncoding` reuse those helpers
directly, avoiding the file-and-parse-twice pattern.
- Default `clang-ssaf-format`'s `--type` to `auto`, which uses the
artifact APIs. Explicit `--type tu|lu|wpa` still forces the
kind-specific path; `--encoding` selects the encoding flavor in either
mode.

rdar://168179368


  Commit: 6e4a7eef94416f51968c04909b6220ac96fca05f
      https://github.com/llvm/llvm-project/commit/6e4a7eef94416f51968c04909b6220ac96fca05f
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/spirv-amd-toolchain.c

  Log Message:
  -----------
  [HIP][SPIR-V] Enable SPIR-V backend by default (#198338)

Use -no-use-spirv-backend to get SPIR-V by llvm-spirv tool.


  Commit: cebc501cf2f47f274384d5e71dab4ae2a429a9a3
      https://github.com/llvm/llvm-project/commit/cebc501cf2f47f274384d5e71dab4ae2a429a9a3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Fold (PSRL/PSRA (trunc (PSRL X, C1)), C2) -> (trunc (PSRL/PSRA X, C1+C2)) (#204385)

when C1 equals the number of bits discarded by the truncate. This
matches an existing DAGCombine for ISD::SRA/SRL which doesn't get
a chance to fire before the inner PSRL is formed.

Assisted-by: Claude Sonnet 4.6


  Commit: 9237b264dfc0ef910a08b4c18e5bc7628ffeb9d8
      https://github.com/llvm/llvm-project/commit/9237b264dfc0ef910a08b4c18e5bc7628ffeb9d8
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerPDB.cpp

  Log Message:
  -----------
  [DirectX] Fix IO sandbox violation in DXContainerPDB pass (#204461)

`DXContainerPDB::runOnModule` writes a PDB file to disk via
`PDBFileBuilder::commit`, which calls through `MSFBuilder::commit`  ->
`FileOutputBuffer::create` -> `llvm::sys::fs::status()`. These are raw
filesystem APIs that trigger a fatal "IO sandbox violation" when the IO
sandbox is enabled.

The sandbox is enabled in `CC1Command::Execute` (Job.cpp) to enforce
that all filesystem access goes through the VFS. Since `PDBFileBuilder`
doesn't support VFS-based output, bypass the sandbox for the commit call
using `scopedDisable()`, matching the established pattern used in
`raw_ostream.cpp`, `VirtualFileSystem.cpp`, `BackendUtil.cpp`, and
others.

This crash occurs on any clang invocation targeting the DirectX backend
with PDB emission enabled, e.g.:

`Target: dxilv1.7-unknown-shadermodel6.7-library`

and was introduced with this commit:
https://github.com/llvm/llvm-project/pull/202762, which added the
 `Builder.commit(DebugFileName, ...)`  call that writes a PDB file via
raw filesystem APIs, which violates the IO sandbox.

Stack trace:
```
reportFatalInternalError("IO sandbox violation")
 llvm::sys::fs::status()
  FileOutputBuffer::create()
   MSFBuilder::commit()
    PDBFileBuilder::commit()
     DXContainerPDB::runOnModule()
```

Assisted by: Github Copilot
Fixes: https://github.com/llvm/llvm-project/issues/204468


  Commit: eb3c37f6e1e72ee83ae52021d142f845952d27a7
      https://github.com/llvm/llvm-project/commit/eb3c37f6e1e72ee83ae52021d142f845952d27a7
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lld/test/wasm/reloc-relative.s
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputFiles.cpp
    M llvm/include/llvm/BinaryFormat/WasmRelocs.def
    M llvm/lib/BinaryFormat/Wasm.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
    M llvm/test/MC/WebAssembly/reloc-relative.ll

  Log Message:
  -----------
  [WebAssembly] Add support for R_WASM_MEMORY_ADDR_LOCREL_I64 relocation (#204055)

This relocation is needed for WASM64 to support location-relative memory
addresses, which are used e.g. in profile instrumentation (for
CounterPtr in __llvm_profile_data).
Without this, the compiler falls back to absolute relocations and drops
the subtraction, resulting in malformed profile data.

Fixes: https://github.com/emscripten-core/emscripten/issues/26865


  Commit: 3663599225f8248e0ed0ae6702c7990a266492dd
      https://github.com/llvm/llvm-project/commit/3663599225f8248e0ed0ae6702c7990a266492dd
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/wasm.ll

  Log Message:
  -----------
  [WebAssembly] Default to 0 shadow offset for wasm64 ASan (#204437)

For Wasm64, ASan instrumentation was defaulting to a 16TB shadow offset,
while the runtime configures it to 0. Align them by defaulting to 0 for
all WebAssembly targets.


  Commit: 668800da4bd581a4992d935e5c66a010782f6a82
      https://github.com/llvm/llvm-project/commit/668800da4bd581a4992d935e5c66a010782f6a82
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M .github/workflows/release-binaries.yml
    M llvm/CMakeLists.txt
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  workflows/release-binaries: Use Wix to create Windows installer (#200734)

The NSIS based installer had a limit of 2GB, and we started going over
that, so we needed to move to Wix which supports much larger installer
sizes.


  Commit: 26d99622d6aa9c7c1da13d0c48d813befd152a69
      https://github.com/llvm/llvm-project/commit/26d99622d6aa9c7c1da13d0c48d813befd152a69
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M flang/test/Driver/fakeflang.F
    M flang/tools/fakeflang/ensure_flang_exists.cmake
    M flang/tools/fakeflang/fakeflang.cpp

  Log Message:
  -----------
  [Flang] Match additional CMake Fortran detection probes (#204438)

Support the following additional patterns that CMake may use to
introspect the Fortran compiler:
1. `__GNUC__` may be tested before `__flang__` which results in the
compiler to be identified as "GNU" instead of "LLVMFlang"
2. Invoke with `-E -cpp` to explicitly use the preprocessor

Fakeflang was added in #203481 to not have to build all of flang just to
pass CMake's compiler detection.

Tested with CMake 3.20, 3.28, and 4.4-rc.

Should fix the
[flang-aarch64-rel-assert](https://lab.llvm.org/buildbot/#/builders/29)
and [flang-aarch64-dylib](https://lab.llvm.org/buildbot/#/builders/50)
buildbots.


  Commit: 13ee12d8fe178a68d84a8fba92ea75078feb0dc1
      https://github.com/llvm/llvm-project/commit/13ee12d8fe178a68d84a8fba92ea75078feb0dc1
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M .gitignore
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    R clang/test/Sema/LifetimeSafety/safety-c.c
    R clang/test/Sema/attr-lifetime-capture-by.c
    R clang/test/Sema/attr-lifetimebound.c

  Log Message:
  -----------
  Revert "[LifetimeSafety] Support C Language in LifetimeSafety" (#204481)

Reverts llvm/llvm-project#203270 because of changes to .gitignore


  Commit: bf5f523583d33d9d59c4199264ab33e6f8a9d387
      https://github.com/llvm/llvm-project/commit/bf5f523583d33d9d59c4199264ab33e6f8a9d387
  Author: Bhavesh M <85327930+beamandala at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/class.mlir

  Log Message:
  -----------
  [mlir][emitc] Set operator precedence for `GetFieldOp` (#203416)

This sets the precedence for the `GetFieldOp`, preventing an unsupported
operation error. The precedence is set to 18, the same as `GetGlobalOp`,
because `GetFieldOp` behaves the same way.


  Commit: d9d54466071219fd4093780ca068193f60d2dc71
      https://github.com/llvm/llvm-project/commit/d9d54466071219fd4093780ca068193f60d2dc71
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [lldb] Only run libc++ tests when the architecture matches (#204267)

It does not make sense to run the libc++ tests when the libc++ dylib has
an architecture that does not match the test binary.

I ran into this when running the test suite with arm64e test binaries
and the locally-built libc++ is built arm64.

---------

Co-authored-by: Dave Lee <davelee.com at gmail.com>


  Commit: 53dabae40fb3a85148f1bb72e885e32081482dbe
      https://github.com/llvm/llvm-project/commit/53dabae40fb3a85148f1bb72e885e32081482dbe
  Author: Jan Korous <jkorous at apple.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
    A clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/SourceEditEmitter.h
    A clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/Transformation.h
    A clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/TransformationRegistry.h
    A clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/TransformationReportEmitter.h
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/SourceTransformation/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/SourceTransformation/TransformationRegistry.cpp
    M clang/tools/clang-ssaf-analyzer/CMakeLists.txt
    M clang/tools/clang-ssaf-format/CMakeLists.txt
    M clang/tools/clang-ssaf-linker/CMakeLists.txt
    M clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
    A clang/unittests/ScalableStaticAnalysisFramework/SourceTransformation/EmitterTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/SourceTransformation/RegistryTest.cpp

  Log Message:
  -----------
  [clang][ssaf] Add source-transformation library scaffolding (#204214)

Introduces the abstract base classes, registries, and force-linker
anchor for the SSAF source-transformation library.

A `Transformation` is an `ASTConsumer` that consumes a previously
computed `WPASuite` and emits source edits and findings through two
sinks: `SourceEditEmitter` (accumulates `clang::tooling::Replacement`s)
and `TransformationReportEmitter` (accumulates `(ruleId, level, range,
message)` tuples). The accumulated state is then handed to a
`SourceEditFormat` and a `TransformationReportFormat` for serialization.

Three `llvm::Registry`-backed registries — keyed by transformation name
and by file extension respectively — let transformations and formats be
linked in statically (with a force-linker anchor) or loaded dynamically
as a clang plugin. Each registry exposes the standard `is*Registered` /
`make*` / `printAvailable*` helpers used elsewhere in SSAF.

No transformation or format ships yet; this commit only adds the
plumbing. Existing tools (`clang-ssaf-format`, `clang-ssaf-linker`,
`clang-ssaf-analyzer`) and the clang driver gain the new lib in their
link line so the framework anchor resolves under static linking.

Assisted-By: Claude Opus 4.7


  Commit: 5f3e70ca97a835605ee54f01e00d883a3be0d220
      https://github.com/llvm/llvm-project/commit/5f3e70ca97a835605ee54f01e00d883a3be0d220
  Author: Fabian Parzefall <parzefall at meta.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/AArch64/instrument-no-fini.s
    M bolt/test/X86/instrument-no-fini.s
    A bolt/test/X86/instrument-static-pie.s
    M bolt/test/runtime/X86/instrument-wrong-target.s

  Log Message:
  -----------
  [BOLT] Instrument static PIEs through entry point (#204475)

Static PIEs contain DT_INIT and DT_FINI. However, statically linked libc
does not read the dynamic entries, so patching those entries has no
effect. Check DT_FLAGS_1 to detect input static PIEs and rely on entry
point patching accordingly.

Fixes #201371.


  Commit: 5796aa936dfbfe7a1cfdb1707f3b407c67053345
      https://github.com/llvm/llvm-project/commit/5796aa936dfbfe7a1cfdb1707f3b407c67053345
  Author: LeeYoungJoon <dog3hk.dev at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-inline-asm.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/StmtProfile.cpp
    A clang/test/Modules/asm-stmt-odr.cppm

  Log Message:
  -----------
  [clang][AST] Fix StmtProfile handling of GCCAsmStmt asm strings and clobbers (#201481)

`VisitGCCAsmStmt` did not profile asm strings and clobbers because they
are not child statements.
As a result, different inline asm statements could produce the same
profile.
This fixes a false positive in `bugprone-branch-clone` where branches
containing inline asm were incorrectly reported as identical.

I used AI assistance when writing the test code, but I personally
reviewed it. 🤖

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


  Commit: 0a92811e2c6825a9fb1528b49aad896c3795e629
      https://github.com/llvm/llvm-project/commit/0a92811e2c6825a9fb1528b49aad896c3795e629
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 53dabae (#204494)

This fixes 53dabae40fb3a85148f1bb72e885e32081482dbe.

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


  Commit: aedf92c5612595c295efa0a78be5080aaee3ddb0
      https://github.com/llvm/llvm-project/commit/aedf92c5612595c295efa0a78be5080aaee3ddb0
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir

  Log Message:
  -----------
  [AMDGPU] Introduce TransCoexecutionHazard target feature (#204412)

  TransCoexecutionHazard implies there is data hazard between TRANS and
the following VALU instruction when they are co-executed. Currently
gfx1250 and gfx1251 have this target feature.


  Commit: dd069b691dd365d447a87cd606b315ec445c7ae4
      https://github.com/llvm/llvm-project/commit/dd069b691dd365d447a87cd606b315ec445c7ae4
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/source/Symbol/Function.cpp
    A lldb/test/Shell/SymbolFile/DWARF/x86/prologue-entry-not-covered.s

  Log Message:
  -----------
  [lldb] Skip the prologue when a function's entry has no line row (#204480)

Function::GetPrologueByteSize computed the prologue only when a line
table row contained the function's entry address (low_pc). When no row
covers low_pc it returned 0, leaving a name breakpoint sitting on the
function's entry address. For WebAssembly the entry address is the
function's locals-declaration byte rather than an instruction, so the
line table has no row there and the breakpoint is never hit.

When low_pc has no covering row, fall back to the first line row that
begins within the function's range and run the existing prologue logic
on it. For functions whose entry is already covered (all normally
compiled native code) this branch is not taken, so behavior is remains
unchanged.

This PR adds a hand (Claude) crafted regression test with a function
whose entry address is not covered by a line row.


  Commit: 8b0361bba242d0f69560a717b52f26b289a7ebc2
      https://github.com/llvm/llvm-project/commit/8b0361bba242d0f69560a717b52f26b289a7ebc2
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Treat lane_data repacks as compatible layouts (#204016)

A subgroup-level convert_layout that only repacks lane_data while keeping
lane_layout unchanged (e.g. [N, 1] to [1, 1] with order = [1, 0]) is a no-op
after lane distribution: each lane owns the same elements in the same order.
Previously isCompatibleWith compared per-distribution-unit block starts, which
encode the lane_data blocking, so such layouts looked incompatible.

Handle this at the Lane level in isCompatibleWith by expanding the block
starts into per-element coordinates before comparing. The expansion only runs
when lane_data differ; otherwise the cheaper block-start comparison is exact.
The shared logic lives in a compareDistributedCoords helper used by both
LayoutAttr and SliceAttr. The Subgroup level is left for a follow-up (TODO).

Add a lit test covering the fold in sg-to-lane-distribute-unit.mlir.


  Commit: 14d163e977182bb80a37f43eb61d80699ba6eb05
      https://github.com/llvm/llvm-project/commit/14d163e977182bb80a37f43eb61d80699ba6eb05
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
    M lldb/test/Shell/ObjectFile/wasm/basic.yaml
    M lldb/test/Shell/ObjectFile/wasm/embedded-debug-sections.yaml
    M lldb/test/Shell/ObjectFile/wasm/stripped-debug-sections.yaml
    M lldb/test/Shell/ObjectFile/wasm/unified-debug-sections.yaml

  Log Message:
  -----------
  [lldb] Report a generic wasm32 architecture for Wasm object files (#204496)

ObjectFileWasm hardcoded the architecture of every Wasm module as
"wasm32-unknown-unknown-wasm". A Wasm binary does not actually encode a
vendor or OS, those are properties of the runtime executing it.

When debugging via a runtime whose gdb stub reports a more specific
triple (e.g. WAMR reports "wasm32-wamr-wasi-wasm"), lldb adopts that
triple and clears the module list. The dynamic loader then tries to
reload the main executable, but GetOrCreateModule rejects the on-disk
file because the triples are incompatible. This causes lldb to back to
reading from memory.

Fix all this by reporting a bare "wasm32"/"wasm64" architecture instead.


  Commit: e4a0e1dfcb5e23e1e5acf7e3521cea840e4383d6
      https://github.com/llvm/llvm-project/commit/e4a0e1dfcb5e23e1e5acf7e3521cea840e4383d6
  Author: Anton Shepelev <44649959+amemov at users.noreply.github.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M libc/benchmarks/CMakeLists.txt
    A libc/benchmarks/LibcRsqrtf16GoogleBenchmarkMain.cpp
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/rsqrtf16.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math][c23] Improve rsqrtf16 function for targets without fp32 FPUs. (#160639)

Closes #159378 

#### Changes
- This PR adds math approximation for targets that don't have hardware
for floats - in other words, targets that don't have
`LIBC_TARGET_CPU_HAS_FPU_FLOAT`
- This PR also introduces Google Benchmark for rsqrtf16
- Fixed typo in `+inf` case. Should return +0 according to
[F.10.4.9](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf)


  Commit: 5dc8ac225fa7965518fb49cce90516b46c745e0f
      https://github.com/llvm/llvm-project/commit/5dc8ac225fa7965518fb49cce90516b46c745e0f
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILRemoveUnusedResources.cpp
    A llvm/lib/Target/DirectX/DXILRemoveUnusedResources.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/Binding/binding-overlap-3.ll
    M llvm/test/CodeGen/DirectX/Binding/binding-overlap-4.ll
    M llvm/test/CodeGen/DirectX/Binding/binding-overlap-5.ll
    M llvm/test/CodeGen/DirectX/Binding/binding-overlap-7.ll
    M llvm/test/CodeGen/DirectX/ContainerData/PSVResources-order.ll
    M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
    M llvm/test/CodeGen/DirectX/Metadata/cbuffer-metadata.ll
    M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
    M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/overflow-uavs-array.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/unbounded-uavs-array.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    A llvm/test/CodeGen/DirectX/resources-in-unused-function.ll
    A llvm/test/CodeGen/DirectX/unused-resources-impl-binding.ll
    A llvm/test/CodeGen/DirectX/unused-resources.ll

  Log Message:
  -----------
  [DirectX] Add DXILRemoveUnusedResources pass (#200965)

Adds `DXILRemoveUnusedResources` pass that scans the module and removes
any resource that is not used. It means that it removes calls to
`dx_resource_handlefrom{implicit}binding` whose return value is either
not used at all, or it is saved to a global variable that does not have
external linkage and is not used anywhere else in the module.

This pass needs to run before implicit resource binding assignment pass.
The test `unused-resources-impl-binding.ll` makes sure the implicit
binding assignments are not affected by the unused resources.

Since we have many tests that are initializing resources without
actually using them, an internal option
`-disable-dxil-remove-unused-resource` has been added to `llc` so we can
keep these tests simple without adding extra code to artificially use
each resource.

Depends on #200312

Fixes #192524


  Commit: a40055caee3c372675da0190dcce1e7b14831485
      https://github.com/llvm/llvm-project/commit/a40055caee3c372675da0190dcce1e7b14831485
  Author: Owen Anderson <resistor at mac.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/CHERICapabilityFormat.h
    M llvm/lib/Support/CHERICapabilityFormat.cpp
    M llvm/unittests/Support/CHERICapabilityFormatTest.cpp

  Log Message:
  -----------
  [CHERI] Fix incorrect MAX_E for RV64Y capabilities. (#204487)

Add tests for all capability formats at the upper end of their ranges, which would have caught this oversight.


  Commit: d6d93464c59eb5f93452b27dd9e9e7e489606b4f
      https://github.com/llvm/llvm-project/commit/d6d93464c59eb5f93452b27dd9e9e7e489606b4f
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/test/Instrumentation/Instrumentor/default_rt.h

  Log Message:
  -----------
  [Instrumentor] Move NumericFlags into InstrumentorRuntimeHelper.h (#204068)

This patch makes the `NumericFlags` enum visible to the end user by
moving it into `InstrumentorRuntimeHelper.h`.


  Commit: ced82d8d8b7924077692a46f30fab67be7268073
      https://github.com/llvm/llvm-project/commit/ced82d8d8b7924077692a46f30fab67be7268073
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/spirvintrin.h

  Log Message:
  -----------
  [Clang] Make the pointers to gpuintrin AS query const (#204492)

Summary:
Right now these force a const cast if the user is checking a read-only
pointer, not great.


  Commit: b2ffc0d9c30a7eca584d67ea8ea93e5ed79d9091
      https://github.com/llvm/llvm-project/commit/b2ffc0d9c30a7eca584d67ea8ea93e5ed79d9091
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    A llvm/test/Transforms/LoopInterchange/inner-header-has-duplicate-succs.ll

  Log Message:
  -----------
  [LoopInterchange] Reject if inner loop header has duplicate successors (#204128)

Previously, loop interchange crashed in several cases where the inner
loop header had duplicate successors. In practice, the following was
happening:

- During the transformation phase, the inner loop header was not split
because its first non-PHI instruction was its terminator.
- `updateSuccessor` was called on the header with `MustUpdateOnce=true`,
which triggers an assertion failure.

This patch fixes the issue by rejecting such cases during the legality
check phase. I believe this situation is rare, so it should not
significantly affect real-world cases.

Fix #203887.


  Commit: 258b68fd169a4d6f9e670c0120d0f466a6ec9a3f
      https://github.com/llvm/llvm-project/commit/258b68fd169a4d6f9e670c0120d0f466a6ec9a3f
  Author: lrzlin <linrunze at loongson.cn>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptosi.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptoui.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptosi.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptoui.ll

  Log Message:
  -----------
  [LoongArch] Combine FP_TO_UINT/FP_TO_SINT with [X]VFTINTRZ instruction (#201569)

Combine double conversion to signed 32-bit integer with
`[X]VFTINTRZ_W_D` instructions.

There are three cases:
1. For VT smaller than i32, we promote it to i32 then truncate to the
final result.
2. For `fptoui double to i32`, we convert it to `fptosi double to i64`
then truncate, avoid doing so with LASX enabled because we already have
the corresponding pattern in TableGen.
3. Last, for `fptosi double to i32`, we'll split them into blocks
(128-bit or 256-bit depending on whether LASX is enabled or not) and
then feed them into `[X]VFINTRZ_W_D` instructions, we using the XV
version, a shuffle is need because of the data layout is per 128-bit
lane.


  Commit: d3ac9b5c4cab4ced92f7027ee214d54a04387e78
      https://github.com/llvm/llvm-project/commit/d3ac9b5c4cab4ced92f7027ee214d54a04387e78
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
    A bolt/test/X86/dwarf4-cross-cu-ranges.test

  Log Message:
  -----------
  [RFC][BOLT] Add a new parallel DWARF processing(2/2) (#197859)

This PR implements a new parallel DWARF debug info processing pipeline
for BOLT that significantly speeds up `--update-debug-sections` for
large binaries. It is the second part of the split from the overall RFC
changes
RFC - [[RFC][BOLT] A New Parallel DWARF Processing Approach in
BOLT](https://discourse.llvm.org/t/rfc-bolt-a-new-parallel-dwarf-processing-approach-in-bolt/90736)
(The overall changes.)

This PR does the following:
1. **Equivalence-class CU partitioning:** Replaces batchsize grouping
with union-find over DW_FORM_ref_addr references. Connected CUs share a
bucket; isolated CUs become singletons.

> For the non-LTO case, CUs have no cross-CU dependencies, so each CU is
placed into its own singleton bucket and processed fully in parallel.
> For the LTO case, CUs with cross-CU dependencies are grouped into the
same bucket and processed sequentially within that bucket, while
different buckets are still processed in parallel.

2. **Per-bucket parallel processing with in-order merge:** Each bucket
gets its own DIEBuilder and local range/loc writers; completed buckets
are then merged sequentially in partition order, applying offset fixups
and emitting CUs to ensure deterministic output.
3. **Add main-binary parallel process** : Main-binary CU update and
split-DWO processing both happen within the same per-bucket task.


  Commit: fecb127c3a6553b2a7b060954c5b1a15c644beed
      https://github.com/llvm/llvm-project/commit/fecb127c3a6553b2a7b060954c5b1a15c644beed
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/test/Preprocessor/init-datetime-macros.c

  Log Message:
  -----------
  [clang-cl][test] Use /Zs to avoid writing unnecessary output files (#204501)

#194779 adds a test clang/test/Preprocessor/init-datetime-macros.c which
verifies some diagnostics. However, it does so with `/c`, which will
unnecessarily generate an output, and when run on a build system that
does not run tests in a writeable dir by default, will cause the test to
fail.

Since we don't care about the resulting object file, use `/Zs`
(equivalent of `-fsyntax-only`) to check the diagnostics but not produce
any output files.


  Commit: 909773de330b9217443fb678d8185a2229359576
      https://github.com/llvm/llvm-project/commit/909773de330b9217443fb678d8185a2229359576
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-17 (Wed, 17 Jun 2026)

  Changed paths:
    M clang/lib/AST/TypePrinter.cpp
    A clang/test/AST/ast-dump-riscv-rvv-fixed-length-mask-types.c

  Log Message:
  -----------
  [RISCV] Fix the AST type printing code for VectorKind::RVVFixedLengthMask_1/2/4 (#204498)

These types have a fixed size of 1, 2, 4. The formula used for the other
types does not apply.

Assisted-by: Claude


  Commit: 42743abe0a77cede08b203226a240155e50b4adb
      https://github.com/llvm/llvm-project/commit/42743abe0a77cede08b203226a240155e50b4adb
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    A lld/test/MachO/icf-ignore-literal-ptr-labels.s
    A lld/test/MachO/ignore-literal-cstring-labels.s

  Log Message:
  -----------
  [lld-macho] Ignore labels on sections ld64 treats as ignoreLabel (#194275)

In ld64, labels on records in some sections never become named atoms and
never enter the symbol table:

- Unconditionally: __cfstring, __objc_classrefs, and __objc_selrefs
- Prefix-gated on `L`/`l`: __literal{4,8,16} and __cstring-family
sections such as __objc_methname

LLD, however, ran every such label through `SymbolTable::addDefined`,
which diverged from ld64 whenever an identically-named symbol appeared
in another section. This patch mirrors ld64's behavior in LLD. The
Defined is still created for the affected labels, but it bypasses the
symbol table entirely and cannot collide with any cross-TU symbol.

I have encountered a few link failures caused by this, and reduced them
into the regression tests in the patch.


  Commit: 14de4e5479ccff5eff346d77a7ab6b9bbc9fa32c
      https://github.com/llvm/llvm-project/commit/14de4e5479ccff5eff346d77a7ab6b9bbc9fa32c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove an outdated comment (#204509)

They don't disagree anymore.


  Commit: d5194e2514533067c5a7a7c2e7af33b112e3aad5
      https://github.com/llvm/llvm-project/commit/d5194e2514533067c5a7a7c2e7af33b112e3aad5
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M openmp/runtime/src/kmp_adt.h
    M openmp/runtime/unittests/ADT/CMakeLists.txt
    A openmp/runtime/unittests/ADT/TestVector.cpp

  Log Message:
  -----------
  [libomp] Add kmp_vector (ADT 2/2) (#176163)

See rationale in the commit adding kmp_str_ref.

This commit introduces kmp_vector, a class intended primarily for small
vectors. It currently only includes methods I need at the moment, but
it's easily extensible.


  Commit: a02e66b1c1b70cd910ea0cd758f3f3930f9f7a2a
      https://github.com/llvm/llvm-project/commit/a02e66b1c1b70cd910ea0cd758f3f3930f9f7a2a
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/regbank-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Select narrow G_INSERT_VECTOR_ELT GPR operands (#203568)

RegBankSelect currently extends narrow i8/i16 G_INSERT_VECTOR_ELT GPR
operands to 32-bits. Move this widening to pre-isel lowering. This will
help enable a simple fast pure type-based RBS alternative.

Assisted-by: codex


  Commit: 8199e9fa55270686b5ad8bb490fbf414736b027c
      https://github.com/llvm/llvm-project/commit/8199e9fa55270686b5ad8bb490fbf414736b027c
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/test/API/commands/process/attach/TestProcessAttach.py

  Log Message:
  -----------
  [lldb][test] Speed up ProcessAttach test (#201530)

ProcessAttach is our slowest test and runs for about 70s. We spend 60s
in the autocontinue test waiting for the target program to terminate.

The reason we wait for the program is that our autocontinue test is not
running its command in async mode, and we wait after the attach for the
next breakpoint or the program terminates.

This patch makes the attach and autocontinue run in async mode so we
don't wait for the program to finish. This reduces the test time from
70s to about 10s.

It also replaces the assertTrue call that was supposed to be an
assertEqual, which made the test succeed even though the inferior
process already terminated.


  Commit: 316e5a3ed4a58f415c166f9d32b89b18a8f4531f
      https://github.com/llvm/llvm-project/commit/316e5a3ed4a58f415c166f9d32b89b18a8f4531f
  Author: adalal-2441 <adalal at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp

  Log Message:
  -----------
  [X86] Simplify duplicate MMO offset tracking in breakBlockedCopies (NFC) (#202904)

LMMOffset and SMMOffset in breakBlockedCopies/buildCopies/buildCopy were
both initialized to 0 and advanced in lockstep by identical amounts, so
they were always equal. Collapse them into a single Offset used for both
the load and store MachineMemOperands.

This also removes a latent typo: the final buildCopies call passed
LMMOffset for the store offset argument instead of SMMOffset. Since the
two were always equal this was harmless, and the unified Offset makes
the divergence unrepresentable.

Found via @jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/blob/master/x86/bugs/042-sfb-buildcopies-wrong-mmo-offset/NOTES.md

cc @jlebar


  Commit: 004f829fd0c5ecfebc7bfd05107160c97027d1e9
      https://github.com/llvm/llvm-project/commit/004f829fd0c5ecfebc7bfd05107160c97027d1e9
  Author: Haowei <haowei at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [clang][cmake] Disable exceptions for ASan runtime on Fuchsia (#204512)

Fuchsia's default runtime environment prefers no-exceptions. Compiling
the C++ slice of ASan (asan_new_delete.cpp) with exceptions introduces
dependencies on EH symbols
(__cxa_begin_catch, etc.) in libclang_rt.asan.so. This causes link
failures when linking ASan-enabled binaries with noexcept libc++abi.
Explicitly disable COMPILER_RT_ASAN_ENABLE_EXCEPTIONS for Fuchsia
targets in the stage2 cache.


  Commit: 836f91b3a196b20cef6c1090fea6533ba872e37d
      https://github.com/llvm/llvm-project/commit/836f91b3a196b20cef6c1090fea6533ba872e37d
  Author: Ege Beysel <beysel at roofline.ai>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/test/lib/Dialect/Test/TestInterfaces.td
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp

  Log Message:
  -----------
  [mlir][tblgen]: forward overloaded interface methods to external models (#203507)

The FallbackModel/ExternalModel forwarders generated for an OpInterface
dispatched to the concrete model by the method's unique name (e.g.
`getOverloadedValue_1`), whereas the Model path already forwards by the
method's source name. For an interface that overloads a method this
prevents an external model from overriding an overload by its real name.
Forward by the source name in both paths so external models can
implement overloaded interface methods. No change for non-overloaded
methods, where the unique and source names coincide.

Previously, the external model interfaces exposed the internal name
mangling that we do for overloaded methods to the implementers,
prohibiting them from overriding these. This PR fixes that and hides the
internal name mangling from the implementers/users, and exposes source
names for overloaded methods, symmetrically to the `Model` case. E.g.
this PR allows:

```cpp
// An external model can override an OVERLOADED
// interface method by its normal (source) name.

struct BaseInterface {
  // Two overloads, both with default implementations.
  int overloadedMethod(int a)        { return a * 2; }
  int overloadedMethod(int a, int b) { return a * b; }
};

struct SpecializedInterface
    : public BaseInterface::ExternalModel<SpecializedInterface, some::Op> {

  // First overload: always worked, nothing about it is mangled.
  int overloadedMethod(int a) { ... }

  // Second overload: this is the case the PR fixes. Internally the overload is
  // given a mangled name, and the generated forwarder used to dispatch to that
  // mangled name, so this source-name override was bypassed: the call fell
  // through to the default (`a * b`), or failed to compile if no default
  // existed. The PR forwards by the source name instead, so this override is
  // the one that runs.
  int overloadedMethod(int a, int b) { return a * b + 3; }
};
```

You can also find a more concrete use-case of this in this (yet) [draft
PR](https://github.com/llvm/llvm-project/pull/204007) that depends on
this PR.

Assisted-by: Claude Code

---------

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


  Commit: fe0e658e25619cc86779e836f192010559d7b591
      https://github.com/llvm/llvm-project/commit/fe0e658e25619cc86779e836f192010559d7b591
  Author: Yuyang Zhang <Yuyang.Zhang at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/PGOProfile/chr.ll

  Log Message:
  -----------
  [InstCombine] Re-queue users after freezeOtherUses rewrites their operands (#202306)

`freezeOtherUses()` rewrites dominated uses to a single frozen copy, but
does not re-queue the rewritten users. Any fold enabled by the rewrite
is therefore left for the next InstCombine iteration, which breaks the
expected single-iteration fixpoint and requires
`instcombine-no-verify-fixpoint` in the affected tests.

Re-queue each rewritten user and its users so the newly exposed folds
are visited in the same iteration.


  Commit: 1969e3061d58627f38397616862ce65f8f0d9e82
      https://github.com/llvm/llvm-project/commit/1969e3061d58627f38397616862ce65f8f0d9e82
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-interposable.ll

  Log Message:
  -----------
  [WPD] Don't perform virtual constant propagation for interposable functions (#204317)

We can't do constant propagation through interposable functions, as the
definition we see may not be the prevailing one. Doing it through
inexact definitions (linkonce_odr) is fine.

TBH, I'm not completely sure whether this is necessary, maybe there is
some precondition for this pass (given that it's whole-program) that
makes it unnecessary. This behavior came up in
https://github.com/llvm/llvm-project/pull/203304.


  Commit: 8b5f178358ede90aaa0709d48648403db39835e2
      https://github.com/llvm/llvm-project/commit/8b5f178358ede90aaa0709d48648403db39835e2
  Author: Rahul <quic_rahulana at quicinc.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A llvm/test/Analysis/LoopCacheAnalysis/partially-perfect-nest.ll

  Log Message:
  -----------
  [LoopCacheAnalysis] Add tests for #198694 (NFC) (#204319)

This change adds tests corresponding to PR #204323


  Commit: 57c571877d732dd032f9216fe6b478efff2919bb
      https://github.com/llvm/llvm-project/commit/57c571877d732dd032f9216fe6b478efff2919bb
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] `extOrTrunc()` when pushing builtin results (#204516)

We're not necessarily using an APSInt of the appropriate size from the
start, so get it to the right bitwidth here.


  Commit: e727e5b51fbecdd0cac1619686b16758cdf8a426
      https://github.com/llvm/llvm-project/commit/e727e5b51fbecdd0cac1619686b16758cdf8a426
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/test/AST/ByteCode/invalid.cpp

  Log Message:
  -----------
  [clang][bytecode] Diagnose invalid virtual base casts (#204518)


  Commit: 9a9e893f44bca9911cbdb1e0238ce40f23a359d1
      https://github.com/llvm/llvm-project/commit/9a9e893f44bca9911cbdb1e0238ce40f23a359d1
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    A llvm/test/Transforms/LoopVectorize/allowExtraAnalysis-invalid-cfg.ll

  Log Message:
  -----------
  [LV] Fix unsafe canVectorizeWithIfConvert() checks (#203273)

When allowExtraAnalysis is true, we might not have a canonical loop form
to work with. This fixes the code paths that can be reached in legality
checks to support loops with e.g. multiple latches.


  Commit: 12ecfc73d4c2b94ea32d1daad7b80a48bc18bfda
      https://github.com/llvm/llvm-project/commit/12ecfc73d4c2b94ea32d1daad7b80a48bc18bfda
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-i32.ll
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Drop redundant alignment assumptions with offsets (#204321)


  Commit: baad7c3238b3203c974787fc4881453b6b23a0b6
      https://github.com/llvm/llvm-project/commit/baad7c3238b3203c974787fc4881453b6b23a0b6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [clang][ExprConst] Add `EvalStatus::DiagEmitted` flag (#203838)

There are some instances where we want to know _if_ a diagnostic has
been emitted, but we're not interested in the actual diagnostic.
Emitting the diagnostics can be rather costly, especially because we add
the callstack as notes.


  Commit: f999ca3037dfb43fc9b14612f03708a6435fab5e
      https://github.com/llvm/llvm-project/commit/f999ca3037dfb43fc9b14612f03708a6435fab5e
  Author: hby <79170515+hbystuff at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Bitcode/BitcodeReader.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/unittests/Bitcode/BitReaderTest.cpp

  Log Message:
  -----------
  [Bitcode] Add SkipDebugIntrinsicUpgrade hook to ParserCallbacks (#201456)

Expose CanUpgradeDebugIntrinsicsToRecords (already an opt-in parameter
on UpgradeIntrinsicFunction) through ParserCallbacks. When set, the
bitcode reader's globalCleanup() no longer auto-upgrades debug intrinsic
calls (llvm.dbg.\*) to non-instruction debug records; the caller is then
responsible for performing the upgrade manually (e.g. via
Module::convertToNewDbgValues()) after any custom processing of the
intrinsic-form IR.

This is useful for out-of-tree consumers that run passes operating on
intrinsic-form debug metadata before opting into the new debug records
format.


  Commit: b8def5078487c120e85972c06e79809121d337f2
      https://github.com/llvm/llvm-project/commit/b8def5078487c120e85972c06e79809121d337f2
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-pdbutil/dxcontainer-export.test
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.h

  Log Message:
  -----------
  [llvm-pdbutil] Add `--dxcontainer` option to `llvm-pdbutil export` (#200486)

Adds a `--dxcontainer` option to export a `DXContainer` from a PDB file.
It basically serves as an alias to `--stream=5`, and is clearly seen in
`--help`.


  Commit: 3d37689b894457acb02efa6b33e9a113c022bdb9
      https://github.com/llvm/llvm-project/commit/3d37689b894457acb02efa6b33e9a113c022bdb9
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
    M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/MC/AMDGPU/mcexpr_amd_err.s
    M llvm/test/MC/AMDGPU/occupancy_mcexpr.s
    M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp

  Log Message:
  -----------
  [AMDGPU] Make SGPR occupancy the exact inverse of getMaxNumSGPRs (#201342)

The SGPR->occupancy table ignored the allocation granule and the
trap-handler reservation, so it disagreed with getMaxNumSGPRs() (e.g. 80
and 81 SGPRs reported the same occupancy and hid the cliff). Compute
occupancy by inverting the per-wave SGPR budget instead, sharing one
helper (getSGPRBudgetPerWave) with getMaxNumSGPRs()/getMinNumSGPRs() so
the budget and its inverse cannot drift apart. Thread that budget
(total/granule/trap reserve) through the occupancy MCExpr because the
asm printer's MCSubtargetInfo does not carry the implicit amdhsa
+trap-handler feature.

This aligns the SGPR-limited occupancy heuristic with the register
budget for all pre-GFX10 targets (including non-trap), which accounts
for the codegen test updates.

Assisted-by: Claude Opus

---------

Co-authored-by: mselehov <mselehov at amd.com>


  Commit: 4e9609bbd05b0b23d13f36905c5b02e3e02b369d
      https://github.com/llvm/llvm-project/commit/4e9609bbd05b0b23d13f36905c5b02e3e02b369d
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [Delinearization] Fix indentation (NFC) (#204531)


  Commit: 69c9c023ada07c8cba7fc454f3f66b2d6a73acd0
      https://github.com/llvm/llvm-project/commit/69c9c023ada07c8cba7fc454f3f66b2d6a73acd0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove StmtExprScope (#204530)

We can use a simple llvm::SaveAndRestore instead.


  Commit: 879786170a480c871a10ca27b93bb97af9135942
      https://github.com/llvm/llvm-project/commit/879786170a480c871a10ca27b93bb97af9135942
  Author: halbi2 <hehiralbi at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [llvm] Fix typo UNSPPORTED -> UNSUPPORTED (#138628)

This word was misspelled in c63f2581f.


  Commit: c37248074b85dce34159b2807ffdcf8b59c905fb
      https://github.com/llvm/llvm-project/commit/c37248074b85dce34159b2807ffdcf8b59c905fb
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    A clang/test/Sema/LifetimeSafety/safety-c.c
    A clang/test/Sema/attr-lifetime-capture-by.c
    A clang/test/Sema/attr-lifetimebound.c

  Log Message:
  -----------
  Reapply "[LifetimeSafety] Support C Language in LifetimeSafety" (#204536)

There are a few constraints that make supporting C a bit cumbersome:

* C assignment expressions are rvalues, unlike C++ assignment
expressions. The analysis has to account for the different origin shape
of the assignment result by stripping an origin from `LHSExpr`.
* Function addresses in C do not need lifetime tracking. Taking `&f`
should not create origins because functions do not have local object
lifetime (unlike in C++).
* GNU C permits `void*` subscripting/pointer arithmetic. Expressions
like `bytes[0]` (where `bytes` is `void*`) have type `void` and do not
produce an addressable object with origins, even though `void*` itself
can carry pointer origins.
* Some C subscripts, such as vector subscripts, are not GLValues, so
they do not have storage origins to track.
* `va_arg(ap, array_type)` is undefined behavior, so we skip it instead
of trying to model origins for it.
* C does not have a spelling for `[[gsl::Owner]]` / `[[gsl::Pointer]]`,
so C support is limited to pointer/object cases that can be represented
in C and `__attribute__((lifetimebound))`.

What validation I performed:

* Ran a crash-smoke test over C files in the LLVM tree with
`-Wlifetime-safety`. It finished without crashes after the fixes.
* Generated a C-only subset of `warn-lifetime-safety.cpp` and compiled
it with `-Wlifetime-safety`, to reuse existing pointer-flow coverage in
C mode.
* Built the Linux kernel (with `allmodconfig` build) and got a few
warnings. So firstly there are a few uninteresting true positives that
are intentional in the tests, and our checker catches them. (this is the
majority, approximately 90% of all warnings come from these intentional
leaky tests). There were also a few conservative warnings where the
analysis does not prove the relevant path condition, so they look like
expected false positives rather than C support issues. And our analysis
also got 1 correctly!

Closes #203213

Assisted-by: GPT-5.5 for writing bash scripts to perform validation.

Different to #203270 in that it doesn't add unrelated `.gitignore`
changes.


  Commit: d85766e2053a35d4fc5b2593d8076e6c7d96a49a
      https://github.com/llvm/llvm-project/commit/d85766e2053a35d4fc5b2593d8076e6c7d96a49a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/test/AST/ByteCode/literals.cpp

  Log Message:
  -----------
  [clang][bytecode] Diagnose jumps to case labels in StmtExprs (#204539)

We need another bit of state to save if the switch was also in the
StmtExpr or not.


  Commit: 7c05d28b817fff25507c0c1aa8a1129f4a69f223
      https://github.com/llvm/llvm-project/commit/7c05d28b817fff25507c0c1aa8a1129f4a69f223
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
    R llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
    R llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
    M polly/test/Support/pipelineposition.ll

  Log Message:
  -----------
  Revert "[SimpleLoopUnswitch] Generalize the notion of trivial unswitching" (#204538)

Reverts llvm/llvm-project#193989.

That change caused failed assertions, see that PR for examples.


  Commit: 4d812375c17489019500fa475d76098074d9681a
      https://github.com/llvm/llvm-project/commit/4d812375c17489019500fa475d76098074d9681a
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
    M llvm/test/Transforms/LoopVectorize/scalarized_conditional_ops_uncountable_exits.ll
    M llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll
    M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    R llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp

  Log Message:
  -----------
  [LV] Follow up to uncountable exit with side effects vectorization (#201589)

Addressing post-commit comments on #178454.


  Commit: 2563af1c9ec15c2dbdebf8d7aa8ff9817204ab0e
      https://github.com/llvm/llvm-project/commit/2563af1c9ec15c2dbdebf8d7aa8ff9817204ab0e
  Author: Mark Murray <mark.murray at arm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add armagicpu CPU (#202557)


  Commit: b636f436d3a00bc3cc81812cf646d8b3c5ef435a
      https://github.com/llvm/llvm-project/commit/b636f436d3a00bc3cc81812cf646d8b3c5ef435a
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h

  Log Message:
  -----------
  [NFC][AMDGPU] Introduce SIInstrFlags predicates for TSFlags access (#201512)

Add inline predicate templates to SIDefines.h for each TSFlags bit
(isSALU, isVOP3, isFLAT, isMaybeAtomic, hasFPClamp, ...) plus compound
predicates (isAtomic, isSegmentSpecificFLAT, isImage, isVMEM).

Route all SIInstrInfo.h thin wrapper bodies through the new predicates
instead of reading TSFlags bits directly. 
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 567eeec75c26f4d0fca28659fb829b8b466539f2
      https://github.com/llvm/llvm-project/commit/567eeec75c26f4d0fca28659fb829b8b466539f2
  Author: JoshuaGrindstaff <99843934+JoshuaGrindstaff at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-direct-chain.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-indirect.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    A llvm/test/CodeGen/AMDGPU/indirect-call-agpr-cap.ll
    A llvm/test/CodeGen/AMDGPU/indirect-call-sgpr-cap.ll
    A llvm/test/CodeGen/AMDGPU/indirect-call-vgpr-cap.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/object-linking-local-resources.ll

  Log Message:
  -----------
  [AMDGPU] Capping max number of registers to function's occupancy budget for indirect calls (#199765)

Depends on https://github.com/llvm/llvm-project/pull/199746

Changed the SetMaxReg Lambda function to cap at
ST.getMaxNumVectorRegs(F) for VGPRs and AGPRs and ST.getMaxNumSGPRs(F)
for SGPR. ST.getMaxNumVectorRegs(F) and ST.getMaxNumSGPRs(F) returns the
budget for the given function F and is mainly determined by the
occupancy of the function.

This cap is needed since the module's max could overestimate register
usage because it includes functions that earlier in the compiler was
determined inaccessible by that indirect call. ST.getMaxNumVectorRegs(F)
and ST.getMaxNumSGPRs(F) were calculated according to an more accurate
call graph.

This fixes an issue of overinflated number of VGPR/AGPR for kernels that
have indirect function calls. This inflation has led to some kernels
with indirect calls to go over the limit for VGPR/AGPR and crash.
Included SGPR in fixes since the same issue could conceivably happen
with those also.

---------

Co-authored-by: JoshuaGrindstaff <jgrindst at amd.com>


  Commit: 08b557bf5139394194be22359268b7b88f81faae
      https://github.com/llvm/llvm-project/commit/08b557bf5139394194be22359268b7b88f81faae
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_12-5-generic.bc
    M clang/test/Driver/hip-sanitize-options.hip
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    R llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll

  Log Message:
  -----------
  AMDGPU: Remove xnack-any-only subtarget feature and handling (#204514)

This reverts commit f4caa0a172d96597c375e6b6b2192c289723a6b9.

This feature was added to gfx12-5-generic only, which does not make
sense given that both gxf1250 and gfx1251 have the same unconditional
xnack handling. It also does not make sense to diagnose trying to use
a specific xnack mode on the generic target only, and only from the
backend.

The current feature management is a confusing mess, given that we have
2 parallel feature systems. AMDGPUTargetParser has a table containing
a bitmask of features, which already contained FEATURE_XNACK_ALWAYS
for gfx1250/gfx1251, but not gfx12-5-generic. Add this handling there
so the sanitizer detection is consistent on the generic target.

These 2 feature tables probably should be unified in some way. We also
probably should have a subtarget feature for the xnack handling, but it
should be inverted. xnack-any-only is an antifeature, in that it removes
functionality from the base target. It would be better to invert this,
so all of the older targets support configurable xnack modes.


  Commit: 12aefe26cedd9a8f94546cc1f2be285cfddcc861
      https://github.com/llvm/llvm-project/commit/12aefe26cedd9a8f94546cc1f2be285cfddcc861
  Author: shivaramaarao <58245296+shivaramaarao at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/split-lto-unit.f90
    A flang/test/Integration/split-lto-unit-2.f90

  Log Message:
  -----------
  [Flang][Driver] Support for -fsplit-lto-unit option in flang driver (#202858)

When mixing Fortran objects from Flang with C/C++ objects compiled by
Clang during a combined LTO build, it is necessary to ensure that all
files use the same setting for split-lto-unit. This requires the support
for -fsplit-lto-unit option in the flang driver. This support is added
as part of this commit.

 Co-authored-by: Shivarama Rao <shivarama.rao at amd.com>


  Commit: d65d7a15997473c4831e8486b8aaf5242aecf99e
      https://github.com/llvm/llvm-project/commit/d65d7a15997473c4831e8486b8aaf5242aecf99e
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/test/Sema/LifetimeSafety/dangling-field.cpp
    M clang/test/Sema/LifetimeSafety/dangling-global.cpp

  Log Message:
  -----------
  [LifetimeSafety] Count escape facts when classifying persistent origins (#204485)

computePersistentOrigins marks an origin persistent (kept across CFG
blocks)
only if it appears in more than one block, but it omitted
OriginEscapesFact.
A global is not seeded at function entry, so a global assigned a stack
address
on a conditional or loop path had its origin appear only in the storing
block;
misclassified as block-local, its loan was dropped at the join before
the
escape check, a silently missed dangling-global
(stack-use-after-return).
Count the escaped origin as a cross-block appearance.

Assisted-by: Claude Opus 4.8

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


  Commit: 61f46186b0fd72cfdff9bd9d455e5141d1dd1c35
      https://github.com/llvm/llvm-project/commit/61f46186b0fd72cfdff9bd9d455e5141d1dd1c35
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    A llvm/test/CodeGen/X86/isel-invoke.ll

  Log Message:
  -----------
  [X86][GlobalISel] Explicitly legalize G_INVOKE_REGION_START (#203503)

Removing dependency on the legacy ruleset similarly to #197374

The missing testing coverage was found during LegacyLegalizerInfo
removal in #197308


  Commit: 6236b9a421d387eea836e123a091df585ae5dc9e
      https://github.com/llvm/llvm-project/commit/6236b9a421d387eea836e123a091df585ae5dc9e
  Author: adalal-2441 <adalal at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    A llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir

  Log Message:
  -----------
  [X86] Fix stale kill flag when folding VPMOV*2M + KMOV to VMOVMSK (#204342)

tryCompressVPMOVPattern folds VPMOV*2M + KMOV into a single VMOVMSK in
place: it changes the KMOV's opcode and repoints its source operand from
the mask k-register to the XMM source via MachineOperand::setReg().

setReg() only changes the register number and keeps the operand's other
flags, so the kill flag computed for the mask ("killed $k0") is reused
for the XMM source. When the source is still live this marks it killed,
which the machine verifier reports as a use of an undefined register.

We should instead use the kill flag from the VPMOV's source operand. The
forward scan already guarantees the source is not redefined between the
VPMOV and the KMOV, so the VPMOV's flag is correct at the relocated
read.

Found via @jlebar's X86 LLVM bug-hunt / FuzzX effort:

https://github.com/SemiAnalysisAI/FuzzX/tree/master/x86/bugs/043-compress-evex-vpmov-srcvec-clobber-kmov

cc @jlebar


  Commit: 5fe913294935636bb725b330dff499eae5d7bcab
      https://github.com/llvm/llvm-project/commit/5fe913294935636bb725b330dff499eae5d7bcab
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 6e21a04a5a96 (#204576)


  Commit: 8b0462ff960d71201e2eabd8789333b74a240a9c
      https://github.com/llvm/llvm-project/commit/8b0462ff960d71201e2eabd8789333b74a240a9c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/FrontendTool/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/SourceTransformation/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-ssaf-analyzer/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-ssaf-linker/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn

  Log Message:
  -----------
  [gn] port 53dabae40fb3a8514 (ssaf/SourceTransformation) (#204574)


  Commit: 7fda520854cd3993f46c417cdc94c83cd3d192fb
      https://github.com/llvm/llvm-project/commit/7fda520854cd3993f46c417cdc94c83cd3d192fb
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4d812375c174 (#204575)


  Commit: 1343b646697fff896af5c2a0a99135db177ae43d
      https://github.com/llvm/llvm-project/commit/1343b646697fff896af5c2a0a99135db177ae43d
  Author: Andrew Haberlandt <ahaberlandt at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake

  Log Message:
  -----------
  [compiler-rt] Fix default builtins target _Float16 detection on x86_64/i386 (#204474)


  Commit: d77f3bf53f43f5b5c7c00c8320b3f5773a5751c4
      https://github.com/llvm/llvm-project/commit/d77f3bf53f43f5b5c7c00c8320b3f5773a5751c4
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/tools/clang-ssaf-format/BUILD.gn

  Log Message:
  -----------
  [gn] port 53dabae40fb3a8514 more (#204578)


  Commit: 23abfa0a812fc22353c640c9311960ed63e7fdd9
      https://github.com/llvm/llvm-project/commit/23abfa0a812fc22353c640c9311960ed63e7fdd9
  Author: ziereis <44057120+ziereis at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir

  Log Message:
  -----------
  [mlir][tosa] Allow rank-0 vector operands in tosa.apply_scale (#199924)

I was facing a bug that can be reproduced this way:

```mlir
 // RUN:  mlir-opt --transform-interpreter tosa_apply_scale_rank0_repro.mlir
  #map        = affine_map<(d0) -> (d0)>
  #map_scalar = affine_map<(d0) -> ()>

  func.func @repro(%input: tensor<64xi32>, %scalar_t: tensor<i32>,
                   %out_init: tensor<64xi8>) -> tensor<64xi8> {
    %c31_i8     = arith.constant 31 : i8
    %cScale_i32 = arith.constant -1010580540 : i32

    %tile_out = linalg.generic
      { indexing_maps = [#map, #map_scalar, #map],
        iterator_types = ["parallel"] }
      ins(%input, %scalar_t : tensor<64xi32>, tensor<i32>)
      outs(%out_init : tensor<64xi8>) {
      ^bb0(%in: i32, %in_4: i32, %out: i8):
        %scaled = tosa.apply_scale %in_4, %cScale_i32, %c31_i8
                  { rounding_mode = SINGLE_ROUND } : (i32, i32, i8) -> i32
        %as_i8  = arith.trunci %scaled : i32 to i8
        linalg.yield %as_i8 : i8
    } -> tensor<64xi8>

    return %tile_out : tensor<64xi8>
  }

  module attributes {transform.with_named_sequence} {
    transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) {
      %func = transform.structured.match ops{["func.func"]} in %arg0
              : (!transform.any_op) -> !transform.any_op
      %op   = transform.structured.match ops{["linalg.generic"]} in %arg0
              : (!transform.any_op) -> !transform.any_op
      transform.structured.vectorize %op vector_sizes [64] : !transform.any_op
      transform.apply_patterns to %func {
        transform.apply_patterns.vector.transfer_permutation_patterns
        transform.apply_patterns.vector.sink_ops
      } : !transform.any_op
      transform.yield
    }
  }
```

Which lead to the following error:

```mlir
  error: 'tosa.apply_scale' op operand #0 must be signless-integer-like, but got 'vector<i32>'
  note: see current operation: %5 = "tosa.apply_scale"(%4, %1, %0) ... : (vector<i32>, vector<i32>, vector<i8>) -> vector<i32>
```

After this patch it gives the following IR:

```mlir
  func.func @repro(%arg0: tensor<64xi32>, %arg1: tensor<i32>, %arg2: tensor<64xi8>) -> tensor<64xi8> {
    %cst = arith.constant dense<31> : vector<i8>
    %cst_0 = arith.constant dense<-1010580540> : vector<i32>
    %c0 = arith.constant 0 : index
    %0 = ub.poison : i32
    %1 = vector.transfer_read %arg1[], %0 : tensor<i32>, vector<i32>
    %2 = tosa.apply_scale %1, %cst_0, %cst {rounding_mode = SINGLE_ROUND} : (vector<i32>, vector<i32>, vector<i8>) -> vector<i32>
    %3 = arith.trunci %2 : vector<i32> to vector<i8>
    %4 = vector.broadcast %3 : vector<i8> to vector<64xi8>
    %5 = vector.transfer_write %4, %arg2[%c0] {in_bounds = [true]} : vector<64xi8>, tensor<64xi8>
    return %5 : tensor<64xi8>
  }
  ```
    
Claude suggested the best fix for this is to ease the "no 0 rank vectors" restriction on the tosa.apply_scale op so this is what this PR includes. I honestly can't 100% judge if this is the right way to fix this but i couldn't find anything that would speak against it.

Assisted by: Claude Code 4.7


  Commit: e8a022afb1f371a036d990054f916bcb67a8ced5
      https://github.com/llvm/llvm-project/commit/e8a022afb1f371a036d990054f916bcb67a8ced5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h

  Log Message:
  -----------
  [libc] Include linux headers to get ioctl macros (#204555)

Linux has many existing ioctls and keeps adding them, so a
hand-maintained list would always be out of date. Additionally, some
ioctls have architecture specific numbers (some in a very subtle way --
by having the number depend on the size of a structure).

asm/ioctls.h and linux/sockios.h are pretty clean, and are already
included by glibc, so we can just do the same to get the latest
definitions.


  Commit: 3c33c36d925f5d278501fea55ef5a2e1f8f331ca
      https://github.com/llvm/llvm-project/commit/3c33c36d925f5d278501fea55ef5a2e1f8f331ca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libcxx/src/atomic.cpp

  Log Message:
  -----------
  [libc++] Use public os_sync API instead of private __ulock on newer Apple platforms (#202519)

The atomic wait and wake implementation on Apple platforms currently
relies on `__ulock_wait` and `__ulock_wake`, which are private kernel
APIs. This is a problem for anyone shipping apps through the App Store
since Apple flags private symbol usage during review.

Starting with macOS 14.4 and iOS 17.4, Apple ships public replacements
through `os_sync_wait_on_address` and `os_sync_wake_by_address_any/all`
in `<os/os_sync_wait_on_address.h>`. These cover the same functionality
and are documented, stable, and safe for App Store submissions.

This patch makes use of the public APIs instead of the private ones
whenever the underlying OS permits it.

This takes over #182947.
Fixes #182908
Fixes #146142

Co-authored-by: Bbn08 <atrancendentbeing at gmail.com>


  Commit: d2dd4ce545bd5753f37181f2821bc8ac07601de8
      https://github.com/llvm/llvm-project/commit/d2dd4ce545bd5753f37181f2821bc8ac07601de8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/EvaluationResult.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Mark results as non-empty when taking a value (#204568)

This was missing and all the EvaluationResults always ended up being
empty even though their APValue was set. Since the assert(!empty()) was
missing from `takeAPValue()`, nobody noticed though.


  Commit: f1bdb76cbf817c584cdd2853a49d9a992558c954
      https://github.com/llvm/llvm-project/commit/f1bdb76cbf817c584cdd2853a49d9a992558c954
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir

  Log Message:
  -----------
  [mlir][MemRefToLLVM] fix incorrect `nuw` on `GEP/mul` when lowering `memref.load/store` with negative strides (#204309)

`MemRefToLLVM` was unconditionally emitting `getelementptr inbounds|nuw`
(and consequently `mul overflow<nsw,nuw>` on every intermediate index
computation inside `getStridedElementPtr`) for all `memref.load` and
`memref.store` lowerings.

This is _unsound_ when any stride is negative or dynamic.
`getStridedElementPtr` propagates `GEPNoWrapFlags::nuw` to
`IntegerOverflowFlags::nuw` on every intermediate `llvm.mul` and
`llvm.add` it emits. With a negative stride (e.g. `-1`, which is
`2^64-1` unsigned), an access like index=5 produces `mul nuw 5,
(2^64-1)`, which unsigned-overflows and yields poison per LangRef —
regardless of whether the final offset happens to be non-negative.

This issue came up in the discussion in PR #202118. Thanks to
@banach-space for the detailed discussion.

This PR hopefully concludes the path to fix the regression related to
`affine-super-vectorize` (see
#201180 and #202766 for details).

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


  Commit: add2d9a68915ce4eb1482863951f98277867e00b
      https://github.com/llvm/llvm-project/commit/add2d9a68915ce4eb1482863951f98277867e00b
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/test/tools/llvm-pdbutil/dxcontainer.test
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.h
    M llvm/tools/llvm-pdbutil/StreamUtil.cpp
    M llvm/tools/llvm-pdbutil/StreamUtil.h
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.h

  Log Message:
  -----------
  [llvm-pdbutil] Add DXContainer support to `llvm-pdbutil dump` (#200485)

This patch adds `--dxcontainer` option that attempts to parse a
`DXContainer` from stream 5 data (generated by DirectX tools) of a PDB
file, and if successful, dumps the basic info about it. If `DXContainer`
wasn't parsed, shows that it is not present in the file.


  Commit: 02cdcc22c96483987dbe1bad1803607db8fdbab2
      https://github.com/llvm/llvm-project/commit/02cdcc22c96483987dbe1bad1803607db8fdbab2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx29Issues.csv
    M libcxx/docs/Status/Cxx29Papers.csv

  Log Message:
  -----------
  [libc++] Add Github issue links in Brno-voted papers (#204579)


  Commit: de9bb21c7acdbfe2bfb763f161c49ec8fa9bf251
      https://github.com/llvm/llvm-project/commit/de9bb21c7acdbfe2bfb763f161c49ec8fa9bf251
  Author: Nikita Grivin <neuronspectrelin at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst

  Log Message:
  -----------
  [libc++] Restore release note dropped during rebase of #196495 (#204435)

A release note about transitive include removals was inadvertently
dropped during a rebase of #196495 before merge. This restores it.


  Commit: 586b892672b478d0aa739e49eb3a5ef7f960530f
      https://github.com/llvm/llvm-project/commit/586b892672b478d0aa739e49eb3a5ef7f960530f
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    A mlir/test/Conversion/VectorToLLVM/vector-load-store-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d_inbounds.mlir

  Log Message:
  -----------
  [mlir][VectorToLLVM] add opt-in `enable-gep-inbounds-nuw` pass flag for `vector.load/store` (#202118)

> This patch follows up on #201180 and the refactoring #202766 (which
made `affine-super-vectorize` emit `in_bounds = [true]` on
`vector.transfer_read`/`write` when accesses are statically provable to
be within bounds). With that in place, the `VectorToLLVM` lowering was
still emitting `llvm.getelementptr` without `inbounds`/`nuw`, so LLVM
could not exploit the no-wrap guarantee: SCEV could not prove the index
arithmetic monotone (loop vectorizer bailed out) and BasicAliasAnalysis
fell back to conservative aliasing.

Without `inbounds`/`nuw` on the GEP that `vector.load`/`vector.store`
lower to, LLVM cannot exploit no-wrap guarantees: SCEV fails to prove
loop-index monotonicity (loop vectorizer bails), and BasicAliasAnalysis
falls back to conservative aliasing.

### Why opt-in

Unlike `memref.load`, `vector.load`/`vector.store` intentionally allow
out-of-bounds indices on several targets (SPIR-V robust buffer access,
AMDGPU buffer fat pointers read zeros / drop writes). Emitting
`inbounds` unconditionally would silently miscompile those targets. A
pass flag lets a caller assert the preconditions hold for a given
pipeline.

### What this patch does

Adds `enable-gep-inbounds-nuw` (default: off) to the
`ConvertVectorToLLVM` pass.
When set:

- `inbounds` (which implies `nusw`, hence `nsw` on intermediate
arithmetic) is always emitted.
- `nuw` is emitted only when all memref strides are statically
non-negative. `getStridedElementPtr` propagates `GEPNoWrapFlags::nuw` to
every intermediate `llvm.mul` and `llvm.add`; with a negative stride
(represented as 2^64−1 unsigned), `mul nuw idx, (2^64−1)` wraps unsigned
→ poison, even for an in-bounds index. Gating on non-negative strides
prevents this.

Masked variants (`vector.maskedload`/`vector.maskedstore`) are excluded:
they are designed for near-boundary access and must never receive these
flags.

An `assert` is added in the lowering to make the unit-trailing-stride
invariant explicit (the verifier already guarantees it).

**Thanks to @banach-space, @krzysz00 and @fabianmcg for the detailed
semantics discussion that shaped this design.**

Depends on: #201180 and #202766

AI Disclaimer: I used AI for the tests.

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>


  Commit: 84ed575d755d3994397b7c2b591f22d01bef314a
      https://github.com/llvm/llvm-project/commit/84ed575d755d3994397b7c2b591f22d01bef314a
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libcxx/modules/std/utility.inc

  Log Message:
  -----------
  [libc++] Add missing constant_wrapper in the std module (#202038)

The std module declaration of `constant_wrapper` was missed in #191695.


  Commit: 068220af2388737552e70a6cf7cae4b709bd4eb9
      https://github.com/llvm/llvm-project/commit/068220af2388737552e70a6cf7cae4b709bd4eb9
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp

  Log Message:
  -----------
  [libc++][mdspan][test] Correct `mapping::operator()` constraint tests (#201061)

The previous requires-expression only checked that `std::is_same_v<...>`
was a well-formed expression, so the test would pass even when the
result was false.


  Commit: 6d895d02e95218907633d77ddfabd1368643938d
      https://github.com/llvm/llvm-project/commit/6d895d02e95218907633d77ddfabd1368643938d
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Propagate loans through the GNU binary conditional (#204439)

FactsGenerator only handled the ternary, so a borrow used through the
GNU binary conditional `a ?: b` was silently dropped. Handle both via
VisitAbstractConditionalOperator, flowing from
getTrueExpr()/getFalseExpr(). For `a ?: b` getTrueExpr() is an
OpaqueValueExpr, so make OpaqueValueExpr transparent in the origin
manager and peel it in the arm-reachability check; guard against flowing
a void (e.g. throw) arm.

Assisted-by: Claude Opus 4.8

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


  Commit: 0d02d3965c3bc4259231e9b7de7959fdd1453b15
      https://github.com/llvm/llvm-project/commit/0d02d3965c3bc4259231e9b7de7959fdd1453b15
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-direct-chain.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation-indirect.ll
    M llvm/test/CodeGen/AMDGPU/dvgpr-vgpr-count-propagation.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    R llvm/test/CodeGen/AMDGPU/indirect-call-agpr-cap.ll
    R llvm/test/CodeGen/AMDGPU/indirect-call-sgpr-cap.ll
    R llvm/test/CodeGen/AMDGPU/indirect-call-vgpr-cap.ll
    M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
    M llvm/test/CodeGen/AMDGPU/object-linking-local-resources.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Capping max number of registers to function's occupancy budget for indirect calls" (#204605)

Reverts llvm/llvm-project#199765

Broke https://lab.llvm.org/buildbot/#/builders/10


  Commit: 6ea75ecbac5337e7f8f1eb4e7647482da75f0ba7
      https://github.com/llvm/llvm-project/commit/6ea75ecbac5337e7f8f1eb4e7647482da75f0ba7
  Author: Max Desiatov <m_desiatov at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/Basic/Targets/WebAssembly.h
    A clang/test/CodeGen/WebAssembly/wasm-swiftasynccall.c
    A clang/test/Sema/wasm-swiftasynccall.c

  Log Message:
  -----------
  clang: enable `swiftasynccall` for Wasm (#203330)

Follow-up to https://github.com/llvm/llvm-project/pull/188296, where in
LLVM `swiftasynccall` is lowered to Wasm `return_call` and
`return_call_indirect` instructions when tail calls are enabled. This
still needed to be enabled at the Clang level in
`checkCallingConvention` in `lib/Basic/Targets/WebAssembly.h`.


  Commit: b02659ab5c405dd221f625085e2656a190d87a54
      https://github.com/llvm/llvm-project/commit/b02659ab5c405dd221f625085e2656a190d87a54
  Author: TelGome <93700071+TelGome at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Support Packed Absolute Value and Absolute Difference (#203840)

This pr support RISC-V P extension intrinsics [Packed Absolute Value and
Absolute
Difference](https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-absolute-value-and-absolute-difference)


  Commit: ee2c8969c73990ca878167c496b4b135dff9c00e
      https://github.com/llvm/llvm-project/commit/ee2c8969c73990ca878167c496b4b135dff9c00e
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    A llvm/test/Transforms/Coroutines/coro-id-alias.ll

  Log Message:
  -----------
  [Coro] Handle aliases to coroutines (#204408)

Aliases to coroutines appear to not be handled, this PR addresses that.


  Commit: fabd3396429b09a265d272ca891dbabe278ba594
      https://github.com/llvm/llvm-project/commit/fabd3396429b09a265d272ca891dbabe278ba594
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-binop-neg.mir

  Log Message:
  -----------
  [GISel] CombinerHelper::matchBinopWithNegInner should only look for not on the LHS of G_SUB. (#204257)

Fixes #204219.


  Commit: a696a09aa7a40a3f764157b090367dd74399d863
      https://github.com/llvm/llvm-project/commit/a696a09aa7a40a3f764157b090367dd74399d863
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/module.modulemap

  Log Message:
  -----------
  [clang][modules] Add BuiltinsAVR.def as textual header in module.modulemap (#204584)

The new  'BuiltinsAVR.def' was introduced in https://github.com/llvm/llvm-project/pull/203214.


  Commit: 3f7f7323401a51db5cd858e6511c7b85db420aa2
      https://github.com/llvm/llvm-project/commit/3f7f7323401a51db5cd858e6511c7b85db420aa2
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    A llvm/test/Transforms/PGOProfile/atomic_counter_promote.ll
    M llvm/test/Transforms/PGOProfile/counter_promo.ll

  Log Message:
  -----------
  [PGO] Implement PGO counter promotion for atomic updates (#202487)

Currently PGO counter updates are promoted/hoisted out of loops where
possible, in order to reduce memory accesses. The promotion is
implemented via the LoadAndStorePromoter and SSAUpdater classes.
When the updates are relaxed atomic, however, hoisting doesn't happen.

Reading the semantics of relaxed atomics, it should be legal to do
similar promotions, but teaching LoadAndStorePromoter and SSAUpdater
seems like alot of work and would touch common code used by alot of
llvm optimizations such as SROA.

An easier approach, implemented here, is to perform the promotions on 
non-atomic updates, then transform the promoted updates to (relaxed)
atomic.

I also added a flag-guarded sanity check, that a user can use to make
sure all PGO counter updates have been made atomic (in case we miss
some).

On a subset of SPEC2017, which is single threaded, on a Power9 system,
the training run times are as follows:
```
Below are data from 3 test runs:
  noatomic:         -fprofile-generate
  atomic.nopromote: -fprofile-generate -fprofile-update=atomic -mllvm -do-counter-promotion=0
  atomic.promote:   -fprofile-generate -fprofile-update=atomic -mllvm -do-counter-promotion=1

The values are runtime in seconds of the -fprofile-generate instrumented binary (the train step).
and the percentages are the ratio of the runtime over the noatomic runtime (the baseline).

                        atomic.nopromote        atomic.promote          noatomic
508.namd_r              113.6   250.22%         52.2    114.98%         45.4
511.povray_r            45.8    551.81%         39.3    473.49%         8.3
519.lbm_r               44.6    228.72%         44.5    228.21%         19.5
538.imagick_r           565     1822.58%        46.6    150.32%         31
544.nab_r               824.4   611.12%         224.5   166.42%         134.9
500.perlbench_r         464.5   470.62%         525.3   532.22%         98.7
505.mcf_r               664.9   638.71%         537.7   516.52%         104.1
520.omnetpp_r           373.8   364.33%         271.8   264.91%         102.6
523.xalancbmk_r         1383.2  606.67%         1028.1  450.92%         228
525.x264_r              1097.7  3118.47%        179.7   510.51%         35.2
531.deepsjeng_r         913.1   844.68%         778.2   719.89%         108.1
541.leela_r             1753.3  1109.68%        1336.9  846.14%         158
557.xz_r                392.3   797.36%         224.7   456.71%         49.2
============================================================================
average                         878.07%                 417.79%
```

---------

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>


  Commit: dde579becf31add55c5a473f28fd010df36d2490
      https://github.com/llvm/llvm-project/commit/dde579becf31add55c5a473f28fd010df36d2490
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-taskgroup-task-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Translate task_reduction on omp.taskgroup (#199565)

This patch adds LLVM IR translation for `task_reduction` on
`omp.taskgroup`.

Flang already parses, checks, and lowers the relevant task-reduction
constructs to OpenMP MLIR, but the LLVM IR translation path was
incomplete. This patch implements the taskgroup reduction setup needed
by the follow-up taskloop and task `in_reduction` work.

For each reducer on `omp.taskgroup`, the translation emits init and
combiner helpers from the corresponding `omp.declare_reduction` regions,
builds the `kmp_taskred_input_t` descriptor array, and calls
`__kmpc_taskred_init` before entering the taskgroup body.

This patch intentionally keeps `reduction` / `in_reduction` on
`omp.taskloop.context` unsupported. Those are handled in follow-up PRs.

### Stack / review order

This PR is the first layer of the OpenMP task-reduction translation
stack:

1. #199565 — `omp.taskgroup task_reduction` translation
2. #199670 — `omp.taskloop` `reduction` / `in_reduction` translation
3. #202611 — explicit `omp.task in_reduction` translation

Related sibling follow-up:

* #199967 — `omp.target in_reduction` host-fallback lowering

The intended main review order is:

#199565 → #199670 → #202611

Please review this PR as the taskgroup `task_reduction` layer only. The
taskloop, explicit task, and target-specific pieces are split out so
each runtime lowering step can be reviewed separately.

Part of #199560.


  Commit: edbba7c5c6f833d3a631d9bf70785ac5230d4ec1
      https://github.com/llvm/llvm-project/commit/edbba7c5c6f833d3a631d9bf70785ac5230d4ec1
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc-amdgcnspirv.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [HIP][SPIR-V] Ignore --no-lto for SPIR-V targets (#204609)

The patch adds a guard to workaround the issue, when HIP is compiled
with multiple --offload-arch options, one of which is pointing to SPIR-V
offloading. As SPIR-V has no 'no-lto' pipeline - we need to ignore
'no-lto' request for this target.


  Commit: 126115f92994900cfa7c1e221317922d02278f83
      https://github.com/llvm/llvm-project/commit/126115f92994900cfa7c1e221317922d02278f83
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tosa] Canonicalize avg_pool2d/max_pool2d no-ops (#203571)

Removes avg_pool2d/max_pool2d ops with unit kernel, unit stride, and
zero padding, as these are no-ops.


  Commit: c0a9c4463b01afe6006012d38a4926dd317ec7f3
      https://github.com/llvm/llvm-project/commit/c0a9c4463b01afe6006012d38a4926dd317ec7f3
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp
    A llvm/test/Assembler/autoupgrade-lifetime-intrinsics-invalid-decl.ll

  Log Message:
  -----------
  [LLVM] Fix a bug in auto upgrading lifetime start/end intrinsics (#204601)

When creating the new intrinsic declaration, use the correct pointer
argument (arg #1) from the existing call. Currently, we use arg #0
(size) and end up creating an invalid intrinsic declaration. However,
later on we do not use this declaration directly and instead call
`CreateLifetimeStart` or `CreateLifetimeEnd` IRBuilder functions that
end up creating valid intrinsic declarations. The net result is that we
are left with a stray unused invalid declaration.

Fix this issue by creating the intrinsic with the right pointer argument
type.


  Commit: de53dd06a2c3a3f4c58f057773bbfc0863f1fb75
      https://github.com/llvm/llvm-project/commit/de53dd06a2c3a3f4c58f057773bbfc0863f1fb75
  Author: Balaji V. Iyer. <43187390+bviyer at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/test/Analysis/DataFlow/test-staged-analyses.mlir
    M mlir/test/lib/Analysis/TestDataFlowFramework.cpp

  Log Message:
  -----------
  Added a check for unsigned integer before accessing (#204276)

Possible fix for #203862

Unsigned value is assumed but signed is possible. So added a check if it
is unsigned before accessing as unsigned, otherwise access as integer
and typecast to unsigned.


  Commit: 1e2d1bbc12f6a5f5931c77d39894ee1b8679f5f8
      https://github.com/llvm/llvm-project/commit/1e2d1bbc12f6a5f5931c77d39894ee1b8679f5f8
  Author: Prasoon <prasoonkumar054 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/utils/lit/lit/main.py
    M llvm/utils/lit/lit/run.py

  Log Message:
  -----------
  [lit] Migrate lit to ProcessPoolExecutor (#202681)

This PR is a foundational refactor for the lit single-process
re-architecture.

It migrates test execution from `multiprocessing.Pool` to
`concurrent.futures.ProcessPoolExecutor`. While the process model
remains unchanged (this is purely correctness and API modernization with
no behavior change on a passing suite), this migration establishes the
`concurrent.futures` API foundation required to introduce a
`ThreadPoolExecutor` backend in future PRs.

By collecting results with `as_completed` via an explicit `{future:
test}` map, this refactor also fixes two latent bugs:
1. **Stale timeout bug**: The per-iteration timeout budget was
previously computed once and reused. It is now correctly anchored to an
absolute deadline.
2. **Submission-order coupling**: Results are now safely routed by
future identity rather than submission index.

Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>


  Commit: 154115307ba171489125550ece373302f0ab01e1
      https://github.com/llvm/llvm-project/commit/154115307ba171489125550ece373302f0ab01e1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip

  Log Message:
  -----------
  [HIP] Remove default `-flto-partitions=8` in the HIP toolchain (#203948)

Summary:
This was added and made it into a release, but it never should've been a
default argument. Partitioning the LTO is a fundamentally different
compilation model and has real impacts on the generated code. Right now
it is added silently, which breaks non-Hostcall printf and degreades
performance due to split uselists.

This is a contract that should not be made default. "Compile times" is
not a justification to silently change compilation semantics, that is
the user's build system's job. Parititioning to a magic number is not an
appropriate solution when passing -flto-partitions=8 or `-Xarch_device
-flto-partitions=8` is perfectly viable and not hidden from the user.

This resolves the 12% performance regression observed when switching to
the LTO toolchain in HIP for dcsrgemm.


  Commit: bd5da5b539d471f909d75268a8ae8ceeb22a3300
      https://github.com/llvm/llvm-project/commit/bd5da5b539d471f909d75268a8ae8ceeb22a3300
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py
    M lldb/test/API/functionalities/exec/TestExec.py
    M lldb/test/API/functionalities/fork/resumes-child/TestForkResumesChild.py
    M lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py
    M lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashing.py
    M lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashingStep.py
    M lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py
    M lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py
    M lldb/test/API/functionalities/longjmp/TestLongjmp.py
    M lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
    M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
    M lldb/test/API/lang/cpp/floating-types-specialization/TestCppFloatingTypesSpecialization.py
    M lldb/test/API/tools/lldb-dap/exception/cpp/TestDAP_exception_cpp.py

  Log Message:
  -----------
  [lldb][test] Skip wasm-unsupported API tests (#204625)

WebAssembly inferiors are built with -fno-exceptions and run on a wasip1
runtime with no exec/fork/setpgid, no setjmp/longjmp (needs the
exception-handling proposal), no memory-protection faults/signals, and
no _Float16/__bf16 support. Mark the corresponding API tests as skipped
on wasm so they report unsupported instead of failing to build or run.


  Commit: 74a146dd9c28c083db057d7f87afbcc617319392
      https://github.com/llvm/llvm-project/commit/74a146dd9c28c083db057d7f87afbcc617319392
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M openmp/runtime/src/ompd-specific.cpp

  Log Message:
  -----------
  [OpenMP] Improve dladdr error handling in ompd_init() (#201043)

Guard dlerror() result against NULL before passing to fprintf to avoid
confusing "(null)" output. Also guard dli_fname against NULL on the
success path before calling strrchr.

Assisted-by: Claude Sonnet 4.6


  Commit: d81069d7c3da46ea7bd000c3d6ab618e3db79bd4
      https://github.com/llvm/llvm-project/commit/d81069d7c3da46ea7bd000c3d6ab618e3db79bd4
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_config.h.cmake
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP] Control KMP_CANCEL_THREADS via CMake and detect pthread_cancel (#193681)

KMP_CANCEL_THREADS was a preprocessor switch in kmp.h, with Android and
WASI explicitly #undef-ing it. Move the control to CMake:

- Detect pthread_cancel via check_symbol_exists()
- Drive KMP_CANCEL_THREADS from that result, emitted as a 0/1 #define in
kmp_config.h.cmake (overridable with -DLIBOMP_USE_CANCEL_THREADS=OFF).
- Drop the Android/WASM special-casing


  Commit: 42058d48ef4b1de3c0b11ac59a1edca35f82db74
      https://github.com/llvm/llvm-project/commit/42058d48ef4b1de3c0b11ac59a1edca35f82db74
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Regbanklegalize rules for G_INTRINSIC_FPTRUNC_ROUND (#185491)


  Commit: 0f707d4dd7f098d254551f69306845bfaebb9ce4
      https://github.com/llvm/llvm-project/commit/0f707d4dd7f098d254551f69306845bfaebb9ce4
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll

  Log Message:
  -----------
  [RISCV] Remove unused CHECK prefixes in `rvp-simd-32.ll` (#204383)

They were probably introduced by merge conflicts + UTC script changes.

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: fb6e3c8c36ba8412d6860ffe1013c1c66860a487
      https://github.com/llvm/llvm-project/commit/fb6e3c8c36ba8412d6860ffe1013c1c66860a487
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-06-17.md

  Log Message:
  -----------
  [flang] Add Flang Community Call Notes from June 17th meeting (#204622)


  Commit: 0a73d41791b858b9107f64d39b7541e8b3a2f230
      https://github.com/llvm/llvm-project/commit/0a73d41791b858b9107f64d39b7541e8b3a2f230
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [BOLT][AArch64] Only reserve constant-island space when an island exists (#204261)

`tentativeLayout()` aligns every function's tail to its constant island
alignment even when the function has no constant island. This over-padded
nearly every function, drifting tentative layout from emitted layout non
trivially, while the emitter only pads when emitting real constant island.
Guard with `estimateConstantIslandSize() > 0` so tentative better matches
emitted.


  Commit: 8c6409765283993193ae63e3685858886a69f952
      https://github.com/llvm/llvm-project/commit/8c6409765283993193ae63e3685858886a69f952
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp

  Log Message:
  -----------
  [lldb][Windows] fix missing include (#204628)

lldb fails to build when `LLDB_PYTHON_DLL_RELATIVE_PATH` is set because
of a missing include.


  Commit: 2b76fe3877b626020dbc1aecbaab61a77d835f21
      https://github.com/llvm/llvm-project/commit/2b76fe3877b626020dbc1aecbaab61a77d835f21
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  [libc][docs] Fix file path for fputil (#204534)

Fixes a nit in the file path ( replaces `FPUtils` correctly with `FPUtil` )


  Commit: 4a86da464e16b8f18d105e620268db3ef808da97
      https://github.com/llvm/llvm-project/commit/4a86da464e16b8f18d105e620268db3ef808da97
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/fuzz/CMakeLists.txt
    R compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp

  Log Message:
  -----------
  [scudo] Remove static error info functions. (#204483)

Android was the only platform using the static error info functions. The
latest Android no longer uses them, so delete these unused functions.

These functions were implicitly exporting implementation details and
made it difficult to implement the multi-region code. This is the final
step to submit the multi-region code and modify how the region code
works.

Remove the error info fuzzer since that was only necessary since so many
values were passed in to the function.


  Commit: e5ce3ed2f4ab0723e91c8d8aa04e254b8a217dc6
      https://github.com/llvm/llvm-project/commit/e5ce3ed2f4ab0723e91c8d8aa04e254b8a217dc6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with rt checks in optsize function, NFC



Reviewers: 

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


  Commit: 0edadae062e0e9a2d2f87c2f9f61cfdac7bedb28
      https://github.com/llvm/llvm-project/commit/0edadae062e0e9a2d2f87c2f9f61cfdac7bedb28
  Author: vitbur <vittorioburani at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/test/CodeGen/RISCV/xcvbitmanip.ll

  Log Message:
  -----------
  [RISCV][XCV] Fix incorrect llvm.ctlz lowering to cv.fl1 (#197288)

Fixes #197006.

The XCVbitmanip pattern `def : PatGpr<ctlz, CV_FL1, i32>;` is
semantically incorrect: `cv.fl1` returns a bit position while
`llvm.ctlz` returns a leading-zero count. They differ by up to 31 on
every non-zero input, miscompiling every use of `__builtin_clz`,
including compiler-rt's `__udivdi3`.

This PR:
- Replaces the pattern with one matching `llvm.ctlz` with
  `is_zero_poison=true`, lowered to `xori (cv.fl1 rs1), 31`.
- Adds explicit `setOperationAction` calls in `RISCVISelLowering.cpp`
  to route `ISD::CTLZ` to generic expansion and keep
  `ISD::CTLZ_ZERO_*` matched by the `.td` pattern.

The companion `def : PatGpr<cttz, CV_FF1, i32>;` is correct as-is
(both return 32 on zero, coincide on non-zero), and is left
untouched.

See the linked issue for the full analysis including a CV32E40P sim
trace showing miscompilation of `__udivdi3` in compiler-rt.


  Commit: ece20ef68083e29fe450a8f188ce90fbd2bb6356
      https://github.com/llvm/llvm-project/commit/ece20ef68083e29fe450a8f188ce90fbd2bb6356
  Author: Jeremy Kun <jkun at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    A mlir/test/Conversion/MemRefToEmitC/memref-with-custom-types.mlir
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][emitc] Apply type converter to memref element types in -convert-memref-to-emitc (#203742)

This change fixes a few places where the memref-to-emitc
conversion didn't properly convert memref element types.

This PR updates both memref.alloc and memref.copy to convert the memref
element type when using the element type for `sizeof` calls, as well as
generating the output pointer type (just for `alloc`).

This was missed because there are no `convert-to-emitc` tests that use a
type converter with custom types, so I added such a registration to the
test dialect. It is worth noting that, while this patch only affects
`-convert-memref-to-emitc`, the change has no impact without the
additional type converter registrations in `-convert-to-emitc` because
there are no builtin types that have nontrivial emit conversions today.

As a drive-by improvement, I deduped a "total size in bytes" calculation
that was happening in the lowerings for both `memref.alloc` and
`memref.copy`.


  Commit: 410484f0b82017cc5ee7d70c2499446e8bc1f110
      https://github.com/llvm/llvm-project/commit/410484f0b82017cc5ee7d70c2499446e8bc1f110
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
    M lldb/unittests/CMakeLists.txt
    A lldb/unittests/ObjectContainer/CMakeLists.txt
    A lldb/unittests/ObjectContainer/ObjectContainerUniversalMachOTest.cpp

  Log Message:
  -----------
  [lldb][Mach-O] Fix two fuzzer-found hangs/crashes parsing universal Mach-O fat headers (#204471)

This fixes two denial-of-service issues in the universal (fat) Mach-O
container parser, both found by `lldb-target-fuzzer` and both reachable
from
`SBDebugger::CreateTarget` → `ObjectFile::GetModuleSpecifications` →
`ObjectContainerUniversalMachO::{GetModuleSpecifications,ParseHeader}`.

### 1. Bound the fat header arch loop by available data

`ParseHeader` read the untrusted 32-bit `nfat_arch` field and used it
directly
as the loop bound when indexing the `fat_arch` records, without
validating it
against the data actually present. A crafted header claiming
`nfat_arch = 0xFFFFFFFF` with only a few bytes of payload made the loop
spin
~4.29 billion times — `ValidOffsetForDataOfSize()` fails on every
iteration
past the real data, but the loop keeps going up to `nfat_arch`, so the
call
never returns in practice (~20 minutes under ASan). The reduced
reproducer is
40 bytes.

Fix: break out of the loop as soon as the next `fat_arch` record no
longer fits
in the remaining data. This is behavior-preserving — a failed
`ValidOffsetForDataOfSize` never advanced the offset, so the set of
parsed
`fat_archs` is unchanged; it just stops the useless spinning.

### 2. Reject self-referential slices in the fat container

`GetModuleSpecifications` re-parses every fat slice by recursing into
`ObjectFile::GetModuleSpecifications` at the slice's offset, with no
recursion-depth limit and no check that a slice advances past the
current
offset. A slice whose offset is 0 produces a recursive call with
identical
arguments (same file, same offset, same size) and recurses until the
stack
overflows. Fixing the `nfat_arch` loop bound above unmasked this for the
same
input: the initial 512-byte read zero-pads a short file, `ParseHeader`
then
parses a trailing all-zero arch record whose offset is 0, and the slice
recurses on itself.

Fix: require `slice_file_offset > file_offset` before recursing, so
every
recursive call strictly advances into the file. Offsets at or before the
current offset (including 0) and offsets inside the fat header are
skipped.

### Tests

Two API tests in `TestTargetCommand.py`, each with a `yaml2obj` fixture:
- `fat_nfat_arch_huge.yaml` — `nfat_arch = 0xFFFFFFFF` with a single
real
  slice; `target create` must complete promptly.
- `fat_slice_offset_zero.yaml` — a self-referential slice at offset 0;
  `target create` must skip it and fail gracefully ("is not a valid
  executable") rather than crashing.


  Commit: feace0917af56e35550e459e3abf41acdea1b6a9
      https://github.com/llvm/llvm-project/commit/feace0917af56e35550e459e3abf41acdea1b6a9
  Author: David Green <david.green at arm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    R llvm/test/CodeGen/AArch64/aggressive-interleaving.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/aggressive-interleaving.ll

  Log Message:
  -----------
  [AArch64] Move aggressive-interleaving.ll test to LoopVectorizer tests. NFC (#204652)

It looks like this test was put into CodeGen where it would better live
with
other vectorizer tests in Transforms/LoopVectorize/AArch64.


  Commit: 150ddcf32ba27b1555bcafbb58356537a1c4aa73
      https://github.com/llvm/llvm-project/commit/150ddcf32ba27b1555bcafbb58356537a1c4aa73
  Author: Guo Chen <guochen2 at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/spillv16Kernel.ll
    A llvm/test/CodeGen/AMDGPU/spillv16Kernel.mir

  Log Message:
  -----------
  [AMDGPU][True16] NFC. update two lit test for spill v16 (#203922)

Follow up from
https://github.com/llvm/llvm-project/pull/203589#discussion_r3406309174.
Update two tests


  Commit: 075795005ef85e933f5ff63ef7004a4dab655946
      https://github.com/llvm/llvm-project/commit/075795005ef85e933f5ff63ef7004a4dab655946
  Author: janr-bay <jrehders at baylibre.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat] Extend fltSemantics and drop special case E8M0 bit conversionJan/apfloat e8m0 (#204200)

This is one step towards being able to make APFloat extensible with
custom formats in the future.

fltSemantics gained a new flag to indicate lack of denormal support.
Combined with hasZero = 0 it means exponent 0 does not have a special
meaning. This makes it possible to remove the special case
implementation for initFromFloat8E8M0FNUAPInt and handle it in the
generic version.

The generic initFromIEEEAPInt function now also supports existing
fltSemantics flags for hasZero, and hasSignedRepr which where only
needed in the specialized initFromFloat8E8M0FNUAPInt.

Also adds new tests for bitcasting to and from APInt. There are several
tests involving bitcastToAPInt together with convert functions but none
explicitly verify the functionality of bitcastToAPInt.

The implementations of convertIEEEFloatToAPInt and initFromIEEEAPInt
also diverged a bit in the past and have been synchronized, again. This
is a separate commit as it is not strictly required and could be dropped
if the risk is considered higher than it's benefit and so it can be
tested independently.


  Commit: 77f7abc772e85fbe2a1f2b21d3614334cf0041fd
      https://github.com/llvm/llvm-project/commit/77f7abc772e85fbe2a1f2b21d3614334cf0041fd
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/clmul-fixed.ll
    M llvm/test/Analysis/CostModel/AArch64/clmul-scalable.ll
    M llvm/test/Analysis/CostModel/AArch64/clmul.ll
    M llvm/test/Analysis/CostModel/X86/clmul.ll
    M llvm/test/CodeGen/AArch64/clmul-fixed.ll
    M llvm/test/CodeGen/AArch64/clmul-scalable.ll
    M llvm/test/CodeGen/AArch64/clmul.ll
    M llvm/test/CodeGen/AMDGPU/clmul.ll
    M llvm/test/CodeGen/PowerPC/clmul-vector.ll
    M llvm/test/CodeGen/RISCV/clmul.ll
    M llvm/test/CodeGen/RISCV/clmulh.ll
    M llvm/test/CodeGen/RISCV/clmulr.ll
    M llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-clmul.ll
    M llvm/test/CodeGen/Thumb2/mve-clmul.ll
    M llvm/test/CodeGen/X86/clmul-vector.ll
    M llvm/test/CodeGen/X86/clmul.ll

  Log Message:
  -----------
  [ISel] Improve `clmul` fallback implementation for `i32` and `i64` (#203727)

Improve the `clmul` fallback implementation for `i32..=i64`.

The new approach is "multiplication with holes", based on [bearssl
source](https://github.com/unkaktus/bearssl/blob/6a1dab03beac9a324fdaed36ffdeb5081ac64b9a/src/hash/ghash_ctmul64.c#L27-L56),
https://www.bearssl.org/constanttime.html#ghash-for-gcm, and the
[polyval](https://github.com/RustCrypto/universal-hashes/blob/815ddc90ea652b09804565e193e34784c94a3849/polyval/src/field_element/soft.rs#L74-L108)
crate. https://www.bearssl.org/constanttime.html#ghash-for-gcm explains
the idea.

Future work is

- extend the fallback to smaller integer types. These can use a smaller
hole (the wider hole works but uses more instructions than the naive
fallback)
- investigate how to extend this approach to wider integers. We can use
wider holes, but a recursive definition defined in terms of smaller
integer types might be better.
https://timtaubert.de/blog/2017/06/verified-binary-multiplication-for-ghash/
has some good info.

I've tested this locally with a fuzzer against the current LLVM
implementation (via the rust standard library) and `pclmulqdq`.

CC https://github.com/llvm/llvm-project/issues/203694
CC: @RKSimon, @topperc, @eisenwave, @xarkenz, @artagnon.


  Commit: 3aad8a1e53acfaf5af909dd7c4e14096a5baae1c
      https://github.com/llvm/llvm-project/commit/3aad8a1e53acfaf5af909dd7c4e14096a5baae1c
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/coexec-sched-flavor-classification.mir

  Log Message:
  -----------
  [AMDGPU] Classify VMEM as VMEM for CoExecSched (#203396)

Previously classifyFlavor wasn't classifying buffer_loads as VMEM


  Commit: bb2fcd01b8008779c2c1f178599bc22a94daa3d4
      https://github.com/llvm/llvm-project/commit/bb2fcd01b8008779c2c1f178599bc22a94daa3d4
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    A llvm/test/CodeGen/AMDGPU/mir-dynamic-vgpr-block-size-roundtrip.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir

  Log Message:
  -----------
  [AMDGPU][MFI] Implement missing deserialization of dynamicVGPRBlockSize (#201939)

dynamicVGPRBlockSize can be set by the amdgpu-dynamic-vgpr-block-size
attribute. MFI takes precedence when we deserialize.


  Commit: 2bbec86cc5835e10085d4598d4ff189bf89fc194
      https://github.com/llvm/llvm-project/commit/2bbec86cc5835e10085d4598d4ff189bf89fc194
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst

  Log Message:
  -----------
  [AMDGPU][docs] Correct DWARF extension attribute encodings (#204419)

These were not updated when the final numbers were committed in
Dwarf.def, so update them now.

Change-Id: Ide931b835dc2c5def60dd7fad29525f598e8c8b6


  Commit: a7a3849b63d17494866cd697e958e53aa1b3aed2
      https://github.com/llvm/llvm-project/commit/a7a3849b63d17494866cd697e958e53aa1b3aed2
  Author: Yuyang Zhang <yuyzhang at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [InstCombine] Drop assumption-cache update in freezeOtherUses (#204599)

Redundant now that freezeOtherUses re-queues the rewritten users
(#202306), which re-processes them in the same iteration. Added in
#192935 to avoid a fixpoint-verifier failure.


  Commit: 05ca09a60323f18a7cdf6dd67b54f057a54049fd
      https://github.com/llvm/llvm-project/commit/05ca09a60323f18a7cdf6dd67b54f057a54049fd
  Author: Kunal Pathak <kunalspathak.github at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    A llvm/test/Transforms/SimplifyCFG/AArch64/two-entry-phi-fold-unpredictable.ll

  Log Message:
  -----------
   [AArch64][TTI] Surface per-CPU branch misprediction penalty to SimplifyCFG (#201484)

AArch64 scheduling models already define `MispredictPenalty` per CPU
(e.g.,
Neoverse V2 = 11, Cortex-A55 = 8, Cyclone = 16), but this value was
never surfaced through TargetTransformInfo. The base class default of 0
effectively disabled profile-guided speculation of unpredictable
branches
in SimplifyCFG's foldTwoEntryPHINode.

Override `getBranchMispredictPenalty` in AArch64TTIImpl to read from the
scheduling model, enabling SimplifyCFG to speculate instructions into
conditional selects when the speculation cost is justified by the
misprediction penalty,  matching the behavior X86 already has (hardcoded
at 14 cycles).

Godbolt: https://godbolt.org/z/68czz556j
(note: I am not sure why godbolt is not showing the compiler I saved,
but essentially the example shows the comparison of aarch64 clang vs.
gcc with `-O3` flags)

---------

Co-authored-by: Kunal Pathak <kupathak at fb.com>


  Commit: 9824d350b87a7c1f813268dc66a3f311a57d0448
      https://github.com/llvm/llvm-project/commit/9824d350b87a7c1f813268dc66a3f311a57d0448
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
    A lldb/test/Shell/Expr/wasm-no-objc-codegen.test

  Log Message:
  -----------
  [lldb] Don't enable Objective-C in expressions on unsupported formats (#204639)

Evaluating any expression against a WebAssembly target aborted LLDB:

```
(lldb) expr (int)sizeof(Point)
LLVM ERROR: Objective-C support is unimplemented for object file format
```

WebAssembly can't JIT expressions (RuntimeDyld doesn't support the Wasm
object format, so ProcessWasm sets CanJIT to false), but it can handle
simple expressions that can be IR interpreted.

When setting up the expression's language options, LLDB speculatively
enables Objective-C, which trips up the fatal error as Objective-C code
generation only supports Mach-O, ELF, and COFF.

Add ObjCLanguageRuntime::IsSupportedForArchitecture and disable
Objective-C in the expression's language options when the target's
object file format can't support it, parsing as C/C++ instead. The IR
interpreter can then evaluate what it supports, and the rest fails
cleanly instead of crashing.


  Commit: 0607caafdf51a4cddc123fc3a3d78bb244854a85
      https://github.com/llvm/llvm-project/commit/0607caafdf51a4cddc123fc3a3d78bb244854a85
  Author: Osman Yasar <osmanyas05 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
    M llvm/test/CodeGen/AMDGPU/bitop3-shared-operand.ll

  Log Message:
  -----------
  [GlobalISel] Add `or_and_xor_to_or` pattern from SelectionDAG (#204614)

PR #201108 was merged and then reverted due to a failing test. This PR
fixes the tests that failed.


  Commit: a358c6cac126c4088ae0bb7308acb59ad6cdd8b8
      https://github.com/llvm/llvm-project/commit/a358c6cac126c4088ae0bb7308acb59ad6cdd8b8
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [CMake][Fuchsia] Add llvm-profgen to Fuchsia toolchain (#204638)


  Commit: d0283591800c1ae5018f665e452743fcb778c9dc
      https://github.com/llvm/llvm-project/commit/d0283591800c1ae5018f665e452743fcb778c9dc
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    A llvm/test/tools/dsymutil/X86/fat-multiarch-parallel-link.test

  Log Message:
  -----------
  [DWARFLinker] Fix data race on the global parallel strategy (#204642)

DWARFLinkerImpl::link() assigned the process-global
llvm::parallel::strategy on entry. dsymutil runs link() concurrently,
one call per architecture of a universal binary, so those assignments
race. An inconsistent strategy can route per-compile-unit cloning onto a
thread that is not an llvm::parallel ThreadPoolExecutor worker, where
the per-thread allocators call getThreadIndex().

This manifested itself as an assert, but otherwise returns in a
out-of-bounds.

```
Assertion failed: ((threadIndex != UINT_MAX) && "getThreadIndex() must be called from a thread created by " "ThreadPoolExecutor"), function getThreadIndex, file Parallel.h, line 51.
```

The assert is non-deterministic and needs more than one architecture to
reproduce.

Set the strategy under llvm::call_once so only the first link writes it.
Base it on the requested thread count, which is the same for every
architecture, rather than the per-architecture compile-unit count the
code used before which would race.

rdar://179339642


  Commit: adae5c0902cd05bc682a18971d7261da006471a1
      https://github.com/llvm/llvm-project/commit/adae5c0902cd05bc682a18971d7261da006471a1
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll

  Log Message:
  -----------
  [AMDGPU] Fix 64->32 bit division corner case (#204469)

Do not implement 64-bit signed division with 32-bit division if operands
are only constrained to a 32-bit signed range.
-2147483648/-1 != -2147483648/1, but their lower 32-bits are identical.
32-bit division cannot generate the correct result for both sets of
operands. Only use 32-bit division if operands are constrained to a
31-bit signed range.

Bug appears in both AMDGPUCodeGenPrepare.cpp and AMDGPUISelLowering.cpp.

Tested in https://github.com/llvm/llvm-test-suite/pull/428.

---------

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


  Commit: 01b8de8010d7590877c1fe5d9984706c808202c0
      https://github.com/llvm/llvm-project/commit/01b8de8010d7590877c1fe5d9984706c808202c0
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-taskloop-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Translate reductions on taskloop (#199670)

This patch adds LLVM IR translation for `reduction` and `in_reduction`
clauses on `omp.taskloop.context`.

For `taskloop reduction`, the lowering emits the implicit taskgroup
reduction setup, builds the task-reduction descriptor array, and maps
each generated task to runtime-provided private reduction storage
through `__kmpc_task_reduction_get_th_data`.

For `taskloop in_reduction`, the lowering uses the same runtime lookup
path with a null descriptor, allowing the runtime to find the enclosing
task-reduction context.

Unsupported byref, cleanup-region, and two-argument initializer forms
remain diagnosed.

### Stack / review order

This PR is part of the OpenMP task-reduction translation stack:

1. #199565 — `omp.taskgroup task_reduction` translation
2. #199670 — `omp.taskloop` `reduction` / `in_reduction` translation
3. #202611 — explicit `omp.task in_reduction` translation

Related sibling follow-up:

* #199967 — `omp.target in_reduction` host-fallback lowering

The intended main review order is:

#199565 → #199670 → #202611

This PR is stacked on #199565. Please review only the taskloop changes
in this PR for now. Once #199565 lands, I will rebase this branch onto
`main` so the diff contains only this patch.

Part of #199560.


  Commit: 631aa1c8fdb4b720accf1ea1576ffbb05fbdce38
      https://github.com/llvm/llvm-project/commit/631aa1c8fdb4b720accf1ea1576ffbb05fbdce38
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes d81069d (#204629)

This fixes d81069d7c3da46ea7bd000c3d6ab618e3db79bd4.

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


  Commit: e99e343dfdb2b1b490789a7bcba6d646a4824f15
      https://github.com/llvm/llvm-project/commit/e99e343dfdb2b1b490789a7bcba6d646a4824f15
  Author: mygitljf <101249452+mygitljf at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [clang-format] Fix annotation of alternative operator and (#199112)

I now annotate`and` as TT_BinaryOperator before the pointer/reference
heuristic. I left `bitand` alone since, like `&`, it can still be a
reference.
Fixes #199027.


  Commit: 6c118c38a87620850ff21e3c4aa1817c9ecde5a6
      https://github.com/llvm/llvm-project/commit/6c118c38a87620850ff21e3c4aa1817c9ecde5a6
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir

  Log Message:
  -----------
  [AMDGPU] Remove TransCoexecutionHazard feature from gfx13 (#204645)

No TRANS coexecution hazard on gfx13 based on the latest SPG.


  Commit: 2848608d11ef6214c611045c7f56132bf4aae803
      https://github.com/llvm/llvm-project/commit/2848608d11ef6214c611045c7f56132bf4aae803
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
    M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir

  Log Message:
  -----------
  [AMDGPU] Introduce WMMACoexecutionHazards target feature (#204654)

gfx1250, gfx1251 and gfx12-5-generic have this feature, but gfx1310
does not have it.


  Commit: 8c3fc449d742055dc3a596b0cce0988bd199b1d9
      https://github.com/llvm/llvm-project/commit/8c3fc449d742055dc3a596b0cce0988bd199b1d9
  Author: mygitljf <101249452+mygitljf at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [clang-format] Fix crash on malformed operator input (#199098)

fixes the remaining clang-format crash case after #199100 landed.

The problematic input is:
```cpp
{ operator } a
```
When annotating operator, clang-format should stop scanning at } instead
of consuming it and disturbing brace scope tracking. And adds a no-crash
regression test for it.


  Commit: 19f6c18e389bfea2885179fb4f50e019ef7ea002
      https://github.com/llvm/llvm-project/commit/19f6c18e389bfea2885179fb4f50e019ef7ea002
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp

  Log Message:
  -----------
  [NFC] Add comments and Fix No-Asserts build by using [[maybe_unused]] (#202488) (#204672)

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>


  Commit: df9b1f89a4f4f0c7b5afc03d273a825caef268fb
      https://github.com/llvm/llvm-project/commit/df9b1f89a4f4f0c7b5afc03d273a825caef268fb
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Options/Options.td
    M clang/test/Driver/femit-dwarf-unwind.c
    M clang/test/Driver/femit-dwarf-unwind.s
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    A llvm/test/MC/AArch64/compact-unwind-force-dwarf.s
    M llvm/test/MC/MachO/ARM/compact-unwind-armv7k.s
    A llvm/test/MC/X86/compact-unwind-force-dwarf.s

  Log Message:
  -----------
  [clang][Mach-O] Add an option to force UNWIND_*_MODE_DWARF compact unwind info (#204005)

The new option value extends: `-femit-dwarf-unwind=dwarf-only`. This is
primarily intended as a testing mechanism to ensure coverage on the
DWARF-only parts of the unwinder, where previously the compact unwinder
would have taken care of most functions.


  Commit: 0f4d8cefbf0e00e560d57cffe84064d1887246b4
      https://github.com/llvm/llvm-project/commit/0f4d8cefbf0e00e560d57cffe84064d1887246b4
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
    M offload/plugins-nextgen/level_zero/include/L0Context.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Context.cpp
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/plugins-nextgen/level_zero/src/L0Queue.cpp
    M offload/unittests/OffloadAPI/memory/olMemFill.cpp
    M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp

  Log Message:
  -----------
  [offload][l0] Implement olLaunchHost function for level zero plugin (#204173)

Adds support to enqueue host tasks in Inorder queues for the L0 plugin.


  Commit: 46b5bc7d786cf4cb889ae3489964f1809ab4689b
      https://github.com/llvm/llvm-project/commit/46b5bc7d786cf4cb889ae3489964f1809ab4689b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Fold (PSRL/PSRA (concat (trunc (PSRL X, C1)), (trunc (PSRL Y, C1))), C2). (#204659)

into (concat (trunc (PSRL/PSRA X, C1+C2)), (trunc (PSRL/PSRA Y,
C1+C2))). If C1 is equal to the number of bits discarded by the truncate.

We recently added this for for a single truncate. This expands it to
concatenated truncates.

Assisted-by: Claude


  Commit: 6093c0e055d8ba3fbe0173627114cf4cad9f3900
      https://github.com/llvm/llvm-project/commit/6093c0e055d8ba3fbe0173627114cf4cad9f3900
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bstring.cpp
    M clang/test/Analysis/bstring_UninitRead.c
    M clang/test/Analysis/cstring-uninitread-notes.c
    M clang/test/Analysis/infeasible-crash.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/wstring.c

  Log Message:
  -----------
  [analyzer] Bring unix.cstring.UninitializedRead checker out of alpha (#196292)

There have been recent improvements (#186802) and fixes (#191061)
related to this checker. The reports are no longer noisy, as evaluated
on 14 OS projects.

---------

Co-authored-by: Donát Nagy <donat.nagy at ericsson.com>


  Commit: def1355cf14cec28f71b8ca947b7723641c1580d
      https://github.com/llvm/llvm-project/commit/def1355cf14cec28f71b8ca947b7723641c1580d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/AssumptionCache.h
    M llvm/lib/Analysis/AssumptionCache.cpp
    M llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp

  Log Message:
  -----------
  [AssumptionCache] Add replaceAssumption() to replace in-place. (#204432)

Add replaceAssumption and use it to replace assumptions when removing
bundles from assume in DropUnnecessaryAssumesPass, as suggested in PR
#203765.

Unfortunately I could not find any other candidates,that would not
require finding the WeakVH entry for assumes manually.

Compile-time impact is neutral/in the noise:

https://llvm-compile-time-tracker.com/compare.php?from=a2f4a1cabb083337ccb17c77cafb36d94c1ef52b&to=61a64fc62cbb38001894b75053f4add124869fe0&stat=instructions:u

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


  Commit: 5471cdb0185c262e8e5fd5219f11095ccf7ddacb
      https://github.com/llvm/llvm-project/commit/5471cdb0185c262e8e5fd5219f11095ccf7ddacb
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [RISCV] Implement Zicfiss Extension Bitmask (#201699)

This implements the proposal here:
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/187

This was prepared with the assistance of AI.


  Commit: a20244b9463263b7e098c4c938aa7277cba5f48a
      https://github.com/llvm/llvm-project/commit/a20244b9463263b7e098c4c938aa7277cba5f48a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/narrow-interleave-groups-scalable-vf.ll
    M llvm/test/Transforms/LoopVectorize/pr128062-interleaved-accesses-narrow-group.ll

  Log Message:
  -----------
  [VPlan] Narrow interleave groups with distinct live-in operands. (#203778)

Extend narrowInterleaveGroups so bundles with live-ins can be narrowed
by using BuildVector for the operands.

This only applies to fixed VFs: for scalable VFs the number of original
iterations processed by the narrowed plan depends on vscale, so a fixed
per-field vector cannot be built.

Another missing piece for
https://github.com/llvm/llvm-project/issues/128062

On a large IR corpus based on C/C++ workloads (32k modules), this
triggers in ~38 modules.

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


  Commit: 8eb3b11a7cc6f87658eb82437b6e9e56fd694f89
      https://github.com/llvm/llvm-project/commit/8eb3b11a7cc6f87658eb82437b6e9e56fd694f89
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td
    M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
    M mlir/test/Target/SPIRV/ocl-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add CL expm1 and log1p ops (#203881)


  Commit: 8d2165ee2db4b355ecc79c773684f2e7618cbf98
      https://github.com/llvm/llvm-project/commit/8d2165ee2db4b355ecc79c773684f2e7618cbf98
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
    M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
    M mlir/test/Target/SPIRV/gl-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add GL Radians and Degrees ops (#203879)


  Commit: d0981541cb55ad1ad53150b46a672f9e8149477f
      https://github.com/llvm/llvm-project/commit/d0981541cb55ad1ad53150b46a672f9e8149477f
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst

  Log Message:
  -----------
  [AMDGPU][docs] Remove abandoned augementation-related changes (#204420)

These haven't been carried forward in the DWARF committee proposal, and
we don't expect them to standardized (at least in the form presented
here). Drop them to avoid confusion.

Change-Id: I60dd6ffb5df1bb63d132733466ecf3d697f79276


  Commit: 729d7ab4810e7e9765880c93d268a84e79b73068
      https://github.com/llvm/llvm-project/commit/729d7ab4810e7e9765880c93d268a84e79b73068
  Author: Dan Brown <61992655+danbrown-amd at users.noreply.github.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  Warns that the WaveSize attribute is unsupported for the SPIR-V target. (#196004)

Addresses #187188.


  Commit: 7eef82d4ff37870e8ff2288f3f0f38b2a4bfb57e
      https://github.com/llvm/llvm-project/commit/7eef82d4ff37870e8ff2288f3f0f38b2a4bfb57e
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Options/Options.td
    A clang/include/clang/ScalableStaticAnalysisFramework/Frontend/SSAFOptions.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp

  Log Message:
  -----------
  [clang][ssaf][NFC] Move SSAF flags from FrontendOptions to a dedicated SSAFOptions (#204621)

This class will help keeping SSAF options apart from generic
FrontendOptions. It is inspired by AnalyzerOptions.

This way all of these SSAF (and future) options will be at a centralized place.
In preparation of rdar://179151023

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


  Commit: a9e444adf3ca38add1d6f255a9f1802da1249dfa
      https://github.com/llvm/llvm-project/commit/a9e444adf3ca38add1d6f255a9f1802da1249dfa
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/VPlan/scalarize-irregular-type-memops.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/widen_mem_idioms.ll

  Log Message:
  -----------
  [VPlan] Split `makeMemOpWideningDecisions` into subpasses (#182593)

The idea is to have handling of strided memory operations (either from
https://github.com/llvm/llvm-project/pull/147297 or for VPlan-based
multiversioning for unit-strided accesses) done after some mandatory
processing has been performed (e.g., some types **must** be scalarized)
but before legacy CM's decision to widen (gather/scatter) or scalarize
has been committed.

And in longer term, we can uplift all other memory widening decision to
be done here directly at VPlan level. I expect this structure would also
be beneficial for that.

Changes behavior in the presence of
`-force-target-supports-gather-scatter-ops` option, but it's probably
right to scalarize irregular types regardless of that option.

---------

Co-authored-by: Luke Lau <luke at igalia.com>
Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: e65135507e5dce715aebb1e583bc792bc2d62bec
      https://github.com/llvm/llvm-project/commit/e65135507e5dce715aebb1e583bc792bc2d62bec
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Options/Options.td
    R clang/include/clang/ScalableStaticAnalysisFramework/Frontend/SSAFOptions.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp

  Log Message:
  -----------
  Revert "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions to a dedicated SSAFOptions" (#204686)

Reverts llvm/llvm-project#204621

Broke a Windows bot:
https://github.com/llvm/llvm-project/pull/204621#issuecomment-4746295964
https://lab.llvm.org/buildbot/#/builders/46/builds/36811
```
FAILED: ... project\clang\lib\Frontend\CompilerInvocation.cpp
tools\clang\include\clang/Options/Options.inc(9974): error C2065: 'SSAFOpts': undeclared identifier
tools\clang\include\clang/Options/Options.inc(9975): note: see reference to function template instantiation 'auto GenerateSSAFArgs::<lambda_fd4588547196dccacaf54a707a47a2b4>::operator ()<T>(const T &) const' being compiled
        with
        [
            T=std::vector<std::string,std::allocator<std::string>>
        ]
```


  Commit: 59d60d096048d37ff62b259eca71ac6cf1463845
      https://github.com/llvm/llvm-project/commit/59d60d096048d37ff62b259eca71ac6cf1463845
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/test/API/commands/frame/diagnose/inheritance/main.cpp
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/main.c
    M lldb/test/API/lang/cpp/extern_c/main.cpp
    M lldb/test/API/lang/cpp/unique-types/main.cpp
    M lldb/test/API/python_api/sbvalue_const_addrof/main.cpp
    M lldb/test/API/python_api/sbvalue_unsigned_enum_bitfield_value/main.cpp
    M lldb/test/API/python_api/target/main.c
    M lldb/test/API/tools/lldb-dap/launch/main.c
    M lldb/test/API/tools/lldb-dap/restart/main.c

  Log Message:
  -----------
  [lldb][test] Avoid a 3-argument main in test inferiors (#204656)

On WebAssembly clang only wires a 0- or 2-argument main to the program
entry point: EmitMainVoidAlias emits the __main_void alias for a
no-argument main, and the 2-argument form is mangled to
__main_argc_argv.

A 3-argument main(argc, argv, envp) matches neither, so main is never
connected to the entry point and is left as an undefined-weak stub whose
body is `unreachable`. The affected inferiors trap with "Exception:
unreachable" before reaching main (even when run outside the debugger)
so any test using them fails on wasm.

Drop the unused third parameter, and where the environment is actually
iterated read it from `environ` instead. The inferiors now run on
WebAssembly and behave identically on other platforms.


  Commit: 040a641988f6ed6f4fab250706ca2b620c1de2d8
      https://github.com/llvm/llvm-project/commit/040a641988f6ed6f4fab250706ca2b620c1de2d8
  Author: Gregory Roth <goyoroth at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-coarse.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy.hlsl

  Log Message:
  -----------
  [HLSL] Correct SPIRV CHECKs in derivative tests (#176609)

The LABEL CHECKS intended to correspond to the CHECK-SPIRV directives
were misformed such that they had no effect. Given the similarity of the
output for SPIRV and DXIL, I've replaced them with common checks using
variables to match the parts that differ.


  Commit: d0734df2c434c15815b2a9086102f3329dbd0a2a
      https://github.com/llvm/llvm-project/commit/d0734df2c434c15815b2a9086102f3329dbd0a2a
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/test/background-index.test
    M clang-tools-extra/clangd/test/include-cleaner-batch-fix.test
    M clang-tools-extra/clangd/test/path-mappings.test
    M clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.cpp
    M clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-mac-libcxx.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/remarks.cpp
    M clang/test/APINotes/module-cache.m
    M clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    M clang/test/ClangScanDeps/modules-context-hash.c
    M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
    M clang/test/Driver/hip-runtime-libs-linux.hip
    M clang/test/Driver/hip-version.hip
    M clang/test/Driver/rocm-detect-lib-llvm.hip
    M clang/test/Driver/rocm-detect.hip
    M clang/test/InstallAPI/binary-attributes.test
    M clang/test/InstallAPI/diagnostics-zippered.test
    M clang/test/InstallAPI/directory-scanning-dylib.test
    M clang/test/InstallAPI/directory-scanning-frameworks.test
    M clang/test/InstallAPI/directory-scanning-subdirectories.test
    M clang/test/InstallAPI/exclusive-passes-zippered.test
    M clang/test/InstallAPI/extra-exclude-headers.test
    M clang/test/InstallAPI/forwarded-search-paths.test
    M clang/test/InstallAPI/umbrella-headers-unix.test
    M clang/test/InstallAPI/umbrella-headers.test
    M clang/test/Modules/add-remove-private.m
    M clang/test/Modules/build-session-validation-relocated-modules.c
    M clang/test/Modules/dependent-module-different-location.m
    M clang/test/Modules/implicit-invalidate-common.c
    M clang/test/Modules/include-relative.c
    M clang/test/Modules/relative-import-path.c
    M clang/test/Tooling/clang-check-mac-libcxx-abspath.cpp
    M clang/test/Tooling/clang-check-mac-libcxx-fixed-compilation-db.cpp
    M clang/test/Tooling/clang-check-mac-libcxx-relpath.cpp
    M llvm/test/tools/llvm-cov/coverage-prefix-map.test
    M llvm/test/tools/llvm-cov/directory_coverage.test
    M llvm/test/tools/llvm-cov/multithreaded-report.test
    M llvm/test/tools/llvm-cov/sources-specified.test
    M llvm/utils/docker/build_docker_image.sh
    M llvm/utils/lit/tests/filter-failed-delete.py
    M llvm/utils/lit/tests/filter-failed-rerun.py
    M llvm/utils/lit/tests/filter-failed.py
    M llvm/utils/vscode/llvm/README.md

  Log Message:
  -----------
  `cp -r` replaces symlinks, update to `cp -R` (#201463)

`cp -r` translates to `cp -RL` on at least FreeBSD and macOS. `-L`
replaces symlinks with flat directories which effectively breaks Apple
style bundles like frameworks. Switch to `-R` so that the symlinks don't
get broken.


  Commit: 7f63067356cc142588248bbbce9577f58583cac0
      https://github.com/llvm/llvm-project/commit/7f63067356cc142588248bbbce9577f58583cac0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Host/Editline.h
    M lldb/source/Host/common/Editline.cpp
    M lldb/unittests/Editline/EditlineTest.cpp

  Log Message:
  -----------
  [lldb] Apply pending terminal resize before repainting the prompt (#203045)

Editline defers ApplyTerminalSizeChange() (el_resize plus refreshing the
cached terminal dimensions) to its read loop on the main thread, but
Refresh() and PrintAsync() repaint the prompt synchronously from the
resize notification on the signal thread, ahead of that apply. The
repaint therefore used the dimensions cached before the resize. Apply
any pending resize first via a shared helper. The output stream lock
already serializes these paths, and it is a no-op when nothing is
pending.

Editline keeps querying its own size (el_resize/EL_GETTC) rather than
using the dimensions the driver reports: el_resize must update libedit's
internal line-wrapping model regardless (libedit exposes no way to set
it), and editline's cursor arithmetic must use the same width libedit
wraps at. EL_GETTC reads back exactly that value, so the two cannot
diverge, while sourcing the width from the driver's separate ioctl
could.


  Commit: 304c5a6587d4c23a920cc63e10c9337e285f41f9
      https://github.com/llvm/llvm-project/commit/304c5a6587d4c23a920cc63e10c9337e285f41f9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

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

  Log Message:
  -----------
  [Offload] Flush pending RPC ports when tearing down a device (#204681)

The RPC client can push asynchronous work and then quit. These can be
lost if the kernel returns and is torn down before the RPC server gets
to run to check it. To handle this, we just manually flush the interface
once when we tear the device down. The interface is lock-free so this
should be safe even if the other thread is working through it as well.


  Commit: d1c5cf2eac6b09c46adeb5593c11ecc0469b7bb6
      https://github.com/llvm/llvm-project/commit/d1c5cf2eac6b09c46adeb5593c11ecc0469b7bb6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M compiler-rt/test/fuzzer/fork.test
    M compiler-rt/test/fuzzer/fork_corpus_groups.test

  Log Message:
  -----------
  [Fuzzer] Bump rss_limit again (#204701)

These tests are still somewhat flaky, even after
3e11b3be3b86d4e72e73e610fb15fe431169f16e, so bump the limit again.

See

https://github.com/llvm/llvm-project/pull/203450#issuecomment-4737237866
for info on failures.


  Commit: 15fa0c72562fbeb569c81352b55f3914f9e512d2
      https://github.com/llvm/llvm-project/commit/15fa0c72562fbeb569c81352b55f3914f9e512d2
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M lldb/unittests/Host/HostTest.cpp

  Log Message:
  -----------
  [lldb][test] Wait on the exit-status future in HostTest (#204704)

libc++ marks `std::future::get()` as` `[[nodiscard]]`. The cleanup
lambda only needs to block until the child is reaped, not read the
status. Use `wait()` to avoid the `-Wunused-result` warning.


  Commit: 1fc592a0ebae43c222a01d90760373fcdb8e6da7
      https://github.com/llvm/llvm-project/commit/1fc592a0ebae43c222a01d90760373fcdb8e6da7
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M .github/workflows/spirv-tests.yml

  Log Message:
  -----------
  workflows/spirv-tests: Pin container image reference (#199479)

I pinned the image to the version that was used in the last successful
workflow run.

https://github.com/llvm/llvm-project/security/code-scanning/1807
https://docs.zizmor.sh/audits/#unpinned-images


  Commit: a64928f267f3aeeb3571bfc7de92c432126d74e9
      https://github.com/llvm/llvm-project/commit/a64928f267f3aeeb3571bfc7de92c432126d74e9
  Author: Tony Varghese <tonypalampalliyil at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/PragmaKinds.h
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/Parse/ParsePragma.cpp
    M clang/test/CXX/module/cpp.pre/module_decl.cpp
    A clang/test/CodeGen/PowerPC/pragma-comment-copyright-modules.cpp
    A clang/test/CodeGen/PowerPC/pragma-comment.c
    M clang/test/CodeGen/lto-newpm-pipeline.c
    A clang/test/Preprocessor/pragma-comment.c
    A llvm/include/llvm/Transforms/Utils/LowerCommentStringPass.h
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/LowerCommentStringPass.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    A llvm/test/Analysis/ModuleSummaryAnalysis/implicit-ref-edges.ll
    M llvm/test/CodeGen/AArch64/print-pipeline-passes.ll
    M llvm/test/CodeGen/Hexagon/print-pipeline-passes.ll
    M llvm/test/Other/new-pm-O0-defaults.ll
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    A llvm/test/Transforms/LowerCommentString/lower-comment-string.ll
    A llvm/test/Transforms/SCCP/implicit-ref-propagation.ll

  Log Message:
  -----------
  [PowerPC][AIX] Support #pragma comment copyright for AIX (#178184)

This change supports **pragma comment copyright**.
Signature: `#pragma comment (copyright, "token_sequence")`

- The token_sequence is included in the generated executable and loaded
into memory when the program is run.
- copyright `comment` directive can appear only once in a translation
unit.

Implementation :

- Frontend (Clang): Parses `#pragma comment (copyright, "string")` for
AIX targets and emits :
- Emit weak_odr hidden hash-named global variables (e.g.,
`__loadtime_comment_str_<hash>`)
- Place strings in `__loadtime_comment` section and mark with
`!loadtime_comment` metadata
    - Add to `llvm.compiler.used` to prevent early elimination
- Middle-end: 
- `LowerCommentStringPass` Attaches `!implicit.ref` metadata from all
defined functions to the copyright string globals (that have
`!loadtime_comment` metadata).
- `ModuleSummaryAnalysis` (ThinLTO support) : `findImplicitRefEdges()`
collects globals referenced via `!implicit.ref` metadata and adds them
as explicit reference edges in the module summary. This ensures ThinLTO
import analysis treats copyright strings as live when their referencing
functions are live.
- `FunctionImport` (ThinLTO support):`protectImplicitRefGlobals()` finds
imported functions with `!implicit.ref` metadata pointing to
`available_externally` globals and adds those globals to
`llvm.compiler.used` to prevent DCE.
- `SCCPSolver` (optimization support):`propagateImplicitRefFromCall()`
preserves `!implicit.ref` metadata when calls are optimized away. When a
call is removed, propagates the callee's !implicit.ref metadata to the
caller and ensures copyright strings remain reachable even after
aggressive inlining/constant propagation.
- Backend: recognizes `!implicit.ref` metadata on functions and emits
`.ref` directives creating relocations from functions to copyright
strings. Linker keeps copyright strings as long as any referencing
function is kept.

Note:

- Emitting weak_odr, hidden, hash-named strings helps identical strings
from different TUs to be merged during import.
- Copyright strings are placed in a dedicated `__loadtime_comment`
section. In full LTO builds, multiple strings may be grouped into a
single csect, preventing individual linker GC. However, this groups
copyright strings "out of the way" from other data, which is beneficial
for memory layout. ThinLTO is not affected by this grouping.
- This change builds on top of [XCOFF associated
metadata](https://github.com/llvm/llvm-project/pull/159096)

---------

Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>


  Commit: 58f086d0cd58252b2b18fa95f96a566a06e96a36
      https://github.com/llvm/llvm-project/commit/58f086d0cd58252b2b18fa95f96a566a06e96a36
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    A llvm/test/Transforms/RelLookupTableConverter/AArch64/no_relative_lookup_table.ll
    M llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll

  Log Message:
  -----------
  Disable RelLookupTableConverter on AArch64 (#204669)

We're seeing miscompiles due to relative offsets overflowing 2GB.
AArch64 allows text + data to span up to 4GB in the small code model:
https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst#code-models.

We could also use 64-bit offsets, but I'll leave that for the futute.

Assisted-by: Gemini


  Commit: 5a02a6d85aac93f5c47610300968a22b30892b8f
      https://github.com/llvm/llvm-project/commit/5a02a6d85aac93f5c47610300968a22b30892b8f
  Author: jofrn <jo7frn1 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/atomic-load-store.ll

  Log Message:
  -----------
  [X86] Add aligned atomic vector load tests wider than 128 bits (NFC) (#204495)

These >128-bit loads are expanded to __atomic_load libcalls regardless
of alignment, since x86 caps atomic ops at 128 bits.

Store version: https://github.com/llvm/llvm-project/pull/202537


  Commit: cc16c2cabacf3cfb904e94f2030b25eefb31c71f
      https://github.com/llvm/llvm-project/commit/cc16c2cabacf3cfb904e94f2030b25eefb31c71f
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M clang/bindings/xml/comment-xml-schema.rng
    A clang/test/Index/Inputs/CommentXML/invalid-concept-01.xml
    A clang/test/Index/Inputs/CommentXML/valid-concept-01.xml
    A clang/test/Index/Inputs/CommentXML/valid-concept-02.xml
    M clang/test/Index/comment-xml-schema.c

  Log Message:
  -----------
  [clang] Add concepts to XML comment schema, add tests (#202774)


  Commit: 9fc458a1d95b9c3edf288e4ec2cd9dcd1fe0d895
      https://github.com/llvm/llvm-project/commit/9fc458a1d95b9c3edf288e4ec2cd9dcd1fe0d895
  Author: yonghong-song <yhs at fb.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    A llvm/test/CodeGen/BPF/jump_table_func_ptr_array.ll

  Log Message:
  -----------
  [BPF] Fix erroneous removal of non-jump-table globals (#204594)

Jump tables are supported only for cpu v4. After lowering them into
.jumptables entries, BPFAsmPrinter::doFinalization() removes the private
constant arrays that backed the jump tables. But the below 'for' loop is
actually a no-op.

    for (unsigned i = 1, e = CA->getNumOperands(); i != e; ++i) {
      if (!dyn_cast<BlockAddress>(CA->getOperand(i)))
        continue;
    }
    Targets.push_back(&Global);

With current implementation, 'Global' will be added to 'Targets' and
later in doFinalization(), 'Global' will be removed. But it is possible
in 'Global' there exists non BlockAddress which are used in later code.
This will cause the problem like:
  error: Undefined temporary symbol .L__const.select_fn.fns

To fix the problem, For the above 'for' loop, only if all operands are
with BlockAddress, 'Global' can be pushed to 'Targets'.

The issue is discovered when running bpf selftest with -O1. The related
file is
  tools/testing/selftests/bpf/progs/kprobe_multi_session.c
Before optimization, we have
  @__const.session_check.kfuncs = private unnamed_addr constant [8 x ptr]
    [ptr @bpf_fentry_test1, ptr @bpf_fentry_test2, ptr @bpf_fentry_test3,
     ptr @bpf_fentry_test4, ptr @bpf_fentry_test5, ptr @bpf_fentry_test6,
     ptr @bpf_fentry_test7, ptr @bpf_fentry_test8], align 8

With -O1, `@__const.session_check.kfuncs` is used in codegen like
   ...
   $r2 = LD_imm64 @__const.session_check.kfuncs
   ...

which triggered the compilation failure.

With -O2, `@__const.session_check.kfuncs` is inlined in llvm
GlobalOptPass and each individual funciton `@bpf_fentry_test1` etc. is
directly used in IR, e.g.,
   ...
   %9 = icmp eq i64 %8, ptrtoint (ptr @bpf_fentry_test1 to i64), !dbg !95
   ...


  Commit: 4a1d8bbca2e4453ba680b6cf130e833338ac9490
      https://github.com/llvm/llvm-project/commit/4a1d8bbca2e4453ba680b6cf130e833338ac9490
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.async.to.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll

  Log Message:
  -----------
  [AMDGPU][NFC]: Pre-commit load.async.to.lds.ll test (#204695)


  Commit: 4da60b8a877d2ca4c8d57ed996da2bd3be5807e3
      https://github.com/llvm/llvm-project/commit/4da60b8a877d2ca4c8d57ed996da2bd3be5807e3
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerCommentStringPass.cpp

  Log Message:
  -----------
  [NFC] LowerCommentStringPass: remove unused #include (#204719)

This pass was added in a64928f267f3aeeb3571bfc7de92c432126d74e9 but does
not actually use PassBuilder


  Commit: 17308a961710f91e073923405712bacc981c936a
      https://github.com/llvm/llvm-project/commit/17308a961710f91e073923405712bacc981c936a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M orc-rt/lib/executor/Session.cpp
    M orc-rt/unittests/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Fix assertion, add fail-to-connect unit test. (#204720)

If a ControllerAccess object's connect method calls notifyDisconnected
then by the time we return to Connect we may have completed the detach,
in which case TargetState will be None, and CurrentState will be >=
Detached. This case was not covered by the assert after the return from
connect, leading to assertions when connect failed.

This commit relaxes the assertion to include the case above, and adds a
unit test to cover it.


  Commit: 54ce8fc400f5e576e86437914829b1cba321e8ad
      https://github.com/llvm/llvm-project/commit/54ce8fc400f5e576e86437914829b1cba321e8ad
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/fptrunc.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Pre-commit test for fabs/fneg fold into fptrunc source modifiers (#204666)


  Commit: 79349e509ab569636647829945e20a6f244d6c36
      https://github.com/llvm/llvm-project/commit/79349e509ab569636647829945e20a6f244d6c36
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M offload/libomptarget/device.cpp
    M offload/libomptarget/omptarget.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/include/RecordReplay.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/common/src/RecordReplay.cpp
    M openmp/docs/design/Runtimes.rst

  Log Message:
  -----------
  [offload] Improve report printing for kernel recording (#204505)

This commit extends the record reporting mechanism:
- `LIBOMPTARGET_RECORD_REPORT_FILENAME` enables the reporting mechanism
and allows specifying the name of the output file.
- The report of recorded kernels are ordered in recording order. This is
really useful for tests that need to record and replay more than one
kernel.


  Commit: 24d6172f0c00d62287c211c9f0b84e4b6f6063d9
      https://github.com/llvm/llvm-project/commit/24d6172f0c00d62287c211c9f0b84e4b6f6063d9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp

  Log Message:
  -----------
  [MC] Remove unused FileNo parameter from MCStreamer::checkCVLocSection. NFC (#204729)


  Commit: ed287c064db043a94b5470ebf36524153aeaf33f
      https://github.com/llvm/llvm-project/commit/ed287c064db043a94b5470ebf36524153aeaf33f
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    A clang/test/CodeGenHLSL/resources/ConstantBufferT.hlsl

  Log Message:
  -----------
  [HLSL][NFC] Add codegen test for ConstantBuffer<T> element access and initialization (#204507)

Adding tests coverage for `ConstantBuffer<T>` element access and
initialization.

Related to llvm/wg-hlsl#302 and llvm/llvm-project#195153


  Commit: 21622397c16f65d00361cd883c769189b06df13c
      https://github.com/llvm/llvm-project/commit/21622397c16f65d00361cd883c769189b06df13c
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-task-in-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Translate explicit task in_reduction (#202611)

Lower `in_reduction` on explicit `omp.task` operations to LLVM IR.

Inside the outlined task body, obtain the executing thread's `gtid` and call `__kmpc_task_reduction_get_th_data` with a null descriptor and the original reduction variable address. This lets the runtime find the enclosing taskgroup reduction registration and return the per-task private reduction storage.

The `in_reduction` block arguments are remapped to the returned private storage, so updates inside the explicit task body target the task-private reduction copy instead of the original shared variable.

Unsupported cases remain guarded, including byref `in_reduction` and richer `declare_reduction` forms such as two-argument initializers, cleanup regions, and missing combiners.


  Commit: 1e0899794dd432c6c3c7bbba6940e8640e6a201c
      https://github.com/llvm/llvm-project/commit/1e0899794dd432c6c3c7bbba6940e8640e6a201c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [DAG] visitEXTRACT_SUBVECTOR - Fold EXTRACT_SUBVECTOR(EXTRACT_SUBVECTOR(X,C1),C0) with nonzero indices (#204533)

Removed equivalent fold from x86 and added generic DAG fold to replace
it - net zero test changes

Refactored version of #200935


  Commit: 4b2a02d47e31da4764aa6e204e6c502ccc69e201
      https://github.com/llvm/llvm-project/commit/4b2a02d47e31da4764aa6e204e6c502ccc69e201
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/test/CodeGen/X86/bmi2-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/CodeGen/X86/bmi2.ll
    M llvm/test/Instrumentation/MemorySanitizer/bmi.ll
    M llvm/test/Instrumentation/MemorySanitizer/pdep.ll
    M llvm/test/Instrumentation/MemorySanitizer/pext.ll
    M llvm/test/Transforms/InstCombine/pdep.ll
    M llvm/test/Transforms/InstCombine/pext.ll

  Log Message:
  -----------
  [X86] Replace X86 specific PDEP/PEXT handling with generic intrinsics (#204144)

* Remove X86ISD::PDEP/PEXT and use ISD::PDEP/PEXT instead
* AutoUpgrade x86 pdep/pext intrinsics to llvm.pdep/pext generics
* Move X86 DAG knownbits/demandedbits handling to generic (unchanged)
* Move X86 InstCombine folds to generic (unchanged)
* Add memory sanitizer handling for generic pdep/pext intrinsics
* Updated clang builtins to emit generics

Fixes #204537


  Commit: f0134cc7a5a56b53dfbe2887cd759806845c8797
      https://github.com/llvm/llvm-project/commit/f0134cc7a5a56b53dfbe2887cd759806845c8797
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/test/Driver/invalid-target-id.cl
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/CodeGen/AMDGPU/target-id-xnack-always-on.ll

  Log Message:
  -----------
  AMDGPU: Add subtarget feature for controllable xnack modes (#204523)

This replaces the previously removed xnack-any-only feature,
with the inversion xnack-on-off-modes. All pre-gfx12.5 xnack
targets support the controllable mode. Ignore explicitly
set xnack settings the same way as is done for xnack requests
on other unsupported targets.


  Commit: b65d5100d712e49abe85b337b03663ec1dcbd266
      https://github.com/llvm/llvm-project/commit/b65d5100d712e49abe85b337b03663ec1dcbd266
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M offload/libomptarget/omptarget.cpp
    M offload/plugins-nextgen/common/src/RecordReplay.cpp
    A offload/test/tools/omp-kernel-replay/record-replay-empty-memory.cpp
    M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [offload][OpenMP] Fix record replay when no memory is used (#201771)

Progams that do not use any memory (e.g., no mappings) were failing
because we were trying to execute zero size transfers. This commit adds
handling for this case.


  Commit: 9c50867e78707c7ad9b46b6c2c71ef45ac124bbb
      https://github.com/llvm/llvm-project/commit/9c50867e78707c7ad9b46b6c2c71ef45ac124bbb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/examples/OrcV2Examples/CMakeLists.txt
    A llvm/examples/OrcV2Examples/LLJITWithSymbolAliases/CMakeLists.txt
    A llvm/examples/OrcV2Examples/LLJITWithSymbolAliases/LLJITWithSymbolAliases.cpp

  Log Message:
  -----------
  [ORC][examples] Add a new example showing basic symbolAliases usage. (#204733)

LLJITWithSymbolAliases shows how the symbolAliases function can be used
to introduce aliases for both JIT'd and precompiled symbols.


  Commit: 0ad5d54be53f34f71e25575964785670720a5f4c
      https://github.com/llvm/llvm-project/commit/0ad5d54be53f34f71e25575964785670720a5f4c
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp

  Log Message:
  -----------
  [GlobalISel] TableGen memcpy-like prelegalizer combines (#203235)

This removes the corresponding handwritten C++ combine handling from the
AArch64 prelegalizer combiners.

Assisted-by: codex


  Commit: d87e513d454714d08b6deeb055bf6f6cc959b450
      https://github.com/llvm/llvm-project/commit/d87e513d454714d08b6deeb055bf6f6cc959b450
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/test/Sema/enable_if.c
    M clang/test/SemaCXX/enable_if.cpp

  Log Message:
  -----------
  [clang][test] Use #marker in enable_if tests (#204624)

I just wasted way too long trying to figure out why my newly added RUN
lines were randomly broken or not.

Stop using absolute line numbers.


  Commit: 7d122c329944a6be4ed93929c99f5e8fc75b6892
      https://github.com/llvm/llvm-project/commit/7d122c329944a6be4ed93929c99f5e8fc75b6892
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/LifetimeSafety/dangling-global.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c

  Log Message:
  -----------
  [LifetimeSafety] Propagate loans through pointer inc/dec and compound assignment (#204477)


  Commit: 6352a584c409a4ad44804f06e06260be587866d3
      https://github.com/llvm/llvm-project/commit/6352a584c409a4ad44804f06e06260be587866d3
  Author: Matthias Springer <me at m-sp.org>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinAttributes.td

  Log Message:
  -----------
  [mlir][IR] Fix typo in code example of DenseTypedElementsAttr (#204739)

There was a typo in the type-first syntax code example.


  Commit: 3b1a922a6d02705ef30b1527e34af7b6208dc02f
      https://github.com/llvm/llvm-project/commit/3b1a922a6d02705ef30b1527e34af7b6208dc02f
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/metadata.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll

  Log Message:
  -----------
  [VPlan] Extend licm to sink replicate stores (#191026)

Follow up on hoisting replicate loads in VPlan-licm to also sink
replicate stores.


  Commit: f8bd135b6faef0675f1b8cb088373337d0439bb8
      https://github.com/llvm/llvm-project/commit/f8bd135b6faef0675f1b8cb088373337d0439bb8
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  [lit] Make RecursionError less likely in internal shell (#204573)

The lit internal shell chains together the contents of multiple RUN:
lines by connecting them with implicit && nodes, forming a binary tree
structure which is then executed recursively by `_executeShCommand`.
However the tree structure is constructed in a very simple way which
makes it effectively just a linked list, so `_executeShCommand` must
recurse to a depth equal to the number of commands.

If a test file contains more than 1000 RUN: lines (e.g. running the
clang driver only, with lots of different options), then this causes a
RecursionError exception, which did not happen using the external shell.
Failures of this kind can be avoided by instead connecting the commands
together in a _balanced_ binary tree, which has equivalent behaviour,
since the && shell operator is associative.


  Commit: 9361b3d9570596231ffa2b9a1a2ae4ee5fe7eb9d
      https://github.com/llvm/llvm-project/commit/9361b3d9570596231ffa2b9a1a2ae4ee5fe7eb9d
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/widen-call-op-scalar-vector.ll

  Log Message:
  -----------
  [LV] Add test for WidenCall with mixed scalar-vector operands (#203092)


  Commit: b9587a78a090fa53bed1dc1b478502e3038a0028
      https://github.com/llvm/llvm-project/commit/b9587a78a090fa53bed1dc1b478502e3038a0028
  Author: Jiang Ning <jiangninghx at foxmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/test/ELF/aarch64-tls-le.s
    M lld/test/ELF/aarch64-tlsld-ldst.s

  Log Message:
  -----------
  [ELF][AArch64] Relax zero TLSLE add to nop (#204286)

Optimize AArch64 local-exec TLS relocation handling by replacing a
self-add R_AARCH64_TLSLE_ADD_TPREL_HI12 instruction with nop when the
high 12 bits are zero.

The optimization is disabled by --no-relax and avoids non-equivalent
forms such as non-self-adds and 32-bit destination registers.


  Commit: b496d0623824060af20726f89bbf8fe662dd49e4
      https://github.com/llvm/llvm-project/commit/b496d0623824060af20726f89bbf8fe662dd49e4
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Model bit_cast and atomic casts in the fact generator (#204591)

VisitCastExpr dropped several borrow-carrying cast kinds into its
default case. Propagate the borrow through
`__builtin_bit_cast`/`std::bit_cast` of a pointer and through
wrapping/unwrapping `_Atomic(T*)`, so a stack address laundered through
either is caught (matching reinterpret_cast). hasOrigins and
buildListForType now see through AtomicType, which is transparent for
lifetimes.

Assisted-by: Claude Opus 4.8

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


  Commit: c327ab359a959de2e4241a5fcda409958f2c0d11
      https://github.com/llvm/llvm-project/commit/c327ab359a959de2e4241a5fcda409958f2c0d11
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/windows-elf-frame-record-pairing.ll

  Log Message:
  -----------
  [AArch64] Fix Windows target detection in FrameLowering (#204347)

In #156467, we switched to using `getMCAsmInfo()->usesWindowsCFI()` to
recognize "Windows". This does not include Windows triples with ELF
binary formats.

So, for aarch64-pc-windows-msvc-elf we would use the Windows callee-save
list in `AArch64RegisterInfo::getCalleeSavedRegs()`, but FrameLowering
would handle this like Linux, and fail to invalidate the (x29, x28)
pairing.

This patch switches back to using AArch64Subtarget::isTargetWindows(),
which aligns with getCalleeSavedRegs().

Note: We were using `usesWindowsCFI()` to include UEFI targets, however,
there does not seem to be tests/support for UEFI triples on AArch64
(basic examples that compile for x86 fail: https://godbolt.org/z/dPWdTrEG7). 
So, this has been moved to a TODO.

Fixes #204060


  Commit: 06137a53cc96643f17f34c6affa8838c5c86e2cb
      https://github.com/llvm/llvm-project/commit/06137a53cc96643f17f34c6affa8838c5c86e2cb
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/CAS/ActionCache.h
    M llvm/include/llvm/CAS/MappedFileRegionArena.h
    M llvm/include/llvm/CAS/OnDiskDataAllocator.h
    M llvm/include/llvm/CAS/OnDiskGraphDB.h
    M llvm/include/llvm/CAS/OnDiskKeyValueDB.h
    M llvm/include/llvm/CAS/OnDiskTrieRawHashMap.h
    M llvm/include/llvm/CAS/UnifiedOnDiskCache.h
    M llvm/include/llvm/CGData/StableFunctionMap.h
    M llvm/include/llvm/CodeGen/MIR2Vec.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/Option/ArgList.h
    M llvm/include/llvm/SandboxIR/Argument.h
    M llvm/include/llvm/SandboxIR/BasicBlock.h
    M llvm/include/llvm/SandboxIR/Function.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/include/llvm/SandboxIR/Use.h
    M llvm/include/llvm/Support/Compiler.h
    M llvm/include/llvm/Support/GlobPattern.h
    M llvm/include/llvm/Support/LSP/Logging.h
    M llvm/include/llvm/Support/LSP/Protocol.h
    M llvm/include/llvm/Support/LSP/Transport.h
    M llvm/include/llvm/Support/VirtualOutputConfig.h
    M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h

  Log Message:
  -----------
  [llvm] Remove LLVM_ABI_FOR_TEST in public headers (#204627)

These annotations were mistakenly set up as LLVM_ABI_FOR_TEST. Since
these are public headers, they should be using LLVM_ABI.

The effort to build LLVM as a dylib is tracked in #109483.


  Commit: 47b29c2eadbd9d7ddfb26bd6104a0a1f9e4a13a1
      https://github.com/llvm/llvm-project/commit/47b29c2eadbd9d7ddfb26bd6104a0a1f9e4a13a1
  Author: Faijul Amin <md.faijul.amin at intel.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/test/CodeGen/SPIRV/instructions/phi-large-vector-shader.ll
    A llvm/test/CodeGen/SPIRV/instructions/phi-large-vector.ll

  Log Message:
  -----------
  [SPIR-V] Legalize G_PHI of oversized vectors via fewer-elements (#203993)

`G_PHI` on vectors wider than the SPIR-V max vector size previously
failed legalization. This PR adds a `fewerElementsIf` rule that splits
them down to `MaxVectorSize`, matching how other vector ops are handled
in `SPIRVLegalizerInfo.cpp`.


Added the following test
`llvm/test/CodeGen/SPIRV/instructions/phi-large-vector.ll` covering
spirv32 and spirv64.


  Commit: 40cbc98bb17718eef5e0b1f47e3b58900aac354a
      https://github.com/llvm/llvm-project/commit/40cbc98bb17718eef5e0b1f47e3b58900aac354a
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AArch64/sve-masked-gather-64b-scaled.ll
    M llvm/test/CodeGen/AArch64/sve-masked-gather-64b-unscaled.ll
    M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
    M llvm/test/CodeGen/AArch64/sve-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-masked-scatter-64b-scaled.ll
    M llvm/test/CodeGen/AArch64/sve-masked-scatter-64b-unscaled.ll
    M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll

  Log Message:
  -----------
  [AArch64][SDAG] Legalise nxv1 gather/scatter nodes (#204620)

This updates WidenVecRes_MGATHER and WidenVecOp_MSCATTER to support
scalable vector types.


  Commit: a5e83b9a9b16d770792f7cd02ebe30bcfd95cbfe
      https://github.com/llvm/llvm-project/commit/a5e83b9a9b16d770792f7cd02ebe30bcfd95cbfe
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-lane-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-ldst-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-luti.c
    M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
    M clang/test/Sema/aarch64-neon-immediate-ranges/luti.c
    M clang/test/Sema/aarch64-neon-target.c
    M clang/test/Sema/aarch64-neon-without-target-feature.cpp
    M clang/test/Sema/arm-neon-target.c

  Log Message:
  -----------
  [Clang][NEON ACLE] Remove +bf16 requirement from opaque bfloat builtins. (#204201)

Builtins that only care about the size of the element type but not its
format (e.g loads, stores and shuffles) do not require any special
instructions to code generate beyond those already available to +neon.

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


  Commit: fdf3d44c9004eaf2ed112ced60b3f0e384724281
      https://github.com/llvm/llvm-project/commit/fdf3d44c9004eaf2ed112ced60b3f0e384724281
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/InstCombine/pdep.ll
    M llvm/test/Transforms/InstCombine/pext.ll

  Log Message:
  -----------
  [InstCombine] Add tests showing failure to fold pdep(0,x) and pext(0,x) to 0 (#204783)

As noted on #204144


  Commit: e6daa6810e5ed49104a0f409d51e953905c9752e
      https://github.com/llvm/llvm-project/commit/e6daa6810e5ed49104a0f409d51e953905c9752e
  Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

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

  Log Message:
  -----------
  Revert "Revert "[Compiler-rt][test] Fix circular link dependency between builtins and libc"" (#204728)

Reverts llvm/llvm-project#203152


  Commit: 500d1f848c9a5488b7ff5ab2aad09041935ae7ff
      https://github.com/llvm/llvm-project/commit/500d1f848c9a5488b7ff5ab2aad09041935ae7ff
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-void-call-aggregate-arg.ll

  Log Message:
  -----------
  [SPIR-V] Fix crash on void indirect call with aggregate argument (#204388)

removeAggregateTypesFromCalls named the call to key the type-restoration
metadata, which asserts for void-returning calls. Key the metadata via
instruction metadata on the call instead, which works for void results.


  Commit: b90ec9c2747f336991f392dc843ecff1ca2faed7
      https://github.com/llvm/llvm-project/commit/b90ec9c2747f336991f392dc843ecff1ca2faed7
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

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

  Log Message:
  -----------
  [StackColoring] Remove unused BB numbering state (#204414)


  Commit: f6fd6ea3c1b59728c3c8f3443ef9a02d367ec8e0
      https://github.com/llvm/llvm-project/commit/f6fd6ea3c1b59728c3c8f3443ef9a02d367ec8e0
  Author: bogdan-petkovic <bpetkovi at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  [mlir][ExecutionEngine] Fix dead -Wno-c++98-compat-extra-semi guard (#204524)

`check_cxx_compiler_flag` stores its result in
`CXX_SUPPORTS_NO_CXX98_COMPAT_EXTRA_SEMI_FLAG`, but the guarding `if()`
checked `CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG` (without `_NO_`),
which is never set. The condition was therefore always false and the
`-Wno-c++98-compat-extra-semi` suppression for `mlir_rocm_runtime` was
never applied.

The sibling flag checks in the same block (`-Wno-return-type-c-linkage`,
`-Wno-nested-anon-types`, `-Wno-gnu-anonymous-struct`) already use
matching variable names, so this aligns the typo'd guard with the
established pattern.

No test is included, this is a build-system-only (CMake) change to a
warning-suppression guard and is not unit-testable.

Signed-off-by: bogdan-petkovic <bpetkovi at amd.com>


  Commit: 3cc94639047973169a9874139b8d95e17cdba50b
      https://github.com/llvm/llvm-project/commit/3cc94639047973169a9874139b8d95e17cdba50b
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/Delinearization.cpp
    A llvm/test/Analysis/Delinearization/inconsistent-types.ll

  Log Message:
  -----------
  [Delinearization] Narrow the scope of the term collection (#204145)

In parametric delinearization, it collects subexpressions whose SCEV
type is `SCEVUnknown` and uses them as candidates for the array
dimensions. When traversing these subexpressions, it may follow any kind
of expression. For example, if it follows a `sext` expression, this can
lead to type inconsistencies among the collected terms.
This patch fixes this issue by preventing traversal into subexpressions
other than `SCEVAddExpr` or `SCEVAddRecExpr`.

Note: I tried to minimize the test case, but this seems to be as far as
it can go.

Fix #204066.


  Commit: 60a2d437bd040a494cfe87fa8f44ebad18db2196
      https://github.com/llvm/llvm-project/commit/60a2d437bd040a494cfe87fa8f44ebad18db2196
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    A llvm/lib/Target/AArch64/SVEShuffleOpts.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    A llvm/test/CodeGen/AArch64/sve-tbl-folding-new-pm.ll
    A llvm/test/CodeGen/AArch64/sve-tbl-folding-opts.ll

  Log Message:
  -----------
  [AArch64] Add SVE shuffle optimization pass (#193951)

Add a pass to perform VLA shuffle optimizations for SVE.

First up is using tbl to replace deinterleave4+uunpk+zext/uitofp
by generating shuffle masks with index, exploiting the fact that
out-of-range indices in the mask produce zeroes in the result
vector. That way, we can easily zero-extend smaller elements
by using the destination type when generating the mask, and
having one index in range with several out-of-range for each
destination element.


  Commit: 80c80e6d04515acf7dac8c256a1a3b3dc14cfa4d
      https://github.com/llvm/llvm-project/commit/80c80e6d04515acf7dac8c256a1a3b3dc14cfa4d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Check const writes more thorougly (#204529)

We used to only have a list of blocks under construction, but now we
have a list of pointers, which gives us more information.

Use this new list to diagnose a case we couldn't previously diagnose.
The test case is from `constant-expression-cxx14.cpp` and shows that a
write to a const member is invalid, even if the parent object is being
constructed right now.


  Commit: a6fe3c7422db83346c336346e0b7a56ff084b17f
      https://github.com/llvm/llvm-project/commit/a6fe3c7422db83346c336346e0b7a56ff084b17f
  Author: Xavier Roche <xavier.roche at algolia.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
    M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/bitint.pass.cpp
    M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
    M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
    M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
    M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
    M libcxx/test/std/numerics/bit/byteswap.pass.cpp
    M libcxx/test/std/numerics/bit/byteswap.verify.cpp
    M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating.bitint.pass.cpp
    R libcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.bitint.verify.cpp
    M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.bitint.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][test] Migrate _BitInt probe to __BITINT_MAXWIDTH__ and fix latent test bugs (#203876)

`libcxx` tests gate `_BitInt` blocks on `TEST_HAS_EXTENSION(bit_int)`,
which is not a recognized Clang extension and returns 0 in every
language mode. The blocks have been compiling as dead code, hiding
latent bugs across 23 files.

Migrate to a `TEST_HAS_BITINT` helper backed by the standard
`__BITINT_MAXWIDTH__`. The latent bugs the activation surfaces are fixed
in the same commit:
- overflow-safe `min`;
- post-P4052R0 saturating-arithmetic renames plus a
`clang-21`/`apple-clang-21` skip for `saturating.bitint.pass.cpp` (Clang
21 asserts in constexpr eval on non-byte-aligned `_BitInt`);
- an `intcmp` syntax fix;
- `byteswap.verify` directive tightening;
- a missing `<climits>` include in `byteswap.pass` (only visible under
`-fmodules`);
- C++03-compatible `static_assert` form in `digits10`; gating
`digits`/`digits10` `_BitInt` blocks behind
`!_LIBCPP_USE_FROZEN_CXX03_HEADERS` since the fix from #193002 was not
backported to the frozen snapshot; and
- `make_format_args` reduced to a placeholder pending a SFINAE-friendly
rejection path.

Discussion:
https://discourse.llvm.org/t/implementing-p3666r4-bit-precise-integers-in-libc/91070

Assisted-by: Claude (Anthropic)

---------

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


  Commit: eb7ce80944ee06b09c0bd6474254a155461dddd9
      https://github.com/llvm/llvm-project/commit/eb7ce80944ee06b09c0bd6474254a155461dddd9
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  CodeGenPassBuilder: Use cl::boolOrDefault directly in CGPassBuilderOption (#204196)

Current implementation that uses std::optional<bool> captures cl::BOU_FALSE,
for example -global-isel=0, as true. Explictly setting option to 0 should be
false, forced option not set.
This could be fixed but I find it cleaner to use boolOrDefault directly and
use same logic as in TargetPassConfig.
Options EnableIPRA and EnableGlobalISelAbort are left as optional since for
them it is explicitly checked if they are set using getNumOccurrences.
boolOrDefault has encoded unset option.


  Commit: 54a7896acfb97d7935e085eebbc18fd5e694f67d
      https://github.com/llvm/llvm-project/commit/54a7896acfb97d7935e085eebbc18fd5e694f67d
  Author: mkovacevic99 <mkovacevic at baylibre.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/COFF_dllimport_iat.s

  Log Message:
  -----------
  [JITLink][COFF] Synthesize __imp_ IAT entries (#203906)

Adds a default COFF/x86_64 JITLink pass that synthesizes `__imp_` Import
Address Table (IAT) entries for dllimport references. This allows COFF
objects using dllimport to be JIT-linked without a hand-built import library or
a special generator.

On COFF, `__declspec(dllimport)` codegen emits indirect accesses through a named
`__imp_X` symbol (`callq *__imp_bar(%rip)`; `movq __imp_g(%rip)` for data),                                                                                                                                                                                                                                                  
with `__imp_X` left undefined. JITLink had no handling for this. The new pass —
the COFF counterpart of the ELF/Mach-O GOT builder — defines each undefined
external `__imp_X` over an 8-byte slot holding the address of `X`, and leaves `X`
as an ordinary external to be resolved normally (import library, dynamic-library
search generator, etc.). Both the call and data-access forms then resolve
indirectly through the slot.

Rather than the `GOTTableManager` pattern (anonymous entry + edge redirection),
the pass defines the *named* `__imp_X` symbol over the slot. ELF GOT references
are nameless edge kinds, so that builder must create an anonymous entry and
redirect edges; COFF references `__imp_X` by name, so defining it is simpler —                                                                                                                                                                                                                                               
no edge rewriting, no orphaned-external cleanup, sharing is automatic,
and the call/data-access forms are handled identically.

x86_64 only (runs in the COFF/x86_64 backend's default pass pipeline). New lit
test `COFF_dllimport_iat.s`: assembles an object referencing `__imp_bar` (call)
 and `__imp_foo` (data load), supplies `foo`/`bar` via `-abs`, links with
`-noexec`, and uses `jitlink-check` to verify each `__imp_` slot holds the
target's address and that the references resolve through the slot.

Partly implements github issue:
https://github.com/llvm/llvm-project/issues/190122
In the comment section of the github issue there is this comment
https://github.com/llvm/llvm-project/issues/190122#issuecomment-4617328036
This PR implements point 2 Synthesis IAT entries.


  Commit: 12ee71c377db385c4af0cfe92488406b9a8fa13c
      https://github.com/llvm/llvm-project/commit/12ee71c377db385c4af0cfe92488406b9a8fa13c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/lto.c

  Log Message:
  -----------
  [Clang] Respect `-fno-slp-vectorize` for the LTO pipeline (#201585)

Summary:
This is related to reported regressions in the GROMACS suite when
offloading to AMDGCN devices through the RDC / LTO interface. The
application intentionally passes `-fno-slp-vectorize` to disable that
pass, but there's currently no way to do this through the LTO pipline.

This PR causes the driver to emit `plugin-opt=` for the `-mllvm` option.
That means the pass is still enabled but it should be a no-op now.


  Commit: 0390898335f9f32ea71ff288a5b4085cecc10391
      https://github.com/llvm/llvm-project/commit/0390898335f9f32ea71ff288a5b4085cecc10391
  Author: Jeremy Kun <jkun at google.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
    M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    A mlir/test/Dialect/Affine/trip-count.mlir

  Log Message:
  -----------
  [mlir][affine] Implement LoopLikeInterface::getStaticTripCount on AffineForOp (#204687)

LoopLikeInterface is useful, but missing `getStaticTripCount` requires
adding extra cases to check when processing otherwise dialect-agnostic
code.

There is an existing free function `getConstantTripCount`, which I
deprecated and replaced (NFC) with the new implementation. I believe the
new implementation is slightly more efficient than
`getConstantTripCount` because it checks if the expression is constant
and fast-fails before constructing the output `AffineMap` that was
returned by `getTripCountMapAndOperands`.

Assisted by Gemini


  Commit: 72af16e1a1cc3e1db9a5cd458f4ed410ca90cb87
      https://github.com/llvm/llvm-project/commit/72af16e1a1cc3e1db9a5cd458f4ed410ca90cb87
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/test/lit.cfg.py

  Log Message:
  -----------
  [clang][FreeBSD] Re-enable the crash-recovery test on FreeBSD (#192608)

All of the tests work now on FreeBSD, so we re-enable the feature again
on FreeBSD.


  Commit: 825950238fffb9549b7fd81700bb241e1473c866
      https://github.com/llvm/llvm-project/commit/825950238fffb9549b7fd81700bb241e1473c866
  Author: quic-k <kushpal at qti.qualcomm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/test/Preprocessor/hexagon-predefines.c

  Log Message:
  -----------
  [Clang][Hexagon]  Predefine _GNU_SOURCE for C++ compilations (#201599)

Predefine _GNU_SOURCE in C++ mode for H2, QuRT, and baremetal
Hexagon targets.

Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>


  Commit: 8eae496effc992b28c12c23374e89474956b9860
      https://github.com/llvm/llvm-project/commit/8eae496effc992b28c12c23374e89474956b9860
  Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libcxx/include/map
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multimap/empty.pass.cpp
    M libcxx/test/std/containers/associative/multimap/get_allocator.pass.cpp
    M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/multimap/iterator.pass.cpp
    M libcxx/test/std/containers/associative/multimap/max_size.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/from_range.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_iterator.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.nonmember/compare.three_way.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.nonmember/op_compare.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/size.pass.cpp
    M libcxx/test/std/containers/associative/multimap/types.pass.cpp
    M libcxx/test/std/containers/container.node/node_handle.pass.cpp

  Log Message:
  -----------
  [libc++] Make std::multimap constexpr as part of P3372R3 (#161901)

Fixes #128661

Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 46ece19eef8199137c0df10b492cadcb91060846
      https://github.com/llvm/llvm-project/commit/46ece19eef8199137c0df10b492cadcb91060846
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libcxx/include/string.h

  Log Message:
  -----------
  [libc++] Add a missing include in string.h (#135134)

`stddef.h` is necessary for `size_t` in explicit Clang modules build.


  Commit: 8ca5830992768650b77ee318dad5402108e8bed3
      https://github.com/llvm/llvm-project/commit/8ca5830992768650b77ee318dad5402108e8bed3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++] Default the allocator argument for most string constructors (#169901)

Allocators are generally very cheap to copy, so avoiding copies by
having separate overloads is not that useful. Defaulting them
significanlty reduces the overload set the compiler has to consider and
simplifies the code, since we can remove some functions in the future.

Closes #87368


  Commit: d6ccc29cb3a79631818e30f2f523fc6a91718f8a
      https://github.com/llvm/llvm-project/commit/d6ccc29cb3a79631818e30f2f523fc6a91718f8a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Take AccessKinds into account in diagnoseNonConstVa… (#204824)

…riable

And diagnose it as a modification and not a read if applicable.


  Commit: bf18f6f43052cb558502e3e6f4db6a7368fe7b61
      https://github.com/llvm/llvm-project/commit/bf18f6f43052cb558502e3e6f4db6a7368fe7b61
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/MC/MCAsmInfo.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/Remarks/RemarkStreamer.cpp
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/WithColor.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.h
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/utils/yaml-bench/YAMLBench.cpp

  Log Message:
  -----------
  [CommandLine] Make cl::boolOrDefault a scoped enum (#204553)

Prevents implicit conversion to bool/int, where BOU_FALSE wrongly
evaluated as true. All uses qualified as cl::boolOrDefault::BOU_*.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply at anthropic.com>


  Commit: 8c7b7dda518a28447660256c44c39d94d0c7e793
      https://github.com/llvm/llvm-project/commit/8c7b7dda518a28447660256c44c39d94d0c7e793
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Fix format string (#204837)

GetLoadAddress() returns an integer value, not a null-terminated string.


  Commit: 16a0a1042f7e4e5a0c667096fcdeb5803e06d120
      https://github.com/llvm/llvm-project/commit/16a0a1042f7e4e5a0c667096fcdeb5803e06d120
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

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

  Log Message:
  -----------
  [NFC] Remove SVEShuffleOpts variable unused in release build (#204833)

Fixes a warning-as-error build failure for #193951


  Commit: 5bb3690d08fd89b3bba9866fc68df56f02379294
      https://github.com/llvm/llvm-project/commit/5bb3690d08fd89b3bba9866fc68df56f02379294
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp

  Log Message:
  -----------
  [llvm][Target] Avoid premature Twine .str() materialization (#204836)

Call sites in the AMDGPU and SPIRV parsers and the SystemZ AsmPrinter /
InstrInfo pass `expr.str()` (or `.str().c_str()`) to parameters of type
`const llvm::Twine &`, forcing a throwaway heap std::string that is
immediately rewrapped into a Twine. Drop the materialization and let
Twine accept the concatenation directly.

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


  Commit: 467a5fe378edfce2d495417c1b224cc2967570a2
      https://github.com/llvm/llvm-project/commit/467a5fe378edfce2d495417c1b224cc2967570a2
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/FormulaSerialization.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/Yaml.h

  Log Message:
  -----------
  [clang] Avoid premature Twine .str() materialization (#204830)

Several call sites pass `expr.str()` to parameters of type `const
llvm::Twine &`, forcing a throwaway heap std::string that is immediately
rewrapped into a Twine. Drop the `.str()` and let Twine accept the
StringRef/concatenation directly.

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


  Commit: 22dce64361a23b954e5275b151cdbefc92eaa204
      https://github.com/llvm/llvm-project/commit/22dce64361a23b954e5275b151cdbefc92eaa204
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h

  Log Message:
  -----------
  [AMDGPU] Remove some functions unused since #105645. NFC. (#204844)


  Commit: 29692c150f86d76cfb58e8bf2c0e97dc6afd2088
      https://github.com/llvm/llvm-project/commit/29692c150f86d76cfb58e8bf2c0e97dc6afd2088
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/include/CMakeLists.txt
    A libc/include/libgen.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/string_view.h
    A libc/src/libgen/CMakeLists.txt
    A libc/src/libgen/basename.cpp
    A libc/src/libgen/basename.h
    A libc/src/libgen/dirname.cpp
    A libc/src/libgen/dirname.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/libgen/CMakeLists.txt
    A libc/test/src/libgen/basename_death_test.cpp
    A libc/test/src/libgen/basename_test.cpp
    A libc/test/src/libgen/dirname_death_test.cpp
    A libc/test/src/libgen/dirname_test.cpp
    A libc/utils/docgen/libgen.yaml

  Log Message:
  -----------
  [libc] Implement basename and dirname in libgen.h (#204554)

Added the POSIX standard functions basename and dirname under a new
libgen.h header. The implementations modify the input path in-place
using cpp::string_view to determine boundaries safely.

Added find_last_not_of to cpp::string_view to support trailing slash
removal.

Implemented:
* libc/include/libgen.yaml, libgen.h.def: Public API definitions.
* libc/src/libgen/basename.cpp, dirname.cpp: Generic implementations.
* libc/test/src/libgen/: Unit and hermetic tests.

Registered the new entrypoints for all active Linux targets (x86_64,
aarch64, arm, riscv) and added docgen configuration.

Assisted-by: Automated tooling, human reviewed.


  Commit: fd6a30b11da2bcbce657aa26a362e7d24aa9cd44
      https://github.com/llvm/llvm-project/commit/fd6a30b11da2bcbce657aa26a362e7d24aa9cd44
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/utils/gdb/libcxx/printers.py

  Log Message:
  -----------
  [libcxx] Make std::pair pretty-printer ABI-independent (#201768)

std::pair is printed explicitly instead of relying on GDB's default
struct formatting to keep output stable across ABI configurations.

With _LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR (default on
some platforms, e.g. FreeBSD), std::pair gains an empty
__non_trivially_copyable_base base class. GDB would otherwise render
this as <...__non_trivially_copyable_base<...>> = {<No data fields>},
which makes output ABI-dependent.

Only first and second are meaningful, so print them directly.


  Commit: d43b360c0625f930fc9bc3bfedb9419bd4acf928
      https://github.com/llvm/llvm-project/commit/d43b360c0625f930fc9bc3bfedb9419bd4acf928
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reduced-value-replace-extractelement-cost.ll

  Log Message:
  -----------
  [SLP] Fix reduction cost crash for reduced values replaced by extractelement

A reduced value may be replaced by an extractelement while vectorizing a
previous subvector, so it is no longer a key in ReducedValsToOps.
Look through replaced values to the reduction operation among their users.

Fixes #204814

Reviewers: 

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


  Commit: 8c922aa493a3357ef9a9fab28e903b12fc2250ce
      https://github.com/llvm/llvm-project/commit/8c922aa493a3357ef9a9fab28e903b12fc2250ce
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [MemorySanitizer] Merge x86 BMI and PackedBits handlers into handleGenericBitManipulation (#204786)

As discussed on #204144 - its not necessary to have separate handlers, just because some are target intrinsics


  Commit: abbb031d386908d4274306f77c9c2cdc3e34d28d
      https://github.com/llvm/llvm-project/commit/abbb031d386908d4274306f77c9c2cdc3e34d28d
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/binary-analysis/AArch64/cfg-warning.s

  Log Message:
  -----------
  [BOLT][rewrite] warn about functions without CFG before binary analyses. (#197294)


  Commit: 85c81a23e759d9f45da28d074beacffe14c2ba99
      https://github.com/llvm/llvm-project/commit/85c81a23e759d9f45da28d074beacffe14c2ba99
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/MC/MCWin64EH.cpp
    M llvm/lib/Target/X86/X86WinEHUnwindV3.cpp
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-split-large.ll
    M llvm/test/MC/COFF/seh-unwindv3-inheritance.s
    M llvm/test/MC/COFF/seh-unwindv3-large.s
    M llvm/test/MC/COFF/seh-unwindv3-nonmirror.s

  Log Message:
  -----------
  [x64][win] Windows x64 unwind v3: Use tail-relative epilog offsets and add size-based splitting (#203108)

Win64 Unwind v3 encodes each epilog's EpilogOffset as a signed 16-bit
field. The encoder previously measured the first epilog offset from the
fragment start, which overflowed for large functions and produced a
cryptic "<unknown>:0: value too large for field" error (and, on the
early .seh_handlerdata path, an assertion failure).

Two changes:

- MCWin64EH.cpp: Always emit epilog offsets tail-relative. The first
epilog descriptor is measured from the fragment end and subsequent ones
as deltas from the previous epilog, so descriptors are emitted in
descending address order (all non-positive, per spec). A new lazy
MCUnwindV3EpilogOffsetTargetExpr resolves the fragment-end-relative
value at layout time (it may not have a symbol yet when emitted via
.seh_handlerdata) and reports a clean, function-named diagnostic on
genuine overflow.

- X86WinEHUnwindV3.cpp: Add Unwind-v2-style size-based sub-fragment
splitting. In addition to the existing >7-epilog split, the pass now
splits a funclet into chained fragments when an epilog is too far from
its fragment tail (using the V2 approximate-instruction-count heuristic,
tunable via -x86-wineh-unwindv3-epilog-distance-threshold). Splits use
SEH_SplitChainedAtEndOfBlock so the split lands after the epilog,
keeping every epilog close to its tail; a long trailing region becomes
its own epilog-free chained fragment.

Updates seh-unwindv3-large.s expectations to the new tail-relative
values and adds win64-eh-unwindv3-split-large.ll covering size-based
splitting.


  Commit: e995171352b00123961e5c55600dd96bd11e7b60
      https://github.com/llvm/llvm-project/commit/e995171352b00123961e5c55600dd96bd11e7b60
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/add.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream widening-addition and vector-shift-left-and-widen NEON builtins (#204285)

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

CIR lowering for
- widening-addition intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#widening-addition)
- vector-shift-left-and-widen intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-left-and-widen)

Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/add.c`
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/intrinsics.c`


  Commit: ae60782c82682d20764f888321efb5d53df18a4a
      https://github.com/llvm/llvm-project/commit/ae60782c82682d20764f888321efb5d53df18a4a
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/include/CMakeLists.txt
    R libc/include/libgen.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/string_view.h
    R libc/src/libgen/CMakeLists.txt
    R libc/src/libgen/basename.cpp
    R libc/src/libgen/basename.h
    R libc/src/libgen/dirname.cpp
    R libc/src/libgen/dirname.h
    M libc/test/src/CMakeLists.txt
    R libc/test/src/libgen/CMakeLists.txt
    R libc/test/src/libgen/basename_death_test.cpp
    R libc/test/src/libgen/basename_test.cpp
    R libc/test/src/libgen/dirname_death_test.cpp
    R libc/test/src/libgen/dirname_test.cpp
    R libc/utils/docgen/libgen.yaml

  Log Message:
  -----------
  Revert "[libc] Implement basename and dirname in libgen.h (#204554)" (#204856)

Reverted due to death tests failing with ASan on buildbots. Reverts
commit 29692c150f86d76cfb58e8bf2c0e97dc6afd2088.


  Commit: 403ce0dc4bf3b288323a6e62d7d9056befdde483
      https://github.com/llvm/llvm-project/commit/403ce0dc4bf3b288323a6e62d7d9056befdde483
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/declarative-directive01.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires10.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Emit warning that REVERSE_OFFLOAD is not supported (#204647)

Right now we quietly ignore it, whereas the OpenMP spec mandates a
compilation error for requirements that the implementation does not
support.
The REVERSE_OFFLOAD was not causing a compilation error to allow testing
of incremental implementation improvements, but we should at least warn
about not supporting it.


  Commit: ef5d544f9bc18c41941e0a701ed11124623fb480
      https://github.com/llvm/llvm-project/commit/ef5d544f9bc18c41941e0a701ed11124623fb480
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/Todo/multiple-types-declare_reduction.f90
    M flang/test/Lower/OpenMP/declare-reduction-character-allocatable.f90
    M flang/test/Lower/OpenMP/declare-reduction-finalizer.f90
    M flang/test/Lower/OpenMP/declare-reduction-initializer-component.f90
    M flang/test/Lower/OpenMP/declare-reduction-initializer-defined-assign.f90
    M flang/test/Lower/OpenMP/declare-reduction-initializer-rhs-call.f90
    M flang/test/Lower/OpenMP/declare-reduction-no-initializer-intrinsic.f90
    M flang/test/Lower/OpenMP/declare-reduction-no-initializer-target-derived.f90
    A flang/test/Lower/OpenMP/declare-reduction-same-name-different-scope.f90
    M flang/test/Lower/OpenMP/declare-reduction-target-intrinsic.f90
    M flang/test/Lower/OpenMP/omp-declare-reduction-combsub.f90
    M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.f90
    M flang/test/Lower/OpenMP/omp-declare-reduction-initsub.f90
    M flang/test/Lower/OpenMP/omp-declare-reduction.f90

  Log Message:
  -----------
  [flang][OpenMP] Scope-qualify user-defined reduction names in lowering (#202474)

A named !$omp declare reduction was lowered to an omp.declare_reduction
operation whose symbol name was just the bare reduction name (e.g.
`@a`), without any scope qualification. Semantic name resolution was
correct and gave each scope its own reduction symbol, but lowering
deduplicates the declare reduction op by name, so two subroutines that
declared a reduction with the same name collapsed onto a single op.

As a result, a reduction(name:var) clause could bind to a declaration
that leaked in from a different scope.

Per OpenMP 6.0 7.6.14, a user-defined reduction has the same visibility
and accessibility as a variable declared at the same location.

Qualify the generated op name with the scope in which the reduction is
declared using mangleName, the same approach already used for
omp.private and declare mapper. This is applied consistently when the op
is created, when a clause references it, and when its existence is
checked, so the names always agree.

Fixes #181270


  Commit: fa135bb8cb8c4adf9fb7d5eb93143182dd632cd4
      https://github.com/llvm/llvm-project/commit/fa135bb8cb8c4adf9fb7d5eb93143182dd632cd4
  Author: Zhige Chen <zhige_chen at outlook.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/test/tools/llubi/assume_invalid_align.ll
    M llvm/test/tools/llubi/controlflow.ll
    M llvm/test/tools/llubi/intr_vector_manip.ll
    M llvm/test/tools/llubi/invoke_poison.ll
    M llvm/test/tools/llubi/metadata.ll
    A llvm/test/tools/llubi/verify.ll
    M llvm/tools/llubi/lib/Interpreter.cpp
    M llvm/tools/llubi/llubi.cpp

  Log Message:
  -----------
  [llubi] Run verifier on the input IR (#204095)

This PR runs the IR verifier in llubi by default and adds a
`--disable-verify` opt-out.


  Commit: eb21e784ce4a9ade6f00fad259889f9ab3f25d1a
      https://github.com/llvm/llvm-project/commit/eb21e784ce4a9ade6f00fad259889f9ab3f25d1a
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86WinEHUnwindV3.cpp

  Log Message:
  -----------
  Mark LastEpilogIdx as maybe_unused (#204857)

#203108 added a variable which is read only in debug builds, so we are
seeing warning in release builds without asserts.


  Commit: d10349cb51e19e25697be1ce19324274a8570d07
      https://github.com/llvm/llvm-project/commit/d10349cb51e19e25697be1ce19324274a8570d07
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/pdep.ll
    M llvm/test/Transforms/InstCombine/pext.ll

  Log Message:
  -----------
  [InstSimplify] Add fold for pdep(0,x) -> 0 and pext(0,x) -> 0 (#204810)

As noted on #204144


  Commit: bb87fbb82b93fec4f1f39015a1d9262746a4e62f
      https://github.com/llvm/llvm-project/commit/bb87fbb82b93fec4f1f39015a1d9262746a4e62f
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CAS/OnDiskGraphDB.cpp
    M llvm/lib/CAS/OnDiskKeyValueDB.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
    M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm] Avoid premature Twine .str() materialization (#204828)


  Commit: 394aa60e5678f07de7ad2f1923ddb2290f9ad7c6
      https://github.com/llvm/llvm-project/commit/394aa60e5678f07de7ad2f1923ddb2290f9ad7c6
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp

  Log Message:
  -----------
  [CIR][NFC] Sync AArch64 NEON intrinsics with Clang (#204862)

Sync AArch64 NEON intrinsics with Clang after changes merged from
#204201


  Commit: 7319a3cf812f487728a6f1de4f70846f9fee7513
      https://github.com/llvm/llvm-project/commit/7319a3cf812f487728a6f1de4f70846f9fee7513
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/lib/DWP/DWP.cpp
    M llvm/tools/llvm-dwarfdump/Statistics.cpp
    M llvm/tools/llvm-objdump/SourcePrinter.cpp
    M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
    M llvm/unittests/Support/DataExtractorTest.cpp

  Log Message:
  -----------
  [Support] Remove unused parameter of DataExtractor constructor (#204840)

#190519 removed the uses of the parameter, and several follow-up patches
cleaned up call sites. This is the last patch in the series that finally
removes the parameter.
While here, also remove the unused "truncating constructor".


  Commit: 95e321951ad3041998e49bc0353482bcd27c65db
      https://github.com/llvm/llvm-project/commit/95e321951ad3041998e49bc0353482bcd27c65db
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M mlir/lib/Conversion/PtrToLLVM/PtrToLLVM.cpp
    M mlir/test/Conversion/PtrToLLVM/ptr-to-llvm.mlir

  Log Message:
  -----------
  [mlir][ptr] Add constantop convertion (#204846)

Previously, Ptr.ConstantOp was missing the lowering pattern to LLVM IR.
This PR adds the missing conversion logic. See
https://github.com/llvm/llvm-project/pull/190527#issuecomment-4751141164.

---------

Co-authored-by: Fabian Mora <fmora.dev at gmail.com>


  Commit: f4043dbcafc93f9107b7c93ee8740cdb0fe22d7c
      https://github.com/llvm/llvm-project/commit/f4043dbcafc93f9107b7c93ee8740cdb0fe22d7c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    A lldb/test/API/macosx/deny-attach/Makefile
    A lldb/test/API/macosx/deny-attach/TestDenyAttach.py
    A lldb/test/API/macosx/deny-attach/main.c
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  [lldb] Survive ptrace(PT_DENY_ATTACH) when attaching (#204688)

A process can opt out of being debugged with ptrace(PT_DENY_ATTACH). The
XNU kernel enforces this by delivering SIGSEGV to the *attaching*
process while it is still inside the ptrace(PT_ATTACHEXC) syscall. This
means debugserver gets killed before it can inspect the result. LLDB
only sees the dropped connection ("error: attach failed: lost
connection").

The condition can't be detected up front: the target's P_LNOATTACH flag
is not exposed to userspace. To work around this, install a temporary
SIGSEGV handler around the ptrace(PT_ATTACHEXC) call in AttachForDebug
and siglongjmp back out if it fires, turning the fatal signal into an
EPERM that propagates to lldb as a clear message:

```
error: attach failed: cannot attach to process N because it has
disabled debugging via ptrace(PT_DENY_ATTACH)
```

The handler only acts on a SIGSEGV that arrives on the attaching thread
while the guard is armed. Any other SIGSEGV restores the default handler
and re-raises. Genuine, unrelated, crashes still report normally.

rdar://44542907

Assisted-by: Claude


  Commit: 6b7dbd8f485dc710f41fe5383ac99c2c42f9f6b9
      https://github.com/llvm/llvm-project/commit/6b7dbd8f485dc710f41fe5383ac99c2c42f9f6b9
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for gfx950 mfmas (#204696)


  Commit: d1c306c5ef9fc687df3630145b256f0d67a767b2
      https://github.com/llvm/llvm-project/commit/d1c306c5ef9fc687df3630145b256f0d67a767b2
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    A clang/test/CIR/CodeGen/agg-atomic-cast.cpp

  Log Message:
  -----------
  [CIR] Implement Aggregate non-atomic to atomic cast (#204653)

Implement support for Aggregate non-atomic to atomic cast


  Commit: e6a92e0d2dbe413f994ad743f3f94cc9f0281b82
      https://github.com/llvm/llvm-project/commit/e6a92e0d2dbe413f994ad743f3f94cc9f0281b82
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/RecordReplay.cpp
    M offload/test/tools/omp-kernel-replay/record-replay-diff-teams-threads.cpp
    M offload/test/tools/omp-kernel-replay/record-replay-diff-threads.cpp
    M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp

  Log Message:
  -----------
  [offload] Fix teams/threads limits in record replay (#200639)

The recording phase now sets the teams and threads limits provided by
the user (in the corresponding OpenMP clauses) or zero if not specified.
Additionally, the PR #199483 already enforces that replay's configuration
of threads and teams are respected.

This commit also changes the way we test record and replay when multiple
kernels are recorded in the same test. We use the record report to know how
to associate a json record descriptor file to the target region in the code. We
do not rely anymore on the modification time of the files to know the order,
which was problematic.


  Commit: f1931891a9fe19c4b003b7dd2665ddc887f91a0d
      https://github.com/llvm/llvm-project/commit/f1931891a9fe19c4b003b7dd2665ddc887f91a0d
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M libcxx/include/__cstddef/byte.h
    M libcxx/test/libcxx/language.support/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][byte] Apply [[nodiscard]] to std::byte (#204674)

https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant

Towards: #172124


  Commit: fe9521d11834f9c408406b5a5d6c617c6156d1b8
      https://github.com/llvm/llvm-project/commit/fe9521d11834f9c408406b5a5d6c617c6156d1b8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

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

  Log Message:
  -----------
  [LV] Unify header phi fixup and remove fixNonInductionPHIs (NFC). (#204886)

Unify the execute logic for VPPhi and VPWidenPHIRecipe into a shared
executePhiRecipe helper that handles both scalar and vector phis. For
header phis, only the preheader incoming value is added during execute;
the backedge is fixed up later by VPlan::execute().

This allows generalizing the VPlan::execute() fixup loop to handle all
loop headers (not just the first), removing the VPWidenPHIRecipe skip,
and eliminating fixNonInductionPHIs entirely.


  Commit: 39f8f90cc9d8cf650823f397e56244b4d84168ff
      https://github.com/llvm/llvm-project/commit/39f8f90cc9d8cf650823f397e56244b4d84168ff
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/instructions/undef-composite.ll

  Log Message:
  -----------
  [SPIR-V] Lower undef nested in a constant aggregate (#204377)

A constant aggregate whose element is itself an aggregate `undef` was
never lowered to a placeholder. The raw aggregate operand reached
IRTranslator on the llvm.spv.const.composite call and aborted with
"unable to translate instruction".

A similar issue was found and fixed during SPV_KHR_poison_freeze
implementation. So instead of re-inventing a wheel - unify lowering with
poison.

Addresses the following observation:
https://github.com/llvm/llvm-project/pull/198037#discussion_r3304013315


  Commit: 4195b294cb82f50fdfb980434439a22a0f5be315
      https://github.com/llvm/llvm-project/commit/4195b294cb82f50fdfb980434439a22a0f5be315
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M .github/workflows/subscriber.yml

  Log Message:
  -----------
  workflows/subscriber: Update to latest github automation container (#204692)

This one is about 33% smaller than the previous version.


  Commit: 086f6331a5a904da8de84b30dcdaddc0a6220ed1
      https://github.com/llvm/llvm-project/commit/086f6331a5a904da8de84b30dcdaddc0a6220ed1
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.async.to.lds.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for load_async_to_lds (#204683)


  Commit: f9fa59867f663d965dd7a6a72777477c4decee4d
      https://github.com/llvm/llvm-project/commit/f9fa59867f663d965dd7a6a72777477c4decee4d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/addsub64_carry.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    A llvm/test/CodeGen/AMDGPU/i128-add-carry-chain.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll

  Log Message:
  -----------
  [AMDGPU] Use explicit carry nodes for i64 wide integer lowering (#204694)

This PR switches widened i64 add/sub lowering to use explicit
UADDO/USUBO carry
nodes instead of glue-based carry chains.


  Commit: 90b204888de4da58d4f3b68355658c16a14a1e46
      https://github.com/llvm/llvm-project/commit/90b204888de4da58d4f3b68355658c16a14a1e46
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    A llvm/test/Bitcode/Inputs/invalid-summary-version.bc
    A llvm/test/Bitcode/invalid-summary-version.test

  Log Message:
  -----------
  bitcode: Improve invalid summary version error (#204888)


  Commit: c890f4dbc248cf5f22e9f5b212d03be44b77d499
      https://github.com/llvm/llvm-project/commit/c890f4dbc248cf5f22e9f5b212d03be44b77d499
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 95e3219 (#204873)

This fixes 95e321951ad3041998e49bc0353482bcd27c65db.

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


  Commit: a8aba704b0972253ffb6d7bda770ecef43f5b131
      https://github.com/llvm/llvm-project/commit/a8aba704b0972253ffb6d7bda770ecef43f5b131
  Author: Steve Scalpone <sscalpone at nvidia.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/MultiImageFortran.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/test/Lower/MIF/coarray_allocation3.f90
    M flang/test/Lower/MIF/coarray_allocation4.f90
    M flang/test/Lower/MIF/coarray_allocation5.f90

  Log Message:
  -----------
  [Flang] Standardize coarray TODO() diagnostic messages (#204708)


  Commit: ba5384a3e154e6f43ddc951ebc81b4b5edafcc1b
      https://github.com/llvm/llvm-project/commit/ba5384a3e154e6f43ddc951ebc81b4b5edafcc1b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/lib/Support/CommandLine.cpp
    M llvm/unittests/Support/CommandLineTest.cpp

  Log Message:
  -----------
  [Support] Add a parser for cl::opt<ElementCount> (#203969)

This adds command-line option parsing support for ElementCount.

This allows the following syntax:
```
  --my-option=4 ; Maps to ElementCount::getFixed(4)
  --my-option="vscale x 8" ; Maps to ElementCount::getScalable(8)
```
This is intended to unify fixed/scalable option handling in the loop
vectorizer. Currently, we have options like
'`EpilogueVectorizationForceVF`' defined as `cl::opt<unsigned>` which do
not allow specifying scalable VFs.

Assisted-by: Codex


  Commit: b32488f78b6c029aa0b0a011dbc8c593f2e8cb34
      https://github.com/llvm/llvm-project/commit/b32488f78b6c029aa0b0a011dbc8c593f2e8cb34
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/test/CodeGen/ubsan-aggregate-null-align-bounds.c

  Log Message:
  -----------
  [Clang][UBSan] Use EmitCheckedLValue for C++ trivial operator= operands (#203737)

Further to https://github.com/llvm/llvm-project/pull/190739, use
EmitCheckedLValue for trivial operator= operands
* for the LHS (`lhs->` not handled yet), and
* for the RHS also for function call syntax.


  Commit: e47530b9f4d6c2417aeb578af615710cdce50597
      https://github.com/llvm/llvm-project/commit/e47530b9f4d6c2417aeb578af615710cdce50597
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT][AArch64] Align tentative layout bases using per-section alignment (#204262)

Move `AssignSections` pass before `AlignerPass` so it can record the max
code alignment per output section, then align the tentative hot/cold
section bases using the recorded alignment, which makes tentative layout
better match actually emitted.


  Commit: 092858485f00e6786da8a88c0c4d462247e64571
      https://github.com/llvm/llvm-project/commit/092858485f00e6786da8a88c0c4d462247e64571
  Author: owenca <owenpiano at gmail.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h

  Log Message:
  -----------
  [clang-format][NFC] Clean up FormatTokenLexer (#203825)


  Commit: 359bfe62ed1b1cd498cee558ed8699b2b88ae58b
      https://github.com/llvm/llvm-project/commit/359bfe62ed1b1cd498cee558ed8699b2b88ae58b
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/docs/LifetimeSafety.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
    M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp

  Log Message:
  -----------
  [LifetimeSafety] Allow configuring lifetimebound fix-it spelling (#204045)

When suggesting `[[clang::lifetimebound]]` fix-its, allow users to
provide a project-specific macro spelling with
`-lifetime-safety-lifetimebound-macro=...`.

If no spelling is configured, use a visible macro whose replacement
tokens spell the attribute, preferring the most recently defined
matching macro, and fall back to `[[clang::lifetimebound]]` or
`__attribute((lifetimebound))` otherwise.

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


  Commit: 2678b8f51e10df0beacade724b781ee214ec58f6
      https://github.com/llvm/llvm-project/commit/2678b8f51e10df0beacade724b781ee214ec58f6
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-06-19 (Fri, 19 Jun 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    A llvm/test/CodeGen/DirectX/ResourceAccess/load-constant-buffer-t.ll

  Log Message:
  -----------
  [DirectX] Handle llvm.dx.resource.getbasepointer intrinsic in DXILResourceAccess pass (#204732)

The `llvm.dx.resource.getbasepointer` intrinsic is emitted for
`Constantbuffer<T>` element access and needs to be translated to
`llvm.dx.resource.load.cbufferrow` calls in the `DXILResourceAccess`
pass. The handling is identical to `llvm.dx.resource.getpointer` with a
0 offset.

Fixes #204234


  Commit: e9acb01904be7c32e98dedee27b68f939d79549a
      https://github.com/llvm/llvm-project/commit/e9acb01904be7c32e98dedee27b68f939d79549a
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    R clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_03.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    A clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction_teams.mlir
    M mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction-array-descriptor.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    M offload/include/Shared/Environment.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/device/include/Interface.h
    M openmp/device/src/Reduction.cpp

  Log Message:
  -----------
  [OpenMP][offload] Cross-team reductions with variable number of teams (#195102)

This is a part of a series of patches that rework OpenMP cross-team
reductions.

This patch changes the cross-team reduction runtime to no longer work
through larger number of teams in chunks. Instead, we allocate a
suitable-sized global buffer for the team values and let all teams run
at once. The last team that finishes uses a strided loop to reduce the
team values from the global buffer.

We also use `mapping::getNumberOfThreadsInBlock()` instead of
`omp_get_num_threads()` because the reduction of the team values runs
outside of the parallel region device code, which would make
`omp_get_num_threads()` always return 1. For Generic-SPMD mode, we also
want to use all available threads, which means that we need to copy the
reduction data from LDS (where it lives in that mode by default) to
scratch in codegen before calling the cross-team reduction.

Performance:
All performance tests can be reproduced with
https://github.com/ro-i/xteam-test @ commit
2f09ae1f566f13189d20b414d8b83bf2986564d2. To reproduce, simply create a
`local.mk` file in the cloned directory with a suitable `OFFLOAD_ARCH`
for your machine and `CXX_trunk` + `CXX_trunk_dev` set to the paths of
the clang++ binaries for llvm/main and this patch. (llvm/main should
best be at the commit that is currently the base for this PR. At the
moment, this is fe87c971bf07eb38af97ca96bf2810e94e7549dc). Then, run
`make trunk trunk_dev` to build the benchmark binaries for 208 and 10400
teams. Run them with `./run_bench.sh -rq -n10 red_trunk_208
red_trunk_dev_208 red_trunk_10400 red_trunk_dev_10400` to get the avg
performance numbers over 10 rounds.
This tests multiple reduction workloads, including reductions that run
in the Generic-SPMD mode, with 208 teams and with 10400 teams, both à
512 threads, and with a reduction array size of 177,777,777. I tested on
a gfx942 and didn't find any regressions - here are some numbers showing
the performance of this patch relative to the baseline:
```
red_comb_sep_arr_32    double   dev_208:   +84.37%   dev_10400:   +54.06%
red_sum_arr_32         double   dev_208:    +9.72%   dev_10400:   +51.29%
red_comb               double   dev_208:    +2.73%   dev_10400:    +8.73%
red_comb_sep           double   dev_208:    +1.89%   dev_10400:   +87.13%
red_dot                double   dev_208:    +1.46%   dev_10400:   +25.66%
red_indirect           double   dev_208:    +1.51%   dev_10400:   +23.54%
red_kernel_part        double   dev_208:    +1.27%   dev_10400:   +88.28%
red_max                double   dev_208:    +1.29%   dev_10400:   +22.69%
red_mult               double   dev_208:    +1.96%   dev_10400:   +22.02%
red_sum                double   dev_208:    +2.03%   dev_10400:   +22.00%
red_pi                 double   dev_208:    +1.08%   dev_10400:    +1.22%
red_comb_sep_arr_32    uint     dev_208:  +139.10%   dev_10400:   +88.02%
red_sum_arr_32         uint     dev_208:   +49.70%   dev_10400:  +143.24%
red_dot                uint     dev_208:    +0.77%   dev_10400:   +24.91%
red_max                uint     dev_208:    +3.43%   dev_10400:   +36.61%
red_sum                uint     dev_208:    +4.56%   dev_10400:   +36.95%
red_comb_sep_arr_32    ulong    dev_208:   +85.22%   dev_10400:   +58.17%
red_sum_arr_32         ulong    dev_208:    +9.01%   dev_10400:   +55.14%
red_dot                ulong    dev_208:    +2.94%   dev_10400:   +26.89%
red_max                ulong    dev_208:    +2.83%   dev_10400:   +23.10%
red_sum                ulong    dev_208:    +1.59%   dev_10400:   +22.82%
red_comb_sep_arr_32    Value    dev_208:   +29.88%   dev_10400:   +24.17%
red_sum_arr_32         Value    dev_208:    +7.26%   dev_10400:   +38.14%
red_dot                Value    dev_208:    +2.65%   dev_10400:    +8.60%
red_max                Value    dev_208:    +2.86%   dev_10400:    +4.77%
red_sum                Value    dev_208:    +0.47%   dev_10400:   +10.22%
```

This patch uses ideas from Johannes Doerfert, ideas from the AOMP
cross-team reduction implementation, and was assisted by Claude.


  Commit: 4c16440e1edc00cd1b5a64944fc651064fe6425b
      https://github.com/llvm/llvm-project/commit/4c16440e1edc00cd1b5a64944fc651064fe6425b
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    A clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_03.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    R clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction_teams.mlir
    M mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction-array-descriptor.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    M offload/include/Shared/Environment.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/device/include/Interface.h
    M openmp/device/src/Reduction.cpp

  Log Message:
  -----------
  Revert "[OpenMP][offload] Cross-team reductions with variable number of teams" (#204914)

Reverts llvm/llvm-project#195102 due to some missed debug info issue
revealed by https://lab.llvm.org/buildbot/#/builders/67/builds/7022


  Commit: a38998941b2f57ffce38d6161a48d59d7d481964
      https://github.com/llvm/llvm-project/commit/a38998941b2f57ffce38d6161a48d59d7d481964
  Author: Ferdinand Lemaire <flscminecraft at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/include/mlir/Conversion/RaiseWasm/RaiseWasmMLIR.h
    M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/RaiseWasm/CMakeLists.txt
    A mlir/lib/Conversion/RaiseWasm/RaiseWasmMLIR.cpp
    M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
    A mlir/test/Conversion/RaiseWasm/wasm-abs-to-math-abs.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-add-to-arith-add.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-and-to-arith-and.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-ceil-to-math-ceil.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-clz-to-math-clz.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-const-to-arith-const.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-convert-to-arith-tofp.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-copysign-to-math-copysign.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-ctz-to-math-ctz.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-demote-to-arith-trunc.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-div-to-arith-div.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-floor-to-math-floor.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-func-to-func.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-global-to-memref-global.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-local-to-memref.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-max-to-arith-maximumf.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-min-to-arith-minimumf.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-mul-to-arith-mul.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-neg-to-arith-neg.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-or-to-arith-or.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-popcnt-to-math-ctpop.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-promote-to-arith-ext.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-reinterpret-to-arith-bitcast.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-rem-to-arith-rem.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-shl-to-arith-shl.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-shr_s-to-arith-shrs.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-shr_u-to-arith-shru.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-sqrt-to-math-sqrt.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-sub-to-arith-sub.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-trunc-to-math-trunc.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-wrap-to-arith-trunc.mlir
    A mlir/test/Conversion/RaiseWasm/wasm-xor-to-arith-xor.mlir

  Log Message:
  -----------
  [MLIR][WASM] Introduce the RaiseWasmMLIRPass to convert WasmSSA MLIR to core dialects (#164562)

This is following https://github.com/llvm/llvm-project/pull/154674 and
still related to
https://discourse.llvm.org/t/rfc-mlir-dialect-for-webassembly/86758.

This PR introduces the RaiseWasmMLIRPass. This pass lowers WasmSSA MLIR
to other dialects of the LLVM ecosystem (namely: arith, math, cf and
memref).
This is the first PR of a series of 2 or 3 to introduce the lowering, as
an introduction it brings support for function calls, local and global
variables and handling of arithmetic operations. As explained in the
RFC, most WasmSSA operations have been made to stay close to other
dialects' semantics so that conversion is trivialized.

---------

Signed-off-by: Ferdinand Lemaire <flemairen6 at gmail.com>
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
Co-authored-by: Ferdinand Lemaire <flemairen6 at gmail.com>


  Commit: ea9bae08990f581e9dce8f65844bc16b3249f91e
      https://github.com/llvm/llvm-project/commit/ea9bae08990f581e9dce8f65844bc16b3249f91e
  Author: Luc Forget <github at alias.lforget.fr>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    R mlir/include/mlir/Conversion/RaiseWasm/RaiseWasmMLIR.h
    M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
    M mlir/lib/Conversion/CMakeLists.txt
    R mlir/lib/Conversion/RaiseWasm/CMakeLists.txt
    R mlir/lib/Conversion/RaiseWasm/RaiseWasmMLIR.cpp
    M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
    R mlir/test/Conversion/RaiseWasm/wasm-abs-to-math-abs.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-add-to-arith-add.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-and-to-arith-and.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-ceil-to-math-ceil.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-clz-to-math-clz.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-const-to-arith-const.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-convert-to-arith-tofp.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-copysign-to-math-copysign.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-ctz-to-math-ctz.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-demote-to-arith-trunc.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-div-to-arith-div.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-floor-to-math-floor.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-func-to-func.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-global-to-memref-global.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-local-to-memref.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-max-to-arith-maximumf.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-min-to-arith-minimumf.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-mul-to-arith-mul.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-neg-to-arith-neg.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-or-to-arith-or.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-popcnt-to-math-ctpop.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-promote-to-arith-ext.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-reinterpret-to-arith-bitcast.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-rem-to-arith-rem.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-shl-to-arith-shl.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-shr_s-to-arith-shrs.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-shr_u-to-arith-shru.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-sqrt-to-math-sqrt.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-sub-to-arith-sub.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-trunc-to-math-trunc.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-wrap-to-arith-trunc.mlir
    R mlir/test/Conversion/RaiseWasm/wasm-xor-to-arith-xor.mlir

  Log Message:
  -----------
  Revert "[MLIR][WASM] Introduce the RaiseWasmMLIRPass to convert WasmSSA MLIR to core dialects" (#204917)

Reverts llvm/llvm-project#164562

Co-authored-by: Luc Forget <lforg37 at users.noreply.github.com>


  Commit: ec3b4186a0f5bd182692721d14ed50af1f4af47d
      https://github.com/llvm/llvm-project/commit/ec3b4186a0f5bd182692721d14ed50af1f4af47d
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    A libcxx/test/std/language.support/support.types/byte.compile.pass.cpp
    R libcxx/test/std/language.support/support.types/byte.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/and.assign.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/and.pass.cpp
    R libcxx/test/std/language.support/support.types/byteops/enum_direct_init.pass.cpp
    R libcxx/test/std/language.support/support.types/byteops/lshift.assign.compile.fail.cpp
    M libcxx/test/std/language.support/support.types/byteops/lshift.assign.pass.cpp
    R libcxx/test/std/language.support/support.types/byteops/lshift.compile.fail.cpp
    M libcxx/test/std/language.support/support.types/byteops/lshift.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/not.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/or.assign.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/or.pass.cpp
    R libcxx/test/std/language.support/support.types/byteops/rshift.assign.compile.fail.cpp
    M libcxx/test/std/language.support/support.types/byteops/rshift.assign.pass.cpp
    R libcxx/test/std/language.support/support.types/byteops/rshift.compile.fail.cpp
    M libcxx/test/std/language.support/support.types/byteops/rshift.pass.cpp
    R libcxx/test/std/language.support/support.types/byteops/to_integer.compile.fail.cpp
    M libcxx/test/std/language.support/support.types/byteops/to_integer.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/xor.assign.pass.cpp
    M libcxx/test/std/language.support/support.types/byteops/xor.pass.cpp

  Log Message:
  -----------
  [libc++][test] Rewrite tests for `std::byte` (#204116)

Previously, test files for `std::byte` were less than ideal. There were
many issues.
- `byte.pass.cpp` tested many properties which hold for enumeration
types, but failed to verity that `std::byte` is a scoped enumeration
type. Also, it was not a `.compile.pass.cpp`.
- `enum_direct_init.pass.cpp` seemed to be completely redundant.
- It was not tested that compound assignment operators return references
to their left operands.
- Return types of operators were rarely tested.
- Constraints of functions were not tested using SFINAE techniques.
- Test cases were not made run in both constant evaluation and at run
time in the conventional way.

This patch
- rewrites tests for `std::byte` to address these issues,
- expands test coverage for integer types listed in `type_algorithms.h`,
and
- updates lit comments to new-style `// REQUIRES: std-at-least-c++17`.


  Commit: 9f578bc595ca7c1a5ce35b17c483fd6c557d11ef
      https://github.com/llvm/llvm-project/commit/9f578bc595ca7c1a5ce35b17c483fd6c557d11ef
  Author: Damian Höster <damian.hoester at posteo.de>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Reset `Line->IsModuleOrImportDecl` in `addUnwrappedLine` (#204565)

The `IsModuleOrImportDecl` flag was not reset in `addUnwrappedLine`.
Since the parser recycles the `Line` object, this flag remained `true`
for all subsequent lines in the file, which disabled wrapping
(`CanBreakBefore` in `TokenAnnotator.cpp`) for expression-level
constructs after any C++20 module or import statement, causing some
formatting rules to not be applied in places. This patch fixes the issue
by resetting the flag to `false`.

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: f21080724d2067b5acf01893bf2d544b49239161
      https://github.com/llvm/llvm-project/commit/f21080724d2067b5acf01893bf2d544b49239161
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

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

  Log Message:
  -----------
  [LoopCacheAnalysis] Drop isLoopSimplifyForm check (NFCI) (#204822)

This patch removes the isLoopSimplifyForm() check from
LoopCacheAnalysis. This check was problematic when I tried migrating
LoopCachePrinterPass from a loop pass to a function pass (i.e.,
#204807), because the former applies the loop-simplify pass via
FunctionToLoopPassAdapter, whereas the latter does not. I believe this
check is meaningless because the analysis doesn't pay attention to the
details of the actual loop structure. So this change should not affect
the behavior of the pass.


  Commit: 342de06a7692e76a23b30761e576e58e675b65d8
      https://github.com/llvm/llvm-project/commit/342de06a7692e76a23b30761e576e58e675b65d8
  Author: Hazarath <92698778+hazarathayya at users.noreply.github.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    A llvm/test/Transforms/Reassociate/reassociate-distribute.ll

  Log Message:
  -----------
  [Reassociate] Distribute multiply over add to enable factorization (#178201)

### This patch improves ReassociatePass to handle patterns like:
  (x*C1) - ((y+x)*C2) → x*(C1-C2) - (y*C2)

The optimization consists of two changes:

1. Distribution pre-processing: Transform (A+B)*C → A*C + B*C when:
    - The add has exactly one use (avoids code bloat)
    - Both add operands are non-constant (avoids unprofitable cases)
   
   This exposes common factors that would otherwise be hidden inside
   the addition, enabling subsequent factorization.

2. Factorization heuristic: Prefer extracting non-constant factors
   (Instructions/Arguments) over constant factors when occurrence 
   counts are equal. This enables better constant folding opportunities.
   
   Note: undef is excluded from this preference to maintain existing
   test expectations.

Example transformation:
  Input IR:
  ```
  %add = add nsw i16 %y, %x
    %mul1 = mul nsw i16 %x, 8697
    %mul2 = mul nsw i16 %add, 6436
    %sub = sub nsw i16 %mul1, %mul2
    ret i16 %sub
```

  After distribution:
```
    %1 = mul nsw i16 %y, 6436
    %2 = mul nsw i16 %x, 6436
    %3 = add nsw i16 %1, %2
    %sub = sub nsw i16 %mul1, %3
```

  After reassociation (factors %x, folds 8697-6436):
```
    %neg = mul i16 %y, -6436
    %reass.mul = mul i16 %x, 2261
    %result = add i16 %reass.mul, %neg
```

The transformation preserves nsw/nuw flags during distribution.
Note that flags may be dropped by subsequent reassociation passes;
comprehensive flag preservation can be addressed in future work.

Fixes #167190


  Commit: 56262f29ea23c50e82640c8bdc50cc17e9498688
      https://github.com/llvm/llvm-project/commit/56262f29ea23c50e82640c8bdc50cc17e9498688
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M .github/workflows/new-prs.yml

  Log Message:
  -----------
  workflows/new-prs: Use github-automation container (#204706)


  Commit: 68079bb518dcdaec15ee3b202f45701d3a78fa91
      https://github.com/llvm/llvm-project/commit/68079bb518dcdaec15ee3b202f45701d3a78fa91
  Author: Jan Schultke <me at eisenwave.net>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/Sema/builtins-elementwise-math.c

  Log Message:
  -----------
  [clang] Implement `__builtin_elementwise_pext` and `__builtin_elementwise_pdep` (#204296)

Closes #204126

This PR adds `__builtin_elementwise_pext` to emit `@llvm.pext` and `__builtin_elementwise_pdep` to emit `@llvm.pdep`.


  Commit: 9019eff661e2c0e93f2389cf25a59fd24b0dd18a
      https://github.com/llvm/llvm-project/commit/9019eff661e2c0e93f2389cf25a59fd24b0dd18a
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/select-to-cmp.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] Fold trunc scmp/ucmp -> scmp/ucmp with the target type being what we truncate (#196847)

I don't think I need an alive2 for this, since this is basically a
tautology/self-definition.


  Commit: d186503ccc7ad93f695f60302c5def5efc3ac2dd
      https://github.com/llvm/llvm-project/commit/d186503ccc7ad93f695f60302c5def5efc3ac2dd
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove dead code (#204910)

Unions can't have base classes so this is never used.


  Commit: 465c904272709002665bd86765d8f11dc9390a98
      https://github.com/llvm/llvm-project/commit/465c904272709002665bd86765d8f11dc9390a98
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineX86ShufflesRecursively - delay widening shuffle inputs. NFC. (#204931)

Perform resolveTargetShuffleInputsAndMask earlier as widening shouldn't
merge any inputs (we canonicalize small shuffle inputs earlier).

We should be able to move the widenSubVector calls inside
combineX86ShuffleChain in a future commit, but this patch should be NFC.


  Commit: e26ff5491b91c66bb27bfd2b2ca8afe76bb7489d
      https://github.com/llvm/llvm-project/commit/e26ff5491b91c66bb27bfd2b2ca8afe76bb7489d
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp

  Log Message:
  -----------
  [InstCombine] Remove fold with OneUse as there is fold without the check (NFC) (#204925)


  Commit: 2ec6f2870e13bb8807360f2278108b7d5240fe40
      https://github.com/llvm/llvm-project/commit/2ec6f2870e13bb8807360f2278108b7d5240fe40
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/set.ll

  Log Message:
  -----------
  [InstCombine] Fold sext(and/or/xor(trunc nsw x), y) -> and/or/xor(sext(y), x) (#204928)

Proof: https://alive2.llvm.org/ce/z/ntVE_8


  Commit: f6296fb4507e80f507024a28a21654e12543b62e
      https://github.com/llvm/llvm-project/commit/f6296fb4507e80f507024a28a21654e12543b62e
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/zext.ll

  Log Message:
  -----------
  [InstCombine] Fold zext(and/or/xor(trunc nuw x), y) -> and/or/xor(zext(y), x) (#204927)

proof: https://alive2.llvm.org/ce/z/ZORvJ6


  Commit: b2c0c48595ab840c5b949d871302b0d1186acf53
      https://github.com/llvm/llvm-project/commit/b2c0c48595ab840c5b949d871302b0d1186acf53
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll
    M llvm/test/Transforms/InstCombine/or.ll

  Log Message:
  -----------
  [InstCombine] Fold or (ashr X, BW-1), zext (icmp ne|sgt X, 0) to scmp(X, 0) (#196828)

Recognize the bitwise signum encoding
  or (ashr X, BW-1), zext (icmp ne  X, 0) --> llvm.scmp(X, 0)
  or (ashr X, BW-1), zext (icmp sgt X, 0) --> llvm.scmp(X, 0)

Alive2: https://alive2.llvm.org/ce/z/UZ7a7Q


  Commit: bae51e7ffb767d08d684290d34515b91f2cbb2ed
      https://github.com/llvm/llvm-project/commit/bae51e7ffb767d08d684290d34515b91f2cbb2ed
  Author: Arda Serdar Pektezol <arda at pektezol.dev>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Transforms/InstCombine/alloca-big.ll

  Log Message:
  -----------
  [IR] handle oversized constant alloca counts in getAllocationSize (#204540)

AllocaInst::getAllocationSize() unconditionally calls getZExtValue() for
array allocas, which asserts when the constant element count is wider
than 64 bits.

Use tryZExtValue() when reading the constant array size instead. If the
count cannot be represented in uint64_t, return std::nullopt rather than
asserting, matching the existing contract.

Fixes #203519


  Commit: c888371ff0a3e10f8472676dc992f4347fca58d9
      https://github.com/llvm/llvm-project/commit/c888371ff0a3e10f8472676dc992f4347fca58d9
  Author: player <playerc at msn.cn>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/CompileCommands.cpp

  Log Message:
  -----------
  [clangd] Look for resource-dir relative to detected compiler path as a fallback (#203332)

If the standard resource directory (which is searched for relative to the clangd
executable) does not exist, look for one relative to the detected compiler as a
fallback. This handles some packaging schemes where clangd and clang are
installed in different prefixes and the resource directory is only located in the
latter.

Also print an error message to the log if the fallback didn't find an existing
directory either.


  Commit: 0c3c664f32d5b15ae542ed66fa52ebf86974ccaa
      https://github.com/llvm/llvm-project/commit/0c3c664f32d5b15ae542ed66fa52ebf86974ccaa
  Author: Adam Scott <88979030+as4230 at users.noreply.github.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/madd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/sad.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
    M llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
    A llvm/test/Transforms/VectorCombine/X86/shuffle-chain-reduction-subvector.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-chain-reduction-umin.ll
    M llvm/test/Transforms/VectorCombine/fold-shuffle-chains-to-reduce.ll

  Log Message:
  -----------
  [VectorCombine] Add subvector reduction support to foldShuffleChainsToReduce (#199872)

Extends foldShuffleChainsToReduce to recognise subvector reductions
where the chain narrows through shuffles before extracting lane 0.

The matcher tracks per output lane attribution as the chain is walked.
Each lane carries a per source bitmask of contributing source lanes plus
a poison flag. Shuffles permute these records. Binops union them. At the
extract, lane 0's bitmasks rebuild the reduction as one or more partial
reduce intrinsics. The walk is capped at 32 chain nodes.

Also added new test file with 11 tests:

| Test | Reason |
| ------------------------------------------------------ |
--------------------------------------------- |
| `_add_v4i32`, `_add_v8i16`, `_add_v16i8`, `_add_v64i8` | basic
subvector reductions across types/sizes |
| `_mul_v16i8` | non-add reduction |
| `_swapped_v8i16` | root operand swap |
| `_deinterleave_v8i16` | non-contiguous shuffle masks |
| `_multishuffle_accumulator_v8i32` | reduction with multiple shuffle
leaves |
| `_multisource_full_plus_scalar_v4i32` | multi-source reduction chain |
| `_neg_overlapping_masks_v8i16` | overlapping-mask reject case |
| `_neg_different_sources_v8i16` | non-profitable fold reject |


A few patterns the old matcher didn't fold get caught by the new one. In
`extract-binop.ll`, `ext_ext_partial_add_reduction_and_extra_add_v4i32`
mixes two source vectors. The old matcher walked a single chain
bottom-up assuming one source at the leaves so it bailed. The partial
reduction patterns in `load-extractelement-scalarization.ll` fold for
the same reason.

Fixes #197919

---------

Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>


  Commit: 2c022e8d946619602e967924a7291f197119e8a5
      https://github.com/llvm/llvm-project/commit/2c022e8d946619602e967924a7291f197119e8a5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/AArch64/lower-range-metadata-func-call.ll
    M llvm/test/CodeGen/X86/legalize-vec-assertzext.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximumnum.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maxnum.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimumnum.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minnum.ll
    M llvm/test/Verifier/nofpclass-metadata.ll
    A llvm/test/Verifier/nonnull-metadata.ll
    R llvm/test/Verifier/nonnull_metadata.ll
    A llvm/test/Verifier/noundef-metadata.ll
    R llvm/test/Verifier/range-1.ll
    A llvm/test/Verifier/range-metadata.ll
    M llvm/test/tools/llubi/metadata.ll

  Log Message:
  -----------
  [Verifier] Only accept noundef metadata on loads and update metadata tests (#204922)

noundef metadata has been accepted everywhere so far, which seems to be
an oversight. This patch rejects it everywhere except for load
instructions, which seem to be the only ones where it's supposed to be
supported. The other metadata tests are also updated so they are
somewhat similar to each other.


  Commit: cd532fe7fbcb72b6ca7a73f15cc8cb0023e7a9de
      https://github.com/llvm/llvm-project/commit/cd532fe7fbcb72b6ca7a73f15cc8cb0023e7a9de
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopCacheAnalysis.h
    M llvm/lib/Analysis/LoopCacheAnalysis.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/LoopnestFixedSize.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost-m32.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/compute-cost.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/loads-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matmul.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/matvecmul.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/multi-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/single-store.ll
    M llvm/test/Analysis/LoopCacheAnalysis/PowerPC/stencil.ll
    M llvm/test/Analysis/LoopCacheAnalysis/compute-cost.ll
    M llvm/test/Analysis/LoopCacheAnalysis/interchange-cost-beneficial.ll
    M llvm/test/Analysis/LoopCacheAnalysis/interchange-refcost-overflow.ll
    M llvm/test/Analysis/LoopCacheAnalysis/partially-perfect-nest.ll
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  [LoopCacheAnalysis] Generate tests by update_analyze_test_checks.py (#204807)

Since loop interchange has been enabled in the default pipeline,
development on LoopCacheAnalysis, which is used by LoopInterchange, is
becoming more active. So I think it's a good time to support automatic
test generation for LoopCacheAnalysis.
This patch does two things. First, it changes LoopCachePrinterPass from
a loop pass to a function pass to make it possible to use
update_analyze_test_checks.py. Second, it rewrites all the CHECK
directives in the existing LoopCacheAnalysis tests using the script.


  Commit: 6619aa70071db7d3a589fe50474e19c58dbca8f9
      https://github.com/llvm/llvm-project/commit/6619aa70071db7d3a589fe50474e19c58dbca8f9
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
    A llvm/test/CodeGen/AMDGPU/fence-barrier-latency.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/schedule-barrier-latency-gfx9.mir

  Log Message:
  -----------
  [AMDGPU] Use SchedModel latencies for Fence barrier edges (#204657)

For memory->fence dependencies, this PR sets the latency of the edge to
the instr latency of the predecessor memory instruction.

During lowering of these fences, we insert the necessary waitcnts, and
we end up waiting for any outstanding memory op at these fences. Thus,
the latency of the edges should be based on latency of the associated
load/stores.


  Commit: b9c334de33a9a0b5713b191f214de8c3c8990507
      https://github.com/llvm/llvm-project/commit/b9c334de33a9a0b5713b191f214de8c3c8990507
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/insertvalue-reordered-operands.ll

  Log Message:
  -----------
  [SLP] Fix scheduling crash for reordered insertvalue buildvector nodes

Insertvalue nodes keep scalars in program order but reorder operands, like
stores. Remap the operand lane via ReorderIndices for InsertValueInst (not
just StoreInst) in scheduling and the copyable helpers, fixing the
"Operand not found" assertion.

Fixes https://github.com/llvm/llvm-project/pull/200274#issuecomment-4753792761

Reviewers: 

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


  Commit: cb85dfeb3275dce8f00ab7bf18f6ef3734222069
      https://github.com/llvm/llvm-project/commit/cb85dfeb3275dce8f00ab7bf18f6ef3734222069
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    A llvm/test/Transforms/LoopVectorize/shl-shift-amount-out-of-range-scev.ll

  Log Message:
  -----------
  [VPlan] Skip shl->mul SCEV rewrite for out-of-range shift amounts. (#204921)

getSCEVExprForVPValue rewrites `shl x, c` as `x * (1 << c)` using
ScalarEvolution::getPowerOfTwo, which asserts that the power is less
than the type's bit width.

Only perform the rewrite when the shift amount is less than the
operand's bit width, to avoid assertion.


  Commit: 18c1cbce6874a7341f357014befb66d4c11a04a9
      https://github.com/llvm/llvm-project/commit/18c1cbce6874a7341f357014befb66d4c11a04a9
  Author: Sungbin Jo <goranmoomin at daum.net>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
    A llvm/test/tools/llvm-objcopy/MachO/linkedit-alignment.test
    M llvm/test/tools/llvm-objcopy/MachO/linkedit-order-1.test
    M llvm/test/tools/llvm-objcopy/MachO/linkedit-order-2.test
    M llvm/test/tools/llvm-objcopy/MachO/symbol-table.test

  Log Message:
  -----------
  [llvm-objcopy][MachO] Align __LINKEDIT entries to pointer size (#203680)

Align Mach-O __LINKEDIT entries to the target pointer size when building
the tail layout. This matches the behavior of ld64 and lld-macho.

dyld on macOS 27 rejects loading dylibs with misaligned __LINKEDIT
entries.

See #203678 for details and the motivation of this fix.

AI Tool Use Disclosure:

Regarding the PR and the linked issue, I have personally wrote every
single part of the PR by myself, and have/ran/verified every single part
of the issue report as well without any AI tool usage.

I have used LLM-based coding agents only for debugging purposes, e.g. to
figure out why the dylib was not loading (from the original bug report),
and figuring out how to build, run, and test my local `llvm-objcopy`.


  Commit: a891d7b38b31fd7e229f88c2555184713935ea60
      https://github.com/llvm/llvm-project/commit/a891d7b38b31fd7e229f88c2555184713935ea60
  Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.h
    M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp

  Log Message:
  -----------
  [llvm-objcopy][MachO] Use alignToPowerOf2 instead of alignTo (#204033)

During the review of #203680 I noticed that Mach-O objcopy files seems
to use `alignTo` and import `Alignment.h` to align some offsets to page
boundaries and similar requirements. However, the `alignTo` in
`Alignment.h`, while being intended for powers of 2, requires using an
alignment of type `llvm::Align`, and needs explicit conversion from
`uint64_t` and similar. Single `Alignment.h` includes `MathExtras.h`,
the `alignTo` being invoked ends up being a generic `alignTo` that does
not require powers of 2, and perform divisions and multiplications.
While some of those might be optimized by the compiler into efficient
power of 2 operations, there's an explicit `alignToPowerOf2` version
that is optimized and asserts the alignment is a power of 2 (with
asserts enabled). Since all the alignments should be power of 2 for the
Mach-O binary format, change from `alignTo` to `alignToPowerOf2` to make
the fact more visible (and get the extra safety net of the assertions).

As expected, the test suite of objcopy doesn't show any regressions, but
I have not done a performance benchmark around this either.


  Commit: d0c27761d4f1e25d1ab4b672d23bc7e46f517bcd
      https://github.com/llvm/llvm-project/commit/d0c27761d4f1e25d1ab4b672d23bc7e46f517bcd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/test/Analysis/BasicAA/phi-aa.ll
    M llvm/test/Analysis/BasicAA/phi-and-select.ll
    M llvm/test/Analysis/BasicAA/recphi.ll

  Log Message:
  -----------
  [BasicAA] Add additional tests with GEPs with phi/select pointer ops (NFC) (#204947)


  Commit: 5502491546363465ef2b58dbf5821a67a3be6164
      https://github.com/llvm/llvm-project/commit/5502491546363465ef2b58dbf5821a67a3be6164
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

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

  Log Message:
  -----------
  [VPlan] Properly check predicates and types in canNarrowOps. (#204948)

Update canNarrowOps to properly check the types of all members match.
Similarly, for recipes with predicates, the predicates must match.


  Commit: 3c5f0c2d3e00a22a275f404bac29ce62c69d95d5
      https://github.com/llvm/llvm-project/commit/3c5f0c2d3e00a22a275f404bac29ce62c69d95d5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll

  Log Message:
  -----------
  [VPlan] Add memory op decision test for scalarizing loads. (NFC) (#204949)

VPlan printing tests for
https://github.com/llvm/llvm-project/pull/196842


  Commit: 959f069f442d75dd7c365cb608140693e834b93e
      https://github.com/llvm/llvm-project/commit/959f069f442d75dd7c365cb608140693e834b93e
  Author: jofrn <jo7frn1 at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/X86/atomic-load-store.ll

  Log Message:
  -----------
  [SelectionDAG] Keep split vector atomic store value in a vector register (#201566)

When the value of an ATOMIC_STORE has a vector type whose legalization
action is split (e.g. <4 x half>/<4 x bfloat> on X86 without F16C),
SplitVecOp_ATOMIC_STORE bitcast the value straight to a scalar integer
spanning the memory width. For a split vector that bitcast is expanded
element by element, reassembling the value in GPRs (a long pextrw/shl/or
sequence) before the store.

Instead, keep the value in a vector register when a legal vector form
exists: reinterpret it as a same-shaped integer-element vector (an FP
element type may have no legal vector form, e.g. bfloat on SSE2, while
the integer-of-element-size form does), widen that to a legal vector,
and extract the low integer element of the memory width. This issues the
store directly from a vector register (a single MOVQ/MOVD on X86),
matching the widen-path codegen already produced on AVX targets. Falls
back to the scalar bitcast when no suitable legal vector type exists.

Stacked on top of https://github.com/llvm/llvm-project/pull/197861; and
below of #197862.


  Commit: 61d601e796beef1b891ca437dd3167fbabad4451
      https://github.com/llvm/llvm-project/commit/61d601e796beef1b891ca437dd3167fbabad4451
  Author: Zach Goldthorpe <Zach.Goldthorpe at amd.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

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

  Log Message:
  -----------
  [AMDGPU][VOPD] Cache load reachability checks in VOPDpairing (#204854)

#201930 causes significant compilation time regression when building
ROCm mathlibs.

Major regressions are caused by repeated queries to `DAG->IsReachable`
to detect possible scalarisation of loads when fusing a pair of
VOPD-capable instructions.
This patch caches the set of reachable loads for every potentially
hazardous load instruction to avoid the need to invoke
`DAG->IsReachable` at all.


  Commit: afac572cd4c58b02ebe9a72c04f63a91dccc7901
      https://github.com/llvm/llvm-project/commit/afac572cd4c58b02ebe9a72c04f63a91dccc7901
  Author: owenca <owenpiano at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M clang/test/CMakeLists.txt

  Log Message:
  -----------
  [clang] Add clang-format-check-format instead to CLANG_TEST_DEPS (#204908)

Ensure that clang-format doesn't break the existing format of its own
source.

Reverts #199169 and #199638.


  Commit: ec56065709fe771c90da191f107126ac71bc09ad
      https://github.com/llvm/llvm-project/commit/ec56065709fe771c90da191f107126ac71bc09ad
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M .github/workflows/new-prs.yml

  Log Message:
  -----------
  workflows/new-prs: Remove obsolete code (#204955)

This was left over after 57e4352de0d2617bae1656dc2e2b3ca430e83c4c and
causing the jobs to fail.


  Commit: 9d6c686a8a77e8c5ff9b42803c1bf07bcc1b66b3
      https://github.com/llvm/llvm-project/commit/9d6c686a8a77e8c5ff9b42803c1bf07bcc1b66b3
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/Session.h
    M orc-rt/lib/executor/Session.cpp

  Log Message:
  -----------
  [orc-rt] Sink Session::sendWrapperResult into Session.cpp. NFC. (#204956)

This function is never called inline (except by Session::wrapperReturn,
which is also in Session.cpp), so there's no need for it to be in the
header.


  Commit: 7376a706150289cf60fb3648e75e909ab6e86f68
      https://github.com/llvm/llvm-project/commit/7376a706150289cf60fb3648e75e909ab6e86f68
  Author: Tamir Duberstein <tamird at gmail.com>
  Date:   2026-06-20 (Sat, 20 Jun 2026)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_platform.h

  Log Message:
  -----------
  [tsan] fit Go/s390x mapping under QEMU (#204503)

QEMU linux-user first tries guest_base=0. In that identity-mapped mode,
fixed guest mappings use the same host addresses. On an x86-64 host
with four-level page tables, the Go/s390x meta shadow starts at
144 TiB, beyond the 128 TiB userspace limit, and its mmap fails with
ENOMEM during TSan initialization.

Move the meta shadow down by 32 TiB to
[0x700000000000, 0x780000000000), restoring the 16 TiB gap after the
shadow and placing all Go/s390x TSan regions below 2^47. Correct the
mapping comment's shadow size and ratio.

Failure report and native s390x comparison:
https://github.com/golang/go/issues/67881

QEMU identity guest-base selection:

https://github.com/qemu/qemu/blob/v10.2.3/linux-user/elfload.c#L1036-L1042

QEMU guest-to-host address translation:

https://github.com/qemu/qemu/blob/v10.2.3/include/user/guest-host.h#L46-L50

QEMU fixed-mapping implementation:
https://github.com/qemu/qemu/blob/v10.2.3/linux-user/mmap.c#L600-L628

x86-64 four-level paging documentation:
https://docs.kernel.org/arch/x86/x86_64/5level-paging.html


  Commit: f42072ed8de552ce25b7a978c052acca6ab13246
      https://github.com/llvm/llvm-project/commit/f42072ed8de552ce25b7a978c052acca6ab13246
  Author: Jan Schultke <me at eisenwave.net>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp
    A llvm/test/Analysis/ValueTracking/knownbits-pdep.ll
    A llvm/test/Analysis/ValueTracking/knownbits-pext.ll
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [Analysis] Add `KnownBits` optimization for `pdep` and `pext` (#204223)

Fixes #204136


  Commit: 8947e494f92e37d036ec22b79464368292eae177
      https://github.com/llvm/llvm-project/commit/8947e494f92e37d036ec22b79464368292eae177
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

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

  Log Message:
  -----------
  [InstCombine] Move alignment assumptions to the base of constant offset GEPs (#204602)


  Commit: 71c2feb30426af725dd93297b9dccc18f8210a0e
      https://github.com/llvm/llvm-project/commit/71c2feb30426af725dd93297b9dccc18f8210a0e
  Author: shivaramaarao <58245296+shivaramaarao at users.noreply.github.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M flang/test/Integration/split-lto-unit-2.f90

  Log Message:
  -----------
  Support for -fsplit-lto-unit option in flang driver (#204904)

Fix for buildbot failures in #202858

This commit fixes a regression introduced in commit
12aefe26cedd9a8f94546cc1f2be285cfddcc861 (Support for -fsplit-lto-unit
option in flang driver). When the compiler is built only for aarch64 one
of the testcase failed.

Added explicit check %if x86-registered-target for this testcase to
resolve the issue.


  Commit: 441725611d0e166a144ac85665bf0ac3611851de
      https://github.com/llvm/llvm-project/commit/441725611d0e166a144ac85665bf0ac3611851de
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/vplan-native-outer-loop-wide-type.ll

  Log Message:
  -----------
  [LV] Avoid zero-width VF in computeVPlanOuterloopVF. (#204918)

RegSize / WidestType may be 0 for types wider than the vector register
size. Clamp VF to at least 1 (scalar), to avoid a crash. This matches
inner loop behavior.


  Commit: 9b36e4fbc789201228ca9b40524996e13959505a
      https://github.com/llvm/llvm-project/commit/9b36e4fbc789201228ca9b40524996e13959505a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M orc-rt/include/CMakeLists.txt
    A orc-rt/include/orc-rt/QueueingRunner.h
    R orc-rt/include/orc-rt/QueueingTaskDispatcher.h
    M orc-rt/include/orc-rt/Session.h
    R orc-rt/include/orc-rt/TaskDispatcher.h
    A orc-rt/include/orc-rt/ThreadPoolRunner.h
    R orc-rt/include/orc-rt/ThreadPoolTaskDispatcher.h
    M orc-rt/lib/executor/CMakeLists.txt
    R orc-rt/lib/executor/QueueingTaskDispatcher.cpp
    M orc-rt/lib/executor/Session.cpp
    R orc-rt/lib/executor/TaskDispatcher.cpp
    A orc-rt/lib/executor/ThreadPoolRunner.cpp
    R orc-rt/lib/executor/ThreadPoolTaskDispatcher.cpp
    M orc-rt/unittests/BootstrapInfoTest.cpp
    M orc-rt/unittests/CMakeLists.txt
    M orc-rt/unittests/CommonTestUtils.h
    M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
    M orc-rt/unittests/NativeDylibManagerTest.cpp
    A orc-rt/unittests/QueueingRunnerTest.cpp
    R orc-rt/unittests/QueueingTaskDispatcherTest.cpp
    M orc-rt/unittests/SessionTest.cpp
    M orc-rt/unittests/SimpleNativeMemoryMapSPSCITest.cpp
    M orc-rt/unittests/SimpleNativeMemoryMapTest.cpp
    A orc-rt/unittests/ThreadPoolRunnerTest.cpp
    R orc-rt/unittests/ThreadPoolTaskDispatcherTest.cpp

  Log Message:
  -----------
  [orc-rt] Replace TaskDispatcher with Session-supplied wrapper-runner. (#204965)

TaskDispatcher was only used to run wrapper-function calls that
originated from the controller. Replace it with a callable type:

  Session::RunWrapperCall = move_only_function<void(
      orc_rt_SessionRef, uint64_t, orc_rt_WrapperFunctionReturn,
      orc_rt_WrapperFunction, WrapperFunctionBuffer)>

Each call carries an outstanding ManagedCodeTaskGroup token; the runner
must eventually invoke Fn (which calls Return) or call Return directly
to bail out, otherwise Session shutdown blocks indefinitely.

Clients can supply any callable that satisfies the contract above. The
new QueueingRunner and ThreadPoolRunner classes (replacing
QueueingTaskDispatcher and ThreadPoolTaskDispatcher, respectively) are
provided as off-the-shelf options.


  Commit: a12b7af17a70f810ac3abe906b42930307efdaf0
      https://github.com/llvm/llvm-project/commit/a12b7af17a70f810ac3abe906b42930307efdaf0
  Author: Harishankar.1 <88716735+Harishankar14 at users.noreply.github.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/test/CodeGen/X86/bmi.ll

  Log Message:
  -----------
  [X86] Select BLSI for i8 operands (#202344) (#204746)

Adds a tablegen pattern to select BLSI 32 for `and (neg x), x` at i8.

Fixes #202344


  Commit: e0cc08dc1121126392df2b832ee060a60cca6dc3
      https://github.com/llvm/llvm-project/commit/e0cc08dc1121126392df2b832ee060a60cca6dc3
  Author: Akash Deo <AkashDeo2025 at u.Northwestern.edu>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Headers/avx512vlvnniintrin.h
    M clang/lib/Headers/avx512vnniintrin.h
    M clang/lib/Headers/avxvnniintrin.h
    M clang/test/CodeGen/X86/avx512vlvnni-builtins.c
    M clang/test/CodeGen/X86/avx512vnni-builtins.c
    M clang/test/CodeGen/X86/avxvnni-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for VNNI intrinsics (#190549)

Fixes #161340.

It adds constexpr support for VNNI
intrinsics by modifying their header files, their TableGen definitions,
how they're interpreted in InterpBuiltin.cpp and ExprConstant.cpp, and
adds unit tests in the headers' corresponding unit test files.


  Commit: 4f3eb803343711c69e287da8a3272ab9449b53a9
      https://github.com/llvm/llvm-project/commit/4f3eb803343711c69e287da8a3272ab9449b53a9
  Author: Kern Handa <kernhanda at users.noreply.github.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp

  Log Message:
  -----------
  [Xtensa] Call isUInt<8> in range-check asserts (#204731)

`printOffset8m8_AsmOperand` and `getSelect_256OpValue` assert on
`isUInt<8>` without calling it, so the expression takes the function's
address and the range check never runs. This also trips
`-Werror,-Wpointer-bool-conversion` in builds with assertions enabled.
Pass the operand value so the bound is actually checked.


  Commit: 3b46feb29499a3a43a166b36ce59bb6d49ec6682
      https://github.com/llvm/llvm-project/commit/3b46feb29499a3a43a166b36ce59bb6d49ec6682
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-tail-folding.ll

  Log Message:
  -----------
  [VPlan] Allow plain active lane mask in LastActiveLane verifier. (#204982)

Active lane masks are prefix masks. After simplifying the backedge, we
may end up with an active-lane-mask operand of LastActiveLane that does
not match the header mask predicate.

This fixes a verifier failure for the new test.


  Commit: d6d4921b71e66540bcf582e41b202d533fbfe762
      https://github.com/llvm/llvm-project/commit/d6d4921b71e66540bcf582e41b202d533fbfe762
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/utils/gn/build/write_cmake_config.gni
    M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn

  Log Message:
  -----------
  [gn] Fix missing dependency (#204991)

This fixes an oversight in 27d344d36ecac364.


  Commit: 6542d6dec0110452ede41f58938b4225f2d92a98
      https://github.com/llvm/llvm-project/commit/6542d6dec0110452ede41f58938b4225f2d92a98
  Author: David Green <david.green at arm.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/test/CodeGen/Thumb2/cmpxchg.mir

  Log Message:
  -----------
  [ARM] Use lo tCMPr opcode when expanding CMP_SWAP (#204567)

We were always generating the tCMPhir even when the registers were both
low, which is an unpredictable instruction. Generating tCMPr instead
when both the registers are low.

Fixes #204519.


  Commit: 48c0a2a551bc0116298a28e67c368b052469641d
      https://github.com/llvm/llvm-project/commit/48c0a2a551bc0116298a28e67c368b052469641d
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/ucmp.ll

  Log Message:
  -----------
  Revert "[Legalizer] Add support for promoting integers for s/ucmp (#198554) (#204978)

This reverts commit 91edd87a801fc5c9d12c7f5c6863edd50327cef8.

It was causing CI failures for Linux.


  Commit: 47fd9ed9e958bf6df1d2fdaa50f70501271f27af
      https://github.com/llvm/llvm-project/commit/47fd9ed9e958bf6df1d2fdaa50f70501271f27af
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 60a2d437bd04 (#204996)


  Commit: d3b48ccccb3a826515e8bc0def3c9fa3b24880a2
      https://github.com/llvm/llvm-project/commit/d3b48ccccb3a826515e8bc0def3c9fa3b24880a2
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port a64928f267f3 (#204997)


  Commit: a3230900a8809a45ac3952af186cf03d87183cfb
      https://github.com/llvm/llvm-project/commit/a3230900a8809a45ac3952af186cf03d87183cfb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Add VPReplicateRecipe::getNumOperandsWithoutMask (NFC) (#205004)

Add a getNumOperandsWithoutMask helper to VPReplicateRecipe, mirroring
the existing VPInstruction::getNumOperandsWithoutMask, and use it to
replace some hand-rolled code.


  Commit: 5bb5410d5b6d289a0a402ed4de052eb86e8bce5f
      https://github.com/llvm/llvm-project/commit/5bb5410d5b6d289a0a402ed4de052eb86e8bce5f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

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

  Log Message:
  -----------
  [VPlan] Use pattern matching in isUsedByLoadStoreAddress (NFC) (#205008)

Replace the hand-written check for a VPReplicateRecipe load/store using
the value as its address with VPlan pattern matching via
m_Unary/m_Binary, which also handle masked recipes uniformly.


  Commit: d1744cf76fbea0c407c5e793a380ffca4e5829be
      https://github.com/llvm/llvm-project/commit/d1744cf76fbea0c407c5e793a380ffca4e5829be
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M orc-rt/include/CMakeLists.txt
    A orc-rt/include/orc-rt/InProcessControllerAccess.h
    M orc-rt/lib/executor/CMakeLists.txt
    A orc-rt/lib/executor/InProcessControllerAccess.cpp
    M orc-rt/unittests/CMakeLists.txt
    A orc-rt/unittests/InProcessControllerAccessTest.cpp

  Log Message:
  -----------
  [orc-rt] Add InProcessControllerAccess class. (#204976)

Adds a Session::ControllerAccess implementation for in-process JIT
setups, where the controller (LLVM-side) and the executor (orc-rt) live
in the same address space.

The two sides communicate through a refcounted C-ABI struct (Connection)
of function pointers. The C-only interface avoids assuming a common C++
ABI between the two sides and supports symmetric, graceful disconnect:
when either side calls Connection::Disconnect, in-flight cross-calls are
drained and pending continuations are surfaced as out-of-band errors,
after which further cross-calls fail cleanly.

This is intended to be paired with a new ExecutorProcessControl
implementation (llvm::orc::InProcessEPC) on the LLVM side, landing in a
follow-up commit. Unit tests are included covering construction without
connect, attach via Session, OnConnect-failure detach, successful and
out-of-band-error call cases, and the disconnect-drains-pending
behavior.


  Commit: 2e87cf8c2b8ec6453ccfa7e448d5b33f1d71a2ca
      https://github.com/llvm/llvm-project/commit/2e87cf8c2b8ec6453ccfa7e448d5b33f1d71a2ca
  Author: jofrn <jo7frn1 at gmail.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/ARM/atomic-load-store.ll
    M llvm/test/CodeGen/X86/atomic-load-store.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll

  Log Message:
  -----------
  [AtomicExpand] Add bitcasts when expanding store atomic vector (#197862)

AtomicExpand fails for aligned `store atomic <n x T>` because it
does not find a compatible library call. This change adds appropriate
ptrtoint + bitcast so that the call can be lowered, mirroring the
load-side handling.

Store-side counterpart to #148900. Stacked on top of
https://github.com/llvm/llvm-project/pull/201566.


  Commit: bc047d40eb3a17451af586a973d6a0e5e4f0fd5c
      https://github.com/llvm/llvm-project/commit/bc047d40eb3a17451af586a973d6a0e5e4f0fd5c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/ScopeExit.h
    M orc-rt/lib/executor/AllocAction.cpp
    M orc-rt/unittests/ScopeExitTest.cpp

  Log Message:
  -----------
  [orc-rt]R Align scope-exit with LLVM (rename to scope_exit, use CTAD) (#205020)

This renames the orc_rt::detail::ScopeExitRunner class to
orc_rt::scope_exit and adds a class template argument deduction guide.


  Commit: 75fbd791638e583eb5bf483906fb5a75b7ab18b0
      https://github.com/llvm/llvm-project/commit/75fbd791638e583eb5bf483906fb5a75b7ab18b0
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lld/MachO/ICF.cpp
    A lld/test/MachO/icf-safe-data-addrsig.s

  Log Message:
  -----------
  [lld-macho] Relax safe ICF's keepUnique for ld64-coalesced data sections (#193125)

#188400 regressed data-section folding under --icf=safe{,_thunks}:
no-addrsig fallback, and over-broad compiler-emitted addrsig entries
covering data symbols, both caused markSymAsAddrSig to set keepUnique on
data sections, after which foldIdenticalSections refused to fold them.

ld64 coalesces __cfstring, __objc_classrefs and __objc_selrefs
unconditionally regardless of addrsig, so ignore keepUnique for them as
a workaround for the imprecise addrsig payload.


  Commit: fc7bcd0ce864c631b7429f795249ea8cef6634a7
      https://github.com/llvm/llvm-project/commit/fc7bcd0ce864c631b7429f795249ea8cef6634a7
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp

  Log Message:
  -----------
  [clang][RISCV] Handle VLS CC on unsupported primitive type in aggregate type (#203898)

We handled this for pure vector type before but missed the aggregate
types, this patch try to apply same mechanism on them where unsupported
vector types are converted to same size i8 vector types.


  Commit: f571abab7c49a57cbb0fbaa6e5a0d65c39ab0c03
      https://github.com/llvm/llvm-project/commit/f571abab7c49a57cbb0fbaa6e5a0d65c39ab0c03
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_s.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_u.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_s.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_u.c
    M clang/test/Sema/sifive-xsfmm.c

  Log Message:
  -----------
  [llvm][RISCV] Revise xsfmm intrinsic interface. (#201527)

This patch does 2 things:
1. Change matmul interface to use newly defined OFP8 RVV types.
2. change all of matmul overloaded interfaces to only keep only widen
information and eliminate types information.


  Commit: b68b8232ff72535ca1bb43832029cbb480bcbf3f
      https://github.com/llvm/llvm-project/commit/b68b8232ff72535ca1bb43832029cbb480bcbf3f
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/test/MC/Mips/mips64r6/invalid.s

  Log Message:
  -----------
  [Mips] Fix Clang crashes when assembling MIPS64r6 LDPC with non-8-byte-aligned offset (#204320)

Fix #184959.


  Commit: 72b891b75f85cd8be4ac125f36f1bc9a97c8e185
      https://github.com/llvm/llvm-project/commit/72b891b75f85cd8be4ac125f36f1bc9a97c8e185
  Author: Fan Mo <w007878 at hotmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/instantiate-member-template.cpp

  Log Message:
  -----------
  [clang] Avoid assertion on invalid member template specialization (#201506)

fixes #201490 

It would be possible to have `PrevClassTemplate == false` when `SS` was
invalid.

Since it is already invalid, it would be safe to skip
`setMemberSpecialization` for `NewTemplate`. When the qualified scope
specifier is invalid, Sema may have already diagnosed the declaration
and marked it invalid. In that case there may be no previous class
template declaration, so the assertion is too strong. Avoid marking the
new declaration as a member specialization unless the previous class
template exists.


  Commit: 6f98573ebdd8fa826aa841f48e6ed7e671900ecc
      https://github.com/llvm/llvm-project/commit/6f98573ebdd8fa826aa841f48e6ed7e671900ecc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M orc-rt/include/CMakeLists.txt
    R orc-rt/include/orc-rt/ScopeExit.h
    A orc-rt/include/orc-rt/scope_exit.h
    M orc-rt/lib/executor/AllocAction.cpp
    M orc-rt/unittests/CMakeLists.txt
    R orc-rt/unittests/ScopeExitTest.cpp
    A orc-rt/unittests/scope_exit-test.cpp

  Log Message:
  -----------
  [orc-rt] Rename scope_exit header, add nodiscard attribute. (#205030)

The rename brings the scope_exit type's header name into alignment with
other ORC runtime snake_case types.

The [[nodiscard]] attribute should help to prevent accidental misuse of
the type.


  Commit: 6a2128a933cbeaccfbff2b81cd9ee2ed80e6071d
      https://github.com/llvm/llvm-project/commit/6a2128a933cbeaccfbff2b81cd9ee2ed80e6071d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-06-21 (Sun, 21 Jun 2026)

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

  Log Message:
  -----------
  [ProfileData] Lazy-load fixed-length MD5 name table (#202014)

When reading extensible binary format profiles with fixed-length MD5
name tables, the reader eagerly allocates and populates a
std::vector<FunctionId> to store the name table.  This eager loading
is particularly wasteful when ProfileIsCS is false, as we populate the
entire name table just to support lookups during profile ingestion,
even though we may only use a subset of the profile.  Since FunctionId
is 16 bytes on 64-bit systems, a name table containing 10 million MD5
hash values would consume 160MB of heap memory.

This patch implements lazy loading for the name table in extensible
binary format profiles when the fixed-length MD5 layout is used.

Specifically, this patch introduces SampleProfileNameTable to
encapsulate the name table representation, supporting both lazy
loading (pointing directly to the memory-mapped buffer) and eager
loading (using a vector).  Eager loading is retained as a fallback for
layouts that do not support O(1) random access (such as
variable-length string tables).

The reader transitions between these modes using setLazy and
resetToEager.  The getNameTable interface is updated to return an
iterator_range of SampleProfileNameTable::iterator, which reads the
MD5 values directly from the buffer on-demand when lazy-loaded.

- Heap consumption: Saves 16 bytes of heap memory for each name table
  entry by avoiding the std::vector allocation.

- Compilation performance: Saves about 4% on ThinLTO pre-link and 10%
  on ThinLTO backend on shared and non-shared profiles.


  Commit: 1092b2bad2edf9ee11a9d8e641a22f5b46922a4c
      https://github.com/llvm/llvm-project/commit/1092b2bad2edf9ee11a9d8e641a22f5b46922a4c
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/AMDGPUAsyncOperations.rst

  Log Message:
  -----------
  [AMDGPU] Improve the description of asyncmark semantics (#202579)

- The semantics of asyncmarks is now defined purely in terms of
sequences, without referring to the implementation.
- The examples incorrectly used (post)dominance. Fixed that with wording
in terms of asyncmark sequences.


  Commit: 9f0b22c61153e8390e3eed74e4a9cf1160bd71fe
      https://github.com/llvm/llvm-project/commit/9f0b22c61153e8390e3eed74e4a9cf1160bd71fe
  Author: lrzlin <linrunze at loongson.cn>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll

  Log Message:
  -----------
  [LoongArch] Custom scalar UINT_TO_FP and FP_TO_UINT with LSX instructions (#200901)

Using `vftintrz.lu.d` for converting scalar double/float values to
unsigned 64-bit integers, and `vffint.d.lu` vice versa.


  Commit: de045d579791d978cce109f9348d20560e112d74
      https://github.com/llvm/llvm-project/commit/de045d579791d978cce109f9348d20560e112d74
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/SimplePackedSerialization.h

  Log Message:
  -----------
  [orc-rt] Tidy up some SPS tag types. NFC. (#205038)

Replaces class definitions with decls for tag types that don't need a
body, and moves the SPSError tag down to just above it's
serialization-traits class.


  Commit: 15a3238566e799e3dd0e473672307712be8528e6
      https://github.com/llvm/llvm-project/commit/15a3238566e799e3dd0e473672307712be8528e6
  Author: Weiwen He <60433849+he-weiwen at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/extend-bool-vector-load.ll

  Log Message:
  -----------
  [AArch64] Lower extends of boolean vector loads via scalar load (#203394)

Replace a `load <N x i1>` under a sext/zext with a scalar load +
bitcast, so the `combineToExtendBoolVectorInReg` helper can apply,
avoiding scalarization.

Optimisation for the SVE case with a predicate load to be added in a
follow up.

Fixes #200325


  Commit: 6d66cc1e0e953e996048e93a9fa3e1c6b9a27642
      https://github.com/llvm/llvm-project/commit/6d66cc1e0e953e996048e93a9fa3e1c6b9a27642
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/SimplePackedSerialization.h
    M orc-rt/unittests/SimplePackedSerializationTest.cpp

  Log Message:
  -----------
  [orc-rt] Add SPS serialization for ExecutorAddrRange. (#205041)

Allows SPS serialization to/from ExecutorAddrRange. This will be used in
upcoming patches for compact-unwind registration support.


  Commit: 25e4057d49055a645dc6a51ae1f40ac647aaed5b
      https://github.com/llvm/llvm-project/commit/25e4057d49055a645dc6a51ae1f40ac647aaed5b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/AST/ByteCode/command-line-options.cpp

  Log Message:
  -----------
  [clang] Respect `CLANG_USE_EXPERIMENTAL_CONST_INTERP` (#200716)

Seems like https://github.com/llvm/llvm-project/pull/199396 had no
effect at all, even though the patch itself seems pretty obvious.


Change the semantics of the command-line option to support
`-fno-experimental-constant-interpreter` as well. This way, the cmake
option can be used to set the default and the `-f`/`-fno-` command-line
options can be used to override the default behavior.


  Commit: 64ad10fcda6952b78b81075d93a31364337ef8f4
      https://github.com/llvm/llvm-project/commit/64ad10fcda6952b78b81075d93a31364337ef8f4
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/AMDGPUExecutionSynchronization.rst

  Log Message:
  -----------
  [AMDGPU][doc] Refactor Barrier Execution Model (#204566)

Remove everything that has to do with named barriers and put it in a
series of model extensions specific to /sbarrier/named-barriers.

I had to change a few things to make it fit, in summary:

Base Model:

- (~) Stylistic changes that make it easier to refer to specific rules.
Each rule is in a rubric instead of a bullet point.
- (-) No longer defines `barrier-mutually-exclusive`
- (-) No longer defines barrier `join` and any associated rule.

New named barrier extensions

- (+) Define "named barrier" as a sub-type of barrier objects. This
makes barrier-mutually-exclusive redundant.
- (+) Define barrier join as an op that can exclusively be done on
`named barrier objects`.
- (+) Define rules relating to join and its ordering with other barrier
operations

Following these changes, the target tables changed a bit as well.

Motive: Barrier _join_ + `barrier-mutually-exclusive` only ever makes
sense when considering named barriers in the ISA. They are an alien
concept to higher-level barrier abstractions.

_Join_ has especially been a pain to deal with and explain in the
general, high-level execution model. Kicking it down into an extension
allows to keep the base model much more concise. As the model extension
is defined w.r.t. the ISA, it's an appropriate place to surface
ISA-specific restrictions. For example we don't need to dance around the
concept of "each thread is a member of at most one named barrier" with
`barrier-mutually-exclusive`. We can just say it straight away when
describing the behavior of _join_ in the model extension.


  Commit: ff0e4f0830f7913a3c66b28cafcc7dae2a6e10d6
      https://github.com/llvm/llvm-project/commit/ff0e4f0830f7913a3c66b28cafcc7dae2a6e10d6
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [AArch64][NFC] Refactor duplicate code into getCmpOrCmnOperandFoldingProfit (#198981)


  Commit: 5492d06d4fb99795b3b7247be374cdcb47f5ac03
      https://github.com/llvm/llvm-project/commit/5492d06d4fb99795b3b7247be374cdcb47f5ac03
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/CodeGen/VE/Scalar/atomic.ll
    M llvm/test/CodeGen/VE/Scalar/atomic_cmp_swap.ll
    M llvm/test/Transforms/IRCE/correct-loop-info.ll
    M llvm/test/Transforms/IndVarSimplify/lcssa-preservation.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
    M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinsics.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/RISCV/shuffle-of-intrinsics.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
    M polly/test/CodeGen/scop_expander_insert_point.ll

  Log Message:
  -----------
  [IRBuilder] (Target|InstSimplify)-fold intrinsics (#204967)

Includes changes to guard against a nullptr TLI and Call. TargetFold or
InstSimplify fold in IRBuilderBase::CreateIntrinsic, in the same way we
fold in Create(Unary|Binary)Intrinsic.


  Commit: 5951daf0f0cf67a0c75ced322c88aef86c9349de
      https://github.com/llvm/llvm-project/commit/5951daf0f0cf67a0c75ced322c88aef86c9349de
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/narrow-interleave-groups-scalable-vf.ll
    M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
    M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/LoopVectorize/scalable-noalias-scope-decl.ll
    M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/vector-freeze.ll
    M llvm/test/Transforms/LoopVectorize/vscale-cost.ll

  Log Message:
  -----------
  [LV] Allow scalable VFs in `-force-vector-width` (and use in tests) (#204953)

This updates `-force-vector-width=VF` to accept scalable VFs. If a
scalable width is specified it is assumed the target supports scalable
vectors.

So for example, `-force-vector-width="vscale x 4"` works as a shorthand
for `-scalable-vectorization=always -force-target-supports-scalable-vectors=true -force-vector-width=4`.


  Commit: e4df7391e49f0d1188d544f22db265ba9c30da3e
      https://github.com/llvm/llvm-project/commit/e4df7391e49f0d1188d544f22db265ba9c30da3e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.h
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU] Remove stale declarations. NFC. (#205047)

Remove declarations of functions that are never defined. Also remove
unused field AMDGPUInstructionSelector::TM.

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


  Commit: 0972d5c5c11a5dfd8c6a60ef018129157522e139
      https://github.com/llvm/llvm-project/commit/0972d5c5c11a5dfd8c6a60ef018129157522e139
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/AST/Decl.h

  Log Message:
  -----------
  [clang][NFC] Add LLVM_PREFERRED_TYPE to EvaluatedStmt bitfields (#205026)


  Commit: 6be53ab5da701ca6939c818fbe8cdbb633ab2409
      https://github.com/llvm/llvm-project/commit/6be53ab5da701ca6939c818fbe8cdbb633ab2409
  Author: Nathan Corbyn <n_corbyn at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/pr204118.mir
    A llvm/test/CodeGen/AArch64/pr204118.ll

  Log Message:
  -----------
  [AArch64][GISel] Remove hard-coded operand index from FCVT renderers (#204118)


  Commit: 6daa02101815f4b2a6851fba8d8bedbfffd1e72c
      https://github.com/llvm/llvm-project/commit/6daa02101815f4b2a6851fba8d8bedbfffd1e72c
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Check same input/output types in pooling ops verifier (#203565)

Adds a missing check to make sure the input and output types of pooling
ops have the same element type.


  Commit: b0bf2c796915821d8bda7d136fe4eec62603454f
      https://github.com/llvm/llvm-project/commit/b0bf2c796915821d8bda7d136fe4eec62603454f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/docs/ConstantInterpreter.rst

  Log Message:
  -----------
  [clang][bytecode] Update high-level documentation (#202596)


  Commit: 3aeb6c1f3322b57fe102b7c87d8fd17f87454195
      https://github.com/llvm/llvm-project/commit/3aeb6c1f3322b57fe102b7c87d8fd17f87454195
  Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td
    M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Re-enable bf16/fp8 for vector composite ops (#204848)

Allow bf16 and fp8 vector element types in VectorExtractDynamic,
VectorInsertDynamic, and VectorShuffle.


  Commit: b5dfea08588fc64b0ce5cea685b275ed3de400de
      https://github.com/llvm/llvm-project/commit/b5dfea08588fc64b0ce5cea685b275ed3de400de
  Author: Deepak Shirke <117824396+deepakshirkem at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    A llvm/test/CodeGen/ARM/machine-outliner-thunk-tcgpr.mir

  Log Message:
  -----------
  [ARM] Fix Machine Outliner crash when tBLXr uses non-tcGPR register  (#200684)

When the Machine Outliner selects MachineOutlinerThunk mode for a
sequence ending in tBLXr/tBLXr_noip, it converts the indirect call to
tTAILJMPr in buildOutlinedFrame. However tTAILJMPr requires its operand
to be in tcGPR (R0-R3, R12), while tBLXr accepts any GPR.

If the register is callee-saved (e.g. r4), the Machine Verifier crashes
with 'Illegal physical register for instruction'.

Fixes #188076


  Commit: 0b1fe74f079fd330e4d4d85ce33b7f5702da1be7
      https://github.com/llvm/llvm-project/commit/0b1fe74f079fd330e4d4d85ce33b7f5702da1be7
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/IR/UnstructuredControlFlow.h
    M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/test/Dialect/Arith/one-shot-bufferize-memory-space-invalid.mlir
    M mlir/test/Dialect/Bufferization/Transforms/test-one-shot-module-bufferize.mlir
    M mlir/test/Dialect/ControlFlow/one-shot-bufferize-invalid.mlir
    M mlir/test/Dialect/SCF/one-shot-bufferize-invalid.mlir
    M mlir/test/lib/Dialect/Bufferization/TestOneShotModuleBufferize.cpp
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][bufferization] Introduce reconcileBufferTypeMismatchFn hook (#202667)

This PR is the first part of the work that aims to allow customizations
in resolving mismatching buffer types.

Add a new bufferization hook that lets downstream bufferization
implementations define how to handle buffer mismatches that appear
during type inference in various upstream scenarios.

The hook is used as a fallback mechanism in several upstream operations.
For example, when bufferizing block signatures (scf.execute_region), and
resolving "branch" conflicts (scf.if, scfl.index_switch, scf.for,
arith.select).

The hook returns a valid buffer type when reconciliation succeeded;
failure indicates reconciliation failure and should be treated as
bufferization failure. The caller of the hook is expected to use the
returned buffer type. By default, a memref with fully-dynamic layout map
is returned (for unranked case, buffers are assumed to match).

---------

Co-authored-by: Dmitrii Makarenko <dmitrii.makarenko at intel.com>


  Commit: 75440ed24c4e656cef53f0d2419a885eb7c908f7
      https://github.com/llvm/llvm-project/commit/75440ed24c4e656cef53f0d2419a885eb7c908f7
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-mca/AArch64/Cortex/A55-in-order-bottleneck-analysis.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/A57-direct-branch.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/A57-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/A57-shifted-register.s
    R llvm/test/tools/llvm-mca/AArch64/Cortex/direct-branch.s
    R llvm/test/tools/llvm-mca/AArch64/Cortex/forwarding-A57.s
    R llvm/test/tools/llvm-mca/AArch64/Cortex/in-order-bottleneck-analysis.s
    R llvm/test/tools/llvm-mca/AArch64/Cortex/shifted-register.s

  Log Message:
  -----------
  [NFC][AArch64][MCA] Rename A55/A57 mca tests (#204551)

Rename several llvm-mca tests for cortex-a55 and cortex-a57 to follow
the same pattern as the other testss


  Commit: 9e8615f5268a4aa0298d615e6c79391174dcc8da
      https://github.com/llvm/llvm-project/commit/9e8615f5268a4aa0298d615e6c79391174dcc8da
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/ConvertUTF.h
    M llvm/lib/Support/ConvertUTFWrapper.cpp

  Log Message:
  -----------
  [NFC][llvm] simplify convertWideToUTF8 overloads (#204552)

Remove the C-String overload of `convertWideToUTF8` and convert the
`ArrayRef` one to use `std::wstring_view` in order to simplify the API.


  Commit: 283514b070fd2ae647f56cf046ea74be15a887b1
      https://github.com/llvm/llvm-project/commit/283514b070fd2ae647f56cf046ea74be15a887b1
  Author: jpwang <jpwang at smail.nju.edu.cn>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    R llvm/test/tools/llvm-objcopy/ELF/compress-debug-sections-zstd-err.test
    M llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
    A llvm/test/tools/llvm-objcopy/ELF/compress-sections-zlib-unsupported.test
    A llvm/test/tools/llvm-objcopy/ELF/compress-sections-zstd-unsupported.test
    R llvm/test/tools/llvm-objcopy/ELF/decompress-debug-sections-unsupported-zlib.test
    A llvm/test/tools/llvm-objcopy/ELF/decompress-sections-unsupported-zlib.test
    A llvm/test/tools/llvm-objcopy/ELF/decompress-sections-unsupported-zstd.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Report unsupported formats before compression (#202357)

Fixes #197877.

`llvm-objcopy --compress-sections` now reports unavailable compression
support while parsing the option, matching the behavior of
`--compress-debug-sections`. This avoids reaching compression code with
an unavailable format.

Decompression (either via `--decompress-debug-sections` or
`--compress-sections` with a `none` format) is still checked when the
relevant compressed section is processed, because the required
compression format is determined from the section header rather than
from the command-line option.

The `compress-sections-within-segment` test now requires zlib because
`--compress-sections .text=zlib` is diagnosed during option parsing when
zlib support is unavailable, before the test can reach the intended
"section within a segment" diagnostic.


  Commit: 00086d64086043269c3ed1c15dc08f5b6d517292
      https://github.com/llvm/llvm-project/commit/00086d64086043269c3ed1c15dc08f5b6d517292
  Author: sipher <110331483+sipher-01 at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/test/Sema/LifetimeSafety/dangling-global.cpp

  Log Message:
  -----------
  [LifetimeSafety] Add `LifetimeSafetyDanglingGlobalMoved` to strict diagnostic group (#204891)

Fixes #204213

`-Wlifetime-safety-dangling-global-moved` was defined but not included
in any parent diagnostic group, meaning `-Wlifetime-safety-all` and
`-Wno-lifetime-safety-all` had no effect on it.

`LifetimeSafetyDanglingGlobal` (the non-moved variant) was already
correctly placed under `LifetimeSafetyPermissive`. Following the same
pattern as the other `-moved` sibling warnings
(`DanglingFieldMoved`, `ReturnStackAddrMoved`, `UseAfterScopeMoved`),
this patch adds `LifetimeSafetyDanglingGlobalMoved` to
`LifetimeSafetyStrict`, which is part of the `lifetime-safety-all`
hierarchy.

Assisted-by: Claude (Anthropic) — used for learning and understanding 
the codebase, not for generating code directly.


  Commit: 192ef559fbfeeba2f9cc43252db3da1303e8f00b
      https://github.com/llvm/llvm-project/commit/192ef559fbfeeba2f9cc43252db3da1303e8f00b
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    R llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Use AMDGPURegBankSelect + AMDGPURegBankLegalize by default (#203928)

AMDGPU/GlobalISel: Use AMDGPURegBankSelect + AMDGPURegBankLegalize by default

Change AMDGPU's default -global-isel pipeline to use AMDGPURegBankSelect
and AMDGPURegBankLegalize (previously -global-isel -new-reg-bank-select)
by default instead of RegBankSelect which uses AMDGPURegisterBankInfo.

-global-isel pipeline that used RegBankSelect/AMDGPURegisterBankInfo is
now deprecated, since it could not generate functionally correct code in
some cases involving divergent control flow and phis.

-new-reg-bank-select option does nothing and will be removed in followup
patch.

Delete regbankselect-mui.ll and regbankselect-mui-salu-float.ll, which
existed to compare the -global-isel vs -global-isel -new-reg-bank-select.

Temporarily disable a couple of tests that are missing AMDGPURegBankLegalize
support.


  Commit: a2289b7336a299c2a5d6c4fb8b6fc074297acf88
      https://github.com/llvm/llvm-project/commit/a2289b7336a299c2a5d6c4fb8b6fc074297acf88
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    R lldb/test/API/macosx/deny-attach/Makefile
    R lldb/test/API/macosx/deny-attach/TestDenyAttach.py
    R lldb/test/API/macosx/deny-attach/main.c
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  Revert "[lldb] Survive ptrace(PT_DENY_ATTACH) when attaching" (#205075)

Reverts llvm/llvm-project#204688

This breaks green dragon where the error message is `error: attach
failed: this is a non-interactive debug session, cannot get permission
to debug processes.`


  Commit: 05d84fd3f92355d7f4a0c90ac4fd4229f3e19133
      https://github.com/llvm/llvm-project/commit/05d84fd3f92355d7f4a0c90ac4fd4229f3e19133
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dropped_debug_info_assert.ll

  Log Message:
  -----------
  [AMDGPU] Run update script on test. NFC (#204570)

There's some bogus whitespace in the generated CHECKs that changes when
touching the test.


  Commit: 2a1f306515b67036a44b16e569a9f26f57520c54
      https://github.com/llvm/llvm-project/commit/2a1f306515b67036a44b16e569a9f26f57520c54
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/dynamic-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Add more sanity checks for pointers used in `dynamic_cast` (#205070)

Make sure it's initialized and that it points to a record.


  Commit: b95e1e890c025ab4eee3583b7b1e2497991145db
      https://github.com/llvm/llvm-project/commit/b95e1e890c025ab4eee3583b7b1e2497991145db
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h
    M llvm/unittests/Support/AllocatorTest.cpp

  Log Message:
  -----------
  [Allocator] Keep bump pointer at a minimum alignment (#203718)

Add a `MinAlign` template parameter (default 8, sizeof(size_t) on 64-bit
platforms) so that the common case `Alignment <= MinAlign` can skip
realigning `CurPtr`.

This is achieved by rounding each allocation's size up to MinAlign, so
the bump pointer stays MinAlign-aligned between allocations.

SpecificBumpPtrAllocator::DestroyAll() walks objects at a fixed
sizeof(T) stride and needs tight packing, so it uses MinAlign=1. (alignof(T) would
pack just as tightly and reuse the default instantiation, but T may be
incomplete here, e.g. `SpecificBumpPtrAllocator<MCSectionELF>`.)

Its `Allocate` still skips the realign: the slab is max_align_t-aligned
and every size is a multiple of alignof(T), so the bump pointer stays
alignof(T)-aligned and we can just request alignment 1. Over-aligned
types (alignof(T) > alignof(max_align_t)) keep requesting alignof(T).

Also use `bit_ceil` instead of `NextPowerOf2` in the placement operator
new alignment heuristic. NextPowerOf2 is strictly greater, so an 8-byte
pointer-sized object asked for alignment 16 and missed the fast path;
bit_ceil(8) == 8 keeps it on the fast path.

Aided by Claude Opus 4.8


  Commit: c56e892f5c520b4474158837d7968e5c8dc3e4c1
      https://github.com/llvm/llvm-project/commit/c56e892f5c520b4474158837d7968e5c8dc3e4c1
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add.vni16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add_shl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addo.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/and.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.i1.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-asserts.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_flat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_global.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_local.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_load_local_2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_store_local.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-add-sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-and.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-fmin-fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-or.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-xchg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-xor.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_minmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bitcast_38_i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/br-constant-invalid-sgpr-copy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-schedule.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bug_shuffle_vector_to_scalar.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-ext-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-ext-neg-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-neg-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-rsq.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-imm-chain.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-of-shifted-logic.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combiner-crash.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/constant-bus-restriction.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dereferenceable-declaration.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dropped_debug_info_assert.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fceil.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fcmp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ffloor.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/floor.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmad.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmamix-constant-bus-violation.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin3-fmax3-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx942.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpext.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr-new-regbank-select.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value-addrspaces.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value.illegal.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/hip.extern.shared.array.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/i1-copy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/icmp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/image-waterfall-loop-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy-scc-vcc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/intrinsic-trunc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-misaligned-bug.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-relocs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-zero-initializer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.dispatch.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fdot2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fmul.legacy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fract.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.frexp.mant.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.cd.g16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.d16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.implicit.ptr.buffer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.p1.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.live.mask.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mul24.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.queue.ptr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.fadd-with-ret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.swap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.fadd-with-ret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.swap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.format.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.load.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.store.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.store.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.load.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.sleep.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot4.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.softwqm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.strictwqm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.fadd-with-ret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.swap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.format.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.cmpswap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.fadd-with-ret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.swap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.store.format.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.store.format.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.tbuffer.load.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.tbuffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.tbuffer.load.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.tbuffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sudot4.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sudot8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ubfe.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot4.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wmma_32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wmma_64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wwm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.atomic.cmpxchg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.inline.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memmove.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.inline.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-constant.96.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-constant32bit.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-divergent.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-local.128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-local.96.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform-in-vgpr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-zero-and-sign-extending-divergent.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-zero-and-sign-extending-uniform-in-vgpr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-zero-and-sign-extending-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mad.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/madmix-constant-bus-violation.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-buffer-stores.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/no-ctlz-from-umul-to-lshr-in-postlegalizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/or.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/readanylane-combines.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.subdword.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.readlane.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sbfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/select-to-fmin-fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shader-epilogs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shufflevector.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/smed3.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/smrd.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/smul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-divergent-addr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.128.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-local.96.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/store-uniform-addr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sub.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/subo.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/trunc-brc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/trunc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ubfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/umed3.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/unmerge-sgpr-s16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/unsupported-load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/unsupported-ptr-add.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/v_bfe_i32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/xor.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/add-max.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-known-non-null.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast.gfx6.ll
    M llvm/test/CodeGen/AMDGPU/allow-check.ll
    M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn-cs-chain-intrinsic-dyn-vgpr-w32.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn-sin-cos-f16-f32.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-reloc-const.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    M llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    M llvm/test/CodeGen/AMDGPU/barrier-elimination-gfx12.ll
    M llvm/test/CodeGen/AMDGPU/barrier-elimination.ll
    M llvm/test/CodeGen/AMDGPU/bfi_int.ll
    M llvm/test/CodeGen/AMDGPU/bitop3-shared-operand.ll
    M llvm/test/CodeGen/AMDGPU/bitop3.ll
    M llvm/test/CodeGen/AMDGPU/bitreverse.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
    M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-c-function.ll
    M llvm/test/CodeGen/AMDGPU/call-constant.ll
    M llvm/test/CodeGen/AMDGPU/call-constexpr.ll
    M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/AMDGPU/call-encoding.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
    M llvm/test/CodeGen/AMDGPU/call-return-types.ll
    M llvm/test/CodeGen/AMDGPU/call-skip.ll
    M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
    M llvm/test/CodeGen/AMDGPU/callbr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
    M llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
    M llvm/test/CodeGen/AMDGPU/cluster-dims.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
    M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
    M llvm/test/CodeGen/AMDGPU/ctlz.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/ctpop.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/cube.ll
    M llvm/test/CodeGen/AMDGPU/cvt_flr_i32_f32.ll
    M llvm/test/CodeGen/AMDGPU/cvt_rpi_i32_f32.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/diverge-interp-mov-lower.ll
    M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/float-sopc-vopc.ll
    M llvm/test/CodeGen/AMDGPU/fma.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum3.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/fminnum.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs-v2f32.ll
    M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-image-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-num-flat-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp-min-max-num-global-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fpenv.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.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
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
    M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll
    M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
    M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
    M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
    M llvm/test/CodeGen/AMDGPU/global-address.ll
    M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/gws_agpr.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/indirect-reg-read-imm-idx.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/intrinsic-amdgcn-s-alloc-vgpr.ll
    M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/invariant-image-load.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-intrinsic-dyn-vgpr-w32.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
    M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
    M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
    M llvm/test/CodeGen/AMDGPU/lds-size.ll
    M llvm/test/CodeGen/AMDGPU/literal64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.add.min.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.addrspacecast.nonnull.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i64.wave32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load-last-use.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bvh8_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.async.to.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.workgroup.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.workgroup.max.flat.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.workgroup.max.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-agent.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-basic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-system.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cubeid.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cubema.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cubesc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cubetc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f32.fp8.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.e5m3.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.i16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pknorm.u16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sat.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dispatch.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fixup.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fixup.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dot4.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.add.gs.reg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.append.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.async.barrier.arrive.b64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.barrier.arrive.rtn.b64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bpermute.fi.b32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bpermute.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.push.pop.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.consume.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-bundle.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.br.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.p.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.release.all.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.sema.v.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add-errors.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.gfx11.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.permute.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.sub.gs.reg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dual_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.compr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f16.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.flat.prefetch.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmad.ftz.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmad.ftz.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.prefetch.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.groupstaticsize.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.flt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.noret.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.a16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.noret.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.wave32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.direct.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.param.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.async.to.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.tr.gfx1250.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mbcnt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.i8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mulhi.i24.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mulhi.u24.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.bcast.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.down.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.idx.gen.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.up.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.xor.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane32.swap.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.prng.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ps.live.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.m0.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ptr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.clamp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.get.waveid.in.workgroup.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.getreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.memrealtime.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.memtime.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.monitor.sleep.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.nop.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.s.sethalt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setprio.inc.wg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setprio.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.sleep.var.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.ttracedata.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.waitcnt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sendmsg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.chain.arg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sffbh.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sqrt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.unreachable.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1251.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1251.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1251.w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id-unsupported-calling-convention.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
    M llvm/test/CodeGen/AMDGPU/llvm.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/llvm.modf.ll
    M llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/load-atomic-flat.ll
    M llvm/test/CodeGen/AMDGPU/load-atomic-global.ll
    M llvm/test/CodeGen/AMDGPU/load-atomic-local.ll
    M llvm/test/CodeGen/AMDGPU/load-range-metadata-sign-bits.ll
    M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-opt.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/lrint.ll
    M llvm/test/CodeGen/AMDGPU/lround.ll
    M llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll
    M llvm/test/CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/med3-knownbits.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-non-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
    M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
    M llvm/test/CodeGen/AMDGPU/mfma-bf16-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx942.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/minmax.ll
    M llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
    M llvm/test/CodeGen/AMDGPU/module-lds-false-sharing.ll
    M llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
    M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
    M llvm/test/CodeGen/AMDGPU/overlapping-tuple-copy-implicit-op-failure.ll
    M llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-fp16.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
    M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
    M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
    M llvm/test/CodeGen/AMDGPU/read-register-invalid-register.ll
    M llvm/test/CodeGen/AMDGPU/read_register.ll
    M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
    M llvm/test/CodeGen/AMDGPU/readsteadycounter.ll
    M llvm/test/CodeGen/AMDGPU/remat-fp64-constants.ll
    M llvm/test/CodeGen/AMDGPU/ret.ll
    M llvm/test/CodeGen/AMDGPU/returnaddress.ll
    M llvm/test/CodeGen/AMDGPU/roundeven.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
    M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
    M llvm/test/CodeGen/AMDGPU/scale-offset-global.ll
    M llvm/test/CodeGen/AMDGPU/scale-offset-scratch.ll
    M llvm/test/CodeGen/AMDGPU/scale-offset-smem.ll
    M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-count-graphics.ll
    M llvm/test/CodeGen/AMDGPU/shlN_add.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/spill-vgpr-block.ll
    M llvm/test/CodeGen/AMDGPU/stackguard.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.invalid.ll
    M llvm/test/CodeGen/AMDGPU/store-atomic-flat.ll
    M llvm/test/CodeGen/AMDGPU/store-atomic-global.ll
    M llvm/test/CodeGen/AMDGPU/store-atomic-local.ll
    M llvm/test/CodeGen/AMDGPU/strict_fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/strict_fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/strict_fmul.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fmul.f32.ll
    M llvm/test/CodeGen/AMDGPU/strict_fmul.f64.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f32.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f64.ll
    M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
    M llvm/test/CodeGen/AMDGPU/strict_ldexp.f32.ll
    M llvm/test/CodeGen/AMDGPU/strict_ldexp.f64.ll
    M llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-amdgpu-gfx.ll
    M llvm/test/CodeGen/AMDGPU/target-mem-intrinsic-metadata.ll
    M llvm/test/CodeGen/AMDGPU/trap.ll
    M llvm/test/CodeGen/AMDGPU/twoaddr-constrain.ll
    M llvm/test/CodeGen/AMDGPU/unaligned-buffer.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-cs-chain.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-image-a16.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-image-g16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fadd.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmul.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
    M llvm/test/CodeGen/AMDGPU/wait-before-stores-with-scope_sys.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
    M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
    M llvm/test/CodeGen/AMDGPU/write-register-invalid-register.ll
    M llvm/test/CodeGen/AMDGPU/write_register.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Remove -new-reg-bank-select option (#203929)

AMDGPU's -global-isel pipeline that uses AMDGPURegBankSelect and
AMDGPURegBankLegalize, previously -global-isel -new-reg-bank-select,
is now the default -global-isel pipeline.

Remove -new-reg-bank-select option from the compiler.
Remove -new-reg-bank-select from all llvm regression tests.
Edit a couple comments to reference RegBankLegalize instead of
-new-reg-bank-select.


  Commit: f3fb6fe3099887ce1538c1dbbe3694f740f9f126
      https://github.com/llvm/llvm-project/commit/f3fb6fe3099887ce1538c1dbbe3694f740f9f126
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Check for block pointers in Free() (#205043)

We need a block pointer here for the following operations, and non-block
pointers aren't valid anyway.


  Commit: 4fd464061536f1bb7d12ee9524712d202c2b4488
      https://github.com/llvm/llvm-project/commit/4fd464061536f1bb7d12ee9524712d202c2b4488
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/DependenceAnalysis.cpp
    A llvm/test/Analysis/DependenceAnalysis/find-gcd-overflow.ll

  Log Message:
  -----------
  [DA] Add overflow check before calculating absolute value (#201964)

In findGCD, we call APInt::abs, which can overflow when the value is a
signed minimum one. Such overflow can lead miscompilation, so this patch
adds an overflow check for absolute value calculations and bail out
early if it actually overflows.
Fix #201559.


  Commit: 8b723503336f094afb92f00cb73378321914f6cf
      https://github.com/llvm/llvm-project/commit/8b723503336f094afb92f00cb73378321914f6cf
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [NFC][analyzer] Eliminate some simple node builders (#204187)

Replace four `NodeBuilder`s with direct use of the `makeNode` method
family. This is part of my commit series that simplifies the engine by
gradually eliminating the class `NodeBuilder`.


  Commit: b6a0f6c79fee527a5ef2826e30949cd8f27db889
      https://github.com/llvm/llvm-project/commit/b6a0f6c79fee527a5ef2826e30949cd8f27db889
  Author: Jiaqi He <heturing at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp

  Log Message:
  -----------
  [LifetimeSafety] resolved lifetimeBound violation in constructor (#204797)

Fix https://github.com/llvm/llvm-project/issues/203839.

Constructor body does not produce `ReturnEscapeFact`, but a constructor
parameter marked [[clang::lifetimebound]] may still be valid if it
escapes into a field of the constructed object.

Update the `LifetimeBound` logic to accept `FieldEscapeFact` for
constructors, and add a test case for this pattern.


  Commit: b3022110d84dabf5ddbbecd7db4e943791d5320c
      https://github.com/llvm/llvm-project/commit/b3022110d84dabf5ddbbecd7db4e943791d5320c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp

  Log Message:
  -----------
  clang/AMDGPU: Use effective triple instead of raw toolchain triple (#205054)

Start using the effective triple instead of the raw toolchain triple.
For the moment this is NFC, but will change when new uses of the subarch
field are introduced.


  Commit: c5f4abf97938cc1d4615baf1f45bef4e38e0dd91
      https://github.com/llvm/llvm-project/commit/c5f4abf97938cc1d4615baf1f45bef4e38e0dd91
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-ordered-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll

  Log Message:
  -----------
  [SLP][Revec] Fix SLP crash when trying to fold trailing scalars into the reduced value  (#203477)

Cost modelling change introduced by commit SHA f15666d is enabling revec
of test shown in the above issue. This is introducing a crash as the
reduced value(a scalar) is being added to a vector tail value.

Patch tries to address this.

Fixes #203195


  Commit: f8cb6be61b995fc64d696c42fdb3eb88d2ed3a9e
      https://github.com/llvm/llvm-project/commit/f8cb6be61b995fc64d696c42fdb3eb88d2ed3a9e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp

  Log Message:
  -----------
  clang: Use the effective triple string for offload jobs (#205065)

Track the future effective triple for the job, rather than
the toolchain's default triple. In the future this will
change the result when amdgpu starts adjusting the triples
to contain subarches.


  Commit: 6019657c6a4528e92887bec4b52222f9c0fc6a8b
      https://github.com/llvm/llvm-project/commit/6019657c6a4528e92887bec4b52222f9c0fc6a8b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M offload/ci/openmp-offload-amdgpu-libc-runtime.py

  Log Message:
  -----------
  Reapply "[AMDGPU] Add compiler-rt checks for the GPU runtime" (#204898)

The original issue should've been solved by
https://github.com/llvm/llvm-project/pull/204694
Reverts llvm/llvm-project#204370


  Commit: 4f5c444227c76c41146b7a91c1a1cab460c74112
      https://github.com/llvm/llvm-project/commit/4f5c444227c76c41146b7a91c1a1cab460c74112
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/QueueingRunner.h
    M orc-rt/unittests/InProcessControllerAccessTest.cpp
    M orc-rt/unittests/QueueingRunnerTest.cpp
    M orc-rt/unittests/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Default QueueingRunner to a synchronized queue. (#205088)

Adds orc_rt::detail::SynchronizedDeque<T>, a mutex-protected deque whose
pop_front / pop_back return std::optional<T> (std::nullopt indicates the
queue is empty), and makes it QueueingRunner's default WorkQueue type.

Using a synchronized queue type allows QueueingRunner to be used in
multi-threaded contexts.

Updates SessionTest and InProcessControllerAccessTest to use the new
default, and extends QueueingRunnerTest to cover the new contract.


  Commit: 8616fad2fa5c772b7ebc254335e7c6be858a5182
      https://github.com/llvm/llvm-project/commit/8616fad2fa5c772b7ebc254335e7c6be858a5182
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/source/Target/Memory.cpp

  Log Message:
  -----------
  [lldb] Avoid tautological copying of a newly created object (NFC) (#204998)


  Commit: 27af208fe5cbd7d6b9ba24b22d75f1abba42c111
      https://github.com/llvm/llvm-project/commit/27af208fe5cbd7d6b9ba24b22d75f1abba42c111
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16-fake.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt

  Log Message:
  -----------
  [AMDGPU][NFC] Templatise and roundtrip gfx12_asm_vop3_dpp16.s (#203953)

This is effectively the changes between the non-template versions of
gfx11/12_asm_vop3_dpp16.s applied on top of the templatised
gfx11_asm_vop3_dpp16.s.


  Commit: a7808183c742b88065e912dd0b98ab446b01b7c0
      https://github.com/llvm/llvm-project/commit/a7808183c742b88065e912dd0b98ab446b01b7c0
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_dpp16.s

  Log Message:
  -----------
  [AMDGPU][NFC] Templatise and roundtrip gfx13_asm_vop3_dpp16.s (#204849)

Again, this is based on the templatised version of
gfx12_asm_vop3_dpp16.s with the GFX13-specific changes re-applied on top
of it.

gfx13_dasm_vop3_dpp16.txt was never upstreamed, so no changes for the
disassembler side.


  Commit: 06dcba660904e041cca1d245e674f040bb04f454
      https://github.com/llvm/llvm-project/commit/06dcba660904e041cca1d245e674f040bb04f454
  Author: Tim <timothy.smith at hpe.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Transforms/debug-fake-use-multiple-dimensions.fir
    A flang/test/Transforms/debug-fake-use-multiple-returns.fir
    M flang/test/Transforms/debug-fake-use.fir

  Log Message:
  -----------
  [flang][debug] Add fake use ops for dynamic array dimension variables (#200061)

In cases where the upper or lower bounds of a dynamic array are not
explicitly referenced in code, flang can optimize away the internal
variables that represent these values. This causes missing values to
appear in the debugger when examining the dynamic array's type. Adding
an llvm.fake.use op for each bound preserves it for use by a debugger,
similar to the fix for #185432.

Resolves #119474


  Commit: b0c2017bcff5ae07fe44d3271a269e50e1c98cbd
      https://github.com/llvm/llvm-project/commit/b0c2017bcff5ae07fe44d3271a269e50e1c98cbd
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir

  Log Message:
  -----------
  [mlir][x86] Fail on missing read source operation (#205077)

Adds an extra check to AMX lowering to fail gracefully when a source
operation for contraction input data is not found.


  Commit: a7e3eda221412f798ae448c293217f49f4a5ebed
      https://github.com/llvm/llvm-project/commit/a7e3eda221412f798ae448c293217f49f4a5ebed
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h
    M llvm/unittests/Support/AllocatorTest.cpp

  Log Message:
  -----------
  Revert "[Allocator] Keep bump pointer at a minimum alignment" (#205091)

Arithmetic on nullptr is UB and gets flagged by UBSan.

Reverts llvm/llvm-project#203718


  Commit: d8657e1bb196d52892365da5cf917f8ed90932f8
      https://github.com/llvm/llvm-project/commit/d8657e1bb196d52892365da5cf917f8ed90932f8
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/unittests/CMakeLists.txt

  Log Message:
  -----------
  Don't test JIT's on z/OS (#196580)

The JIT's aren't supported on z/OS so no need to run the unit tests on
them.


  Commit: 685af3ab083c71c32172fb7116176b55a6c26b25
      https://github.com/llvm/llvm-project/commit/685af3ab083c71c32172fb7116176b55a6c26b25
  Author: Akshay Kumar Dubey <123586645+akshaydubey05 at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/tool/ClangdMain.cpp

  Log Message:
  -----------
  [clangd] Log environment variables that influence compilation at startup (#204990)

When users face missing system include issues (especially on Windows), 
it's difficult to diagnose whether the problem is caused by missing
environment variables like `INCLUDE`, `CPATH`, etc.

This patch logs the values of environment variables that influence how the
compiler finds headers and libraries, at startup alongside the existing
version/PID/argv logs. Only variables that are actually set are printed.

  Variables logged:
- MSVC (set by vcvarsall.bat): `INCLUDE`, `LIB`, `LIBPATH`, `CL`, `_CL_`
- GCC/Clang: `CPATH`, `C_INCLUDE_PATH`, `CPLUS_INCLUDE_PATH`,
`OBJC_INCLUDE_PATH`, `LIBRARY_PATH`, `GCC_EXEC_PREFIX`

Fixes https://github.com/clangd/clangd/issues/2657


  Commit: 079683b7e1d0cb39cbb2205d38425d56030d31b2
      https://github.com/llvm/llvm-project/commit/079683b7e1d0cb39cbb2205d38425d56030d31b2
  Author: Reinhard Stahn <rainij36 at proton.me>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td

  Log Message:
  -----------
  [mlir][scf] Tighten description of scf.for (#203713)

The previous description was vague in the case that the
one-past-the-last value for the induction variable is not representable
in the used integer type. Current passes implicitly exploit this by
implementing non-equivalent semantics (e.g. terminating vs
non-terminating loops).

We tighten the specification of `scf.for` by first stating the desired
ideal semantics, but deeming overflow undefined behavior. This fixes all
inconsistencies I am aware of.

Documentation only; no behavioral change.


  Commit: 8062e6dc822b7832d8d988bd9cc70a04a327848a
      https://github.com/llvm/llvm-project/commit/8062e6dc822b7832d8d988bd9cc70a04a327848a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bypass-div.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll

  Log Message:
  -----------
  [AMDGPU] Remove support for ADDC/ADDE/SUBC/SUBE DAG nodes (#205082)

Since #204694 we should be using UADDO/USUBO/UADDO_CARRY/USUBO_CARRY
instead.


  Commit: 4661c0248ca5621b05808e25605b7adeb6c078a8
      https://github.com/llvm/llvm-project/commit/4661c0248ca5621b05808e25605b7adeb6c078a8
  Author: gretay-amd <Greta.Yorsh at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bvh8_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dual_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll

  Log Message:
  -----------
  [AMDGPU] Waterfall loop codegen improvement in SIInstrInfo (#192415)

When generating waterfall loops, use the instructions `v_cmpx_eq_*` and
`s_andn2_wrexec_*` as recommended for recent architectures, instead of
`v_cmp_eq_*` and `s_and saveexec`.

This PR only updates waterfall loop code generation in
`SIInstrInfo.cpp`. Other places that generated waterfall loops can be
handled separately.

- Add new lane mask constant for `s_andn2_wrexec`
- Set `isTerminator` for `v_cmpx_eq_{u32,u64}_e32`
- Fix test `mubuf-legalize-operands.mir` to track liveness needed for
verifying phi nodes
- Update .ll and .mir tests to accept the new instruction sequences

Assisted-by: Claude


  Commit: bcae37f4a8e8d163e34080186b789a6cb0ae91d1
      https://github.com/llvm/llvm-project/commit/bcae37f4a8e8d163e34080186b789a6cb0ae91d1
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/reset_return_value_slot.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Reset retval when return type is void (#205107)

In `returnFromCallee`, the return value is moved out from
`CurrentFrame->RetVal`. So `visitReturnInst` is always responsible for
setting a valid value.

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


  Commit: fe5ad843d83aef5846862064551fb8e5fc8e9048
      https://github.com/llvm/llvm-project/commit/fe5ad843d83aef5846862064551fb8e5fc8e9048
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/Transforms/Attributor/callbr.ll

  Log Message:
  -----------
  [Attributor] Do not delete side-effect-free terminator (#205052)

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


  Commit: 4e6976b70b52f2f84b2b4f28c7badbfb401d302e
      https://github.com/llvm/llvm-project/commit/4e6976b70b52f2f84b2b4f28c7badbfb401d302e
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/test/AST/ByteCode/command-line-options.cpp

  Log Message:
  -----------
  Fix test on read-only file systems (#205108)

Fixes 25e4057d49055a645dc6a51ae1f40ac647aaed5b.

Use the -fsyntax-only flag instead of -c. This performs the necessary
parsing and diagnostics verification (the actual intent of this test)
without attempting to emit an object file.


  Commit: 6b59e09d1443b5c3905daa457d241487eb9bfc3f
      https://github.com/llvm/llvm-project/commit/6b59e09d1443b5c3905daa457d241487eb9bfc3f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip

  Log Message:
  -----------
  [HIP] Fix `--no-offload-new-driver` behavior after #201457 (#205094)

Summary:
https://github.com/llvm/llvm-project/pull/201457 changed the default for
all targets. Even though the old offload driver is getting removed soon
we shouldn't break it for the LLVM23 release. This simply reverts to the
original behavior, the old driver builds its jobs manually so we can
just turn off this one specific case unless the user forced it.


  Commit: 5b687a501bd26cc46d6b52582aa926acc0d3564e
      https://github.com/llvm/llvm-project/commit/5b687a501bd26cc46d6b52582aa926acc0d3564e
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/test/did-change-configuration-params.test

  Log Message:
  -----------
  Be more permissive on spaces in command line argument parsing (#205111)

Fixes c888371ff0a3e10f8472676dc992f4347fca58d9.

This change properly accommodates both presence and absence of extra
trailing arguments like -resource-dir.


  Commit: c79333e16d4c567c4ebeccb878ac2fc40fed687d
      https://github.com/llvm/llvm-project/commit/c79333e16d4c567c4ebeccb878ac2fc40fed687d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-atomic.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp

  Log Message:
  -----------
  [flang][OpenMP] Centralize pushing/popping directive context (#204924)

Put calls to PushContextAndClauseSets to the Enter function for
OpenMPConstruct and OpenMPDeclarativeConstruct, and popping the context
to the corresponding Leave functions. This moves most of the context
handling to the top-level AST entries. This will allow more centralized
verification of common clause properties in the future.


  Commit: 6e4e181c83d076bb8e4c208ae28817f3900b23fa
      https://github.com/llvm/llvm-project/commit/6e4e181c83d076bb8e4c208ae28817f3900b23fa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/cmake/modules/ClangConfig.cmake.in
    A cmake/Modules/GetTripleCMakeSystemName.cmake
    A cmake/Modules/NormalizeTriple.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/runtimes/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  runtimes: Pass CMAKE_SYSTEM_NAME based on target triple (#203504)

Compute the cmake system name from the target triple, rather
than passing through the host's. This is primarily to stop
forwarding OSX specific cmake variables.

This fixes build failures when trying to build gpu libc on mac
hosts. Previously it would fail on several issues, starting with
an unused argument -mmacos-version-min error, followed by other
errors caused by passing -isysroot.

Secondarily, restrict the cmake imported targets when cross compiling.
Without this, the amdgpu build prints many cmake warnings about the
target not supporting shared libraries.

Claude did most of the actual work, though it required quite a few
rounds of prodding to get it into the right place. In particular it
took care of handling all of the cmake platform recognized names from
the triple.

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


  Commit: 1ba7c9677649ed5072205c63532c1c2d5da38e13
      https://github.com/llvm/llvm-project/commit/1ba7c9677649ed5072205c63532c1c2d5da38e13
  Author: Koakuma <koachan at protonmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/Sparc/SparcInstr64Bit.td
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    M llvm/test/CodeGen/SPARC/bswap.ll

  Log Message:
  -----------
  [SPARC] Use hardware byteswapper when we have V9 (#191720)

On V9 processors we have endianness-adjusted memory operations, that can
be used to implement BSWAPs.
Use those instructions whenever possible to reduce code size.


  Commit: e07c1e710ccf0be64140bd5774ba8dccce505bfd
      https://github.com/llvm/llvm-project/commit/e07c1e710ccf0be64140bd5774ba8dccce505bfd
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Move unique clauses to allowedOnceClauses in OMP.td (#204995)

Many unique clauses were listed in "allowedClauses", which turned off
the single-occurrence check in flang. Move these clauses to the right
category to enable this check.
One exception to this is the IF clause: the IF clause is unique for all
non-compound directives, but is repeatable on compound ones with the
restriction that at most one IF clause can apply to any of the
constituents. This restriction is currently not enforced correctly in
flang, and so the IF clause was left unchanged.

Although this change is applied to a file shared between flang and
clang, clang does not use these categories for its checks, and hence is
not affected by this patch.


  Commit: 237fbfd7cfbd2a2a4f0b171e493aa85b8506065a
      https://github.com/llvm/llvm-project/commit/237fbfd7cfbd2a2a4f0b171e493aa85b8506065a
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/lib/CodeGen/LiveInterval.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    A llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-dead-def-join.mir

  Log Message:
  -----------
  [CodeGen] Join live range segments after dead def move (#204648)

Moving a dead def upward can retag a following live-range segment to the
same value as the previous segment. That leaves adjacent same-value
segments, which live range verification rejects.

Add a shared LiveRange helper for merging adjacent same-value segments.
Use it in the existing value-number merge code and after retagging later
segments for a moved dead def. Add an AMDGPU scheduler regression test.


  Commit: 448b725bb78bc288c5f6e3ad27856c92902f6537
      https://github.com/llvm/llvm-project/commit/448b725bb78bc288c5f6e3ad27856c92902f6537
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Compilation.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.h
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.h
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Haiku.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hexagon.h
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSP430.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/Managarm.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OHOS.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.h
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.h
    M clang/lib/Driver/ToolChains/Serenity.cpp
    M clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/Solaris.h
    M clang/lib/Driver/ToolChains/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/ToolChains/XCore.cpp
    M clang/lib/Driver/ToolChains/XCore.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/ToolChains/ZOS.h
    M clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/unittests/Driver/DXCModeTest.cpp

  Log Message:
  -----------
  clang/Driver: Use struct type for BoundArch instead of StringRef (#204748)

Change BoundArch arguments in the clang driver from StringRef (or
sometimes const char*) to a dedicated struct type that contains both
the architecture string and a parsed OffloadArch enum field. In the
future it may be useful to contain other feature bits here.

Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: e57068a5bd9fd9be5a265b83552689ff49f8fcb4
      https://github.com/llvm/llvm-project/commit/e57068a5bd9fd9be5a265b83552689ff49f8fcb4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/BundleAttributes.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/BundleAttributes.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Try folding align assumes with unkown offset (#204962)

There are a few folds which don't depend on the offset of the alignment,
but are nevertheless guarded on whether the offset is known. Run these
folds unconditionally instead.


  Commit: d9d2f3221b9e499f183acb1d3bece3c1d8f1462a
      https://github.com/llvm/llvm-project/commit/d9d2f3221b9e499f183acb1d3bece3c1d8f1462a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/single03.f90
    M flang/test/Semantics/OpenMP/single04.f90

  Log Message:
  -----------
  [flang][OpenMP] Refactor semantic check of SINGLE construct (#204339)

Extract it into a separate function and simplify the code. Avoid making
the distinction between a clause appearing on the "begin" and the "end"
directives for the purposes of emitting diagnostic messages.

One change in behavior is that using the same list item multiple times
in COPYPRIVATE clause(s) is an error regardless of the placement of the
clauses. Previously in some cases it was treated as a warning.

Part of the motivation is the goal of eliminating explicit definitions
of end-directives for directives that are not delimited, e.g. "end
single", but not "end declare_variant".


  Commit: 421ae3759e92132f066c77764d6da31e8a74e47c
      https://github.com/llvm/llvm-project/commit/421ae3759e92132f066c77764d6da31e8a74e47c
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-bitfield.cpp

  Log Message:
  -----------
  [clang-tidy] Fix bugprone-misplaced-widening-cast false positive on bitfield assignments (#197554)

When CheckImplicitCasts=true, the checker used the declared type of a
bitfield insread of the actual bitfield width to determine if widening
occurs. This caused false positives when assigning to a bitfield whose
declared type is wider than the source, but whose bitfield width
actually matches the source type. This behavior is fixed.
This PR fixes https://github.com/llvm/llvm-project/issues/197261 issue.

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>


  Commit: 132e019c1f8f485c764b22670b5ea7ff2d8556a8
      https://github.com/llvm/llvm-project/commit/132e019c1f8f485c764b22670b5ea7ff2d8556a8
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    R clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_03.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    A clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction_teams.mlir
    M mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction-array-descriptor.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    M offload/include/Shared/Environment.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/device/include/Interface.h
    M openmp/device/src/Reduction.cpp

  Log Message:
  -----------
  Reapply "[OpenMP][offload] Cross-team reductions with variable number of teams" (#204914) (#205071)

Together with the fix for
https://github.com/llvm/llvm-project/pull/195102#issuecomment-4756584289


  Commit: b9940aa6cf3c30ae8eb3c2059c0869ed95bb42aa
      https://github.com/llvm/llvm-project/commit/b9940aa6cf3c30ae8eb3c2059c0869ed95bb42aa
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  [InstCombine] Merge consecutive assumes (#204983)

This should make assumes a bit more efficient, since it removes a few
instructions. This should also help with optimizations that are limited
in how many instructions they step through.


  Commit: 1a4e2d2f0a7b60083f19e68abff80dc14702a579
      https://github.com/llvm/llvm-project/commit/1a4e2d2f0a7b60083f19e68abff80dc14702a579
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for pk_u64 add and sub (#205079)


  Commit: 97fe69eaec8920e84308f80ade9e641aa424267b
      https://github.com/llvm/llvm-project/commit/97fe69eaec8920e84308f80ade9e641aa424267b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll

  Log Message:
  -----------
  [AMDGPU] Add a test for sext i1 feeding into icmp (#205121)

This is a precommit of a test case that causes problems for #204238.


  Commit: 63862a2d80759a88e0b7408e555bb8f2292c5d40
      https://github.com/llvm/llvm-project/commit/63862a2d80759a88e0b7408e555bb8f2292c5d40
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc][math] Add missing freebsd entrypoint for cbrtf16 (#205011)

Adds missing freebsd entrypoint in
[5429667](https://github.com/llvm/llvm-project/pull/205011/commits/5429667e053398d39e180f084e0dd5c4c416aa27)
and fixes the wrong entry point for `crbtf1` in
[cdc394f](https://github.com/llvm/llvm-project/pull/205011/commits/cdc394f8ba7dffb9f49563d601def7cf31561d6f),
which was `cbrtf` in `baremetal/riscv`


  Commit: a92039c3e44e102f90751c8e8b2ab70a077016b7
      https://github.com/llvm/llvm-project/commit/a92039c3e44e102f90751c8e8b2ab70a077016b7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang-rt/lib/runtime/CMakeLists.txt
    M openmp/module/CMakeLists.txt

  Log Message:
  -----------
  [flang-rt][openmp] Add file-level dependencies for builtin mod files (#204260)

CMake currently intentionally ignores intrinsic dependencies. flang-rt
already had a workaround using target-level dependencies, but it does
not know about dependencies between .mod files created within the same
add_library that CMake ignores. As a result, as reported in #203549,
updating a .mod did not trigger rebuilding the .mod files that depend on
it. Specifically, .mod files store the checksum of used .mod files which
need to be updated and therefore require transitive rebuidling.

As mentioned, CMake already adds this file-level dependency itself for
non-intrinsic modules dependencies. In this PR we are injecting the
additional dependencies that CMake does not add via OBJECT_DEPENDS.

Three caveats:

1. Using OBJECT_DEPENDS for dependencies between modules of the same
OBJECT library makes Ninja complain about circular dependencies. To
avoid, split __fortran_builtins.f90 and __cuda_builtins.f90 into their
own OBJECT libraries each.

2. The dependency cannot be on the .mod files. Because of how CMake's
dependency mechanism works, the dependency scanning runs only after
ensuring that the OBJECT_DEPENDS files exist. So if they don't exist
yet, we get a missing dependency error. To avoid, we depend on the .o
file instead.

3. Generator expressions do not work in OBJECT_DEPENDS. That is, we
cannot use `$<TARGET_FILES:flang_rt.mod.fortran.builtins>`, but
fortunately we can use OBJECT_OUTPUTS to make the location predictable.

At some point in the future,
https://gitlab.kitware.com/cmake/cmake/-/issues/26803 should be resolved
and become the minimum required version to build LLVM, in which case
these workarounds can be removed.


  Commit: f63cb33699f4ab593328c15ee99650514bc0ab2c
      https://github.com/llvm/llvm-project/commit/f63cb33699f4ab593328c15ee99650514bc0ab2c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  gitignore: Add emacs lock files (#205055)


  Commit: bd89ac741dff1a6edec15821b719a34ab5646f3f
      https://github.com/llvm/llvm-project/commit/bd89ac741dff1a6edec15821b719a34ab5646f3f
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  [lldb][Windows] Remember server's primary stop thread on gdb-remote stops (#203525)

The client kept the previously-selected thread across stops, ignoring
the primary tid from the server in `T<sig>thread:<tid>`.
On Windows, lldb-server halts the inferior by injecting a thread called
`DbgUiRemoteBreakin` whose only job is to execute an int 3. After an
interrupt, the process has `N+1` threads and the new one is what caused
the stop. The server reports that thread as primary, but the client
ignored it and stayed on whichever thread was selected before. In
`TestExpressionInSyscall` that thread is main, paused just past
`NtDelayExecution`'s syscall with a garbage value in the RSI register.
Evaluating an expression there crashes the JIT trampoline.

This patch makes `ProcessGDBRemote::RefreshStateAfterStop` record the
primary tid from the most recent T-packet's `thread:<tid>` and select it
after applying per thread stop infos.

Fixes `TestBreakpointSetRestart` and `TestExpressionInSyscall` with
LLDB_USE_LLDB_SERVER=1.

rdar://180307914


  Commit: d4ae086789debfaa1065b97dfd2cf78b44544eba
      https://github.com/llvm/llvm-project/commit/d4ae086789debfaa1065b97dfd2cf78b44544eba
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [AMDGPU] Prevent folding of immediates larger than 64 bit (#204434)


  Commit: f4927c95fa74247304af703d4dae4396dcbc5a2f
      https://github.com/llvm/llvm-project/commit/f4927c95fa74247304af703d4dae4396dcbc5a2f
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll
    M llvm/test/CodeGen/AMDGPU/shl.v2i64.ll

  Log Message:
  -----------
  [AMDGPU] Make v2x64 BUILD_VECTOR legal on gfx1251 (#204470)


  Commit: 08c728e8528c9584bc1fe0f46bbdd657e368be91
      https://github.com/llvm/llvm-project/commit/08c728e8528c9584bc1fe0f46bbdd657e368be91
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/cmake/modules/ClangConfig.cmake.in
    R cmake/Modules/GetTripleCMakeSystemName.cmake
    R cmake/Modules/NormalizeTriple.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/runtimes/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133)

Reverts llvm/llvm-project#203504

Breaks build pending #205130


  Commit: 91e344bd26bf18badeaf5bd8e5cf41f1f7e1cca4
      https://github.com/llvm/llvm-project/commit/91e344bd26bf18badeaf5bd8e5cf41f1f7e1cca4
  Author: youngd007 <davidayoung at meta.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [lldb][bazel] Add the Windows process plugin to the bazel build (#203146)

Add a cc_library for the native Windows process plugin
(ProcessWindowsCommon),
  gated to @platforms//os:windows, and register it via the dedicated
@LLDB_PROCESS_WINDOWS_PLUGIN@ slot in the generated Plugins.def. This
mirrors the
CMake build, which special-cases ProcessWindowsCommon into that slot so
it is
initialized after all other process plugins but before ProcessGDBRemote.

With the help of claude.

Tested internally at Meta by converting Bazel -> BUCK and confirming
matches working BUCK contents for windows lldb build.


  Commit: 6e562169fd026e26124fe4e2e435d3a4c522ffe2
      https://github.com/llvm/llvm-project/commit/6e562169fd026e26124fe4e2e435d3a4c522ffe2
  Author: Sungbin Jo <goranmoomin at daum.net>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/MachOEmitter.cpp
    A llvm/test/ObjectYAML/MachO/endianness.yaml

  Log Message:
  -----------
  [yaml2obj][MachO] Fix byte order of the indirect symbol table (#205044)

This is a follow-up of PR #203680 that added the test case
`linkedit-alignment.test`, which currently fails on big-endian buildbots
(see: https://lab.llvm.org/buildbot/#/builders/98/builds/3084 and
https://lab.llvm.org/buildbot/#/builders/114/builds/906).

The failure seems to be on `yaml2obj`, where `writeDynamicSymbolTable`
emits an indirect symbol table in host byte order rather than the
specified object's byte order (i.e. the `IsLittleEndian` field value).

This PR adds the missing swap and a regression test that round-trips all
endian-sensitive fields with both endianness values.


  Commit: 1a63fca933a0e8a3cb807d462ef50901a90f83d2
      https://github.com/llvm/llvm-project/commit/1a63fca933a0e8a3cb807d462ef50901a90f83d2
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [bazel] Disable buildkite for PluginProcessWindowsCommon (#205141)


  Commit: 08d766ba6d1ffdeb894c0c935465f7134aef6dfc
      https://github.com/llvm/llvm-project/commit/08d766ba6d1ffdeb894c0c935465f7134aef6dfc
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/run-benchbot
    M libcxx/utils/ci/lnt/run-benchmarks

  Log Message:
  -----------
  [libc++][lnt] Allow retaining build artifacts in run-benchbot (#205146)

Also, as a drive-by, introduce `--results-dir` to specify where to put
the JSON results instead of using `--build-dir` for that.

Assisted by Claude


  Commit: a88b88bdd346282a71b2f01b1513936280c20a93
      https://github.com/llvm/llvm-project/commit/a88b88bdd346282a71b2f01b1513936280c20a93
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx29Papers.csv
    M libcxx/include/__utility/constant_wrapper.h
    M libcxx/include/utility
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/convert.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/cw.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/cw_fixed.array.ctor.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/cw_fixed.ctor.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/subscript.pass.cpp
    A libcxx/test/std/utilities/const.wrap.class/template.verify.cpp
    M libcxx/test/std/utilities/const.wrap.class/types.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/unary_ops.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P4206R0 Revert string support in std::constant_wrapper (#203338)

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

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 20cf19f0c34579273382e20947ea8e6373949796
      https://github.com/llvm/llvm-project/commit/20cf19f0c34579273382e20947ea8e6373949796
  Author: Xavier Roche <roche at httrack.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/include/__math/abs.h
    M libcxx/test/std/numerics/c.math/abs.pass.cpp

  Log Message:
  -----------
  [libc++] std::abs support for _BitInt(N) and __int128 (#196532)

`std::abs` does not accept `__int128` or signed `_BitInt(N)`: the call
is ambiguous and fails to compile (#204212).

This adds an explicit `abs(__int128_t)` overload and an
`abs(_BitInt(N))` overload that deduces the width, so every signed
`_BitInt` gets a same-type result. `_BitInt` does not integer-promote,
so without this overload a narrow signed `_BitInt` would be an ambiguous
call against `abs(int/long/long long)` instead of promoting the way
`signed char` and `short` do. Standard narrow types are unchanged: they
still go through `abs(int)`.

Part of the [_BitInt(N) libc++
effort](https://discourse.llvm.org/t/bitint-n-support-in-libc-investigations-possible-improvements-looking-for-guidance/90063).

Fixes #204212

Assisted-by: Claude (Anthropic)

---------

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


  Commit: 86f2e71cb8d165b59ad31a442b2391e23826133e
      https://github.com/llvm/llvm-project/commit/86f2e71cb8d165b59ad31a442b2391e23826133e
  Author: John Paul Jepko <john.jepko at ericsson.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/pr22954.c
    M clang/test/Sema/builtin-memcpy.c
    M clang/test/Sema/builtin-object-size.c
    M clang/test/Sema/warn-fortify-source.c
    A clang/test/Sema/warn-stringop-overread.c
    M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp

  Log Message:
  -----------
  [Clang][Sema] Add -Wstringop-overread warning for source buffer overreads (#183004)

This PR adds a new `-Wstringop-overread` warning that diagnoses calls to
memory functions where the specified size exceeds the size of the source
buffer, increasing parity with GCC's `-Wstringop-overread`.

The warning is emitted when the read size is a compile-time constant
that is greater than the size of the source buffer (when known
statically).

This check applies to the following functions:
- `memcpy`, `memmove`, `mempcpy` (and `__builtin_` / `__builtin___*_chk`
variants)
- `memchr`
- `memcmp`, `bcmp`

Some of the existing code for `-Wfortify-source` was refactored into a
helper class to make its lambdas accessible to other functions.

Fixes #83728

Assisted-by: claude-opus-4.6

---------

Co-authored-by: Erich Keane <ekeane at nvidia.com>


  Commit: 1f20833fa42ddec64e170b2738e5cdbc007bb5de
      https://github.com/llvm/llvm-project/commit/1f20833fa42ddec64e170b2738e5cdbc007bb5de
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/active-lane-mask.ll

  Log Message:
  -----------
  [ValueTracking] Mark frexp, ALM propagates poison (#205139)


  Commit: 582a20269e2cc190ce73151f51e99c9e14ffc202
      https://github.com/llvm/llvm-project/commit/582a20269e2cc190ce73151f51e99c9e14ffc202
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
    A llvm/lib/Target/RISCV/RISCVQCRelaxMarking.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    A llvm/test/CodeGen/RISCV/qc-access-marking.ll

  Log Message:
  -----------
  [RISCV] Add a Pass for adding %qc.access specifiers (#201938)

Qualcomm's ABI has Access Relocation Markers, which are used to enable
more linker relaxations. This change implements a pass which will
annotate loads and stores (accesses) which are the single user of a
`qc.e.li`-materialized address with these markers so they can be relaxed
in the linker.

This is a follow-up to #188671.


  Commit: 93b1f81e03ef4c717a9d222b46f78c38bcff0a3f
      https://github.com/llvm/llvm-project/commit/93b1f81e03ef4c717a9d222b46f78c38bcff0a3f
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/generate_canonical.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_int_distribution.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    A libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp

  Log Message:
  -----------
  [libc++][random] Applied `[[nodiscard]]` to `<random>` (#204970)

Towards: #172124

-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
- https://wg21.link/rand

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


  Commit: ef22d07c2c4fc3209cc14de2734fbb336ddf42b4
      https://github.com/llvm/llvm-project/commit/ef22d07c2c4fc3209cc14de2734fbb336ddf42b4
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use early exit to unindent some code, NFC (#205150)


  Commit: 2bb8a56e7dfc6e0a90c0464d9b65640f0252883d
      https://github.com/llvm/llvm-project/commit/2bb8a56e7dfc6e0a90c0464d9b65640f0252883d
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMMCInstLower.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp

  Log Message:
  -----------
  [MC] emitCodeAlignment: take MCSubtargetInfo by reference. NFC (#205140)

The fragment member cannot be null, and the sibling streamer hooks
(emitInstruction, initSections, emitPrefAlign) already take it by
reference.


  Commit: 1d8a54f7cf233be64ffce08a3c5697ea8f1cccb5
      https://github.com/llvm/llvm-project/commit/1d8a54f7cf233be64ffce08a3c5697ea8f1cccb5
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 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/Lowering/const-array-bulk-lowering-fallbacks.cir
    M clang/test/CIR/Lowering/const-array-of-pointers.cir

  Log Message:
  -----------
  [CIR] Lower const arrays as a single llvm.mlir.constant (#203590)

When compiling the blender benchmark for SPEC CPU2017, we hit a case
where a very large array (more than 400k elements) is initialized with
constant values. However, because it contains trailing zeros, CIR
generates a constant record initializer (an array of elements, plus a
zero-initialized trailing array). We were lowering this to the LLVM
dialect using a global initializer function with a huge number of calls
to insertelement. The subsequent lowering to LLVM IR constant folded
back to a constant initializer, but it took about 40 minutes to compile.

The recent fix to avoid calling insertelement for the array
initialization didn't fix this case because it handled only arrays, not
records.

This change updates the lowering to the LLVM dialect to lower constant
array attributes to a single llvm.mlir.const value rather than
attempting to build a chain of insertvalue ops whenever possible.


  Commit: 8140495ed285468512e8b0c0fc576234750bd15f
      https://github.com/llvm/llvm-project/commit/8140495ed285468512e8b0c0fc576234750bd15f
  Author: Bidhan <bidhan619 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFFrameLowering.cpp
    M llvm/lib/Target/BPF/BPFFrameLowering.h
    A llvm/test/DebugInfo/BPF/dbg-location-fbreg.ll

  Log Message:
  -----------
  [BPF] override getFrameIndexReference for frame object offsets (#204722)

### Summary

The BPF backend currently does not override `getFrameIndexReference()`.
Since BPF uses a fixed frame pointer (R10), frame object offsets are
already expressed relative to the frame pointer. The generic
`TargetFrameLowering::getFrameIndexReference()` implementation adjusts
offsets using the stack size, which is not appropriate for BPF.

This PR overrides `getFrameIndexReference()` to return the correct frame
object offsets for the BPF frame model, resulting in accurate debug
locations for stack variables. For example, the stack variable `local`
in the reproducer below previously received:

```
DW_AT_location (DW_OP_fbreg +0)
```

and now correctly receives:

```
DW_AT_location (DW_OP_fbreg -32)
```

which matches the actual location of the stack object relative to the
frame pointer.

-----

**Rust code snippet**

```
#[repr(C)]
#[derive(Copy, Clone)]
pub struct S {
    pub a: u64,
    pub b: u64,
    pub c: u64,
}

#[unsafe(no_mangle)]
pub extern "C" fn entry(x: u64) -> u64 {
    let mut local = S { a: x, b: x + 1, c: x + 2 };

    let ptr_to_b = &mut local.a as *mut u64;
    let ptr_to_b = core::hint::black_box(ptr_to_b);

    unsafe {
        core::ptr::write_volatile(ptr_to_b, x + 42);
    }

    unsafe { core::ptr::read_volatile(ptr_to_b) }
}
```

**Build commands**

```
> rustc +nightly repro.rs --emit=llvm-ir -g -O --crate-type=lib -o repro.l
> ./build/bin/lc repro.l -march=bpfel -O2 -filetype=obj -o repro.o
> ./build/bin/lvm-dwarfdump --debug-info --debug-loc --debug-loclists repro.o > repro.debug
```

**DW_TAG_variable info for variable "local"**

Before patch:  
```
0x00000114:         DW_TAG_variable
                      DW_AT_location	(DW_OP_fbreg +0)
                      DW_AT_name	("local")
                      DW_AT_alignment	(8)
                      DW_AT_decl_file	("/home/LLVM/llvm-project/repro.rs")
                      DW_AT_decl_line	(11)
                      DW_AT_type	(0x000001b8 "repro::S")
```

After patch:   
```
0x00000114:           DW_TAG_variable
                        DW_AT_location	(DW_OP_fbreg -32)
                        DW_AT_name	("local")
                        DW_AT_alignment	(8)
                        DW_AT_decl_file	("/home/LLVM/llvm-project/repro.rs")
                        DW_AT_decl_line	(11)
                        DW_AT_type	(0x000001bc "repro::S")
```


  Commit: 46995fb32b999c6332fbd1bdfb84d79cad47195f
      https://github.com/llvm/llvm-project/commit/46995fb32b999c6332fbd1bdfb84d79cad47195f
  Author: Akhil Goel <akhil.goel at intel.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/MathToXeVM/MathToXeVM.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    A mlir/test/Conversion/MathToXeVM/math-to-ocl.mlir

  Log Message:
  -----------
  [mlir][Math][XeVM] Add Math to OCL conversion patterns (#198370)

This PR adds conversion patterns to convert supported math ops to SPIR-V
OpenCL builtin calls. These lowerings correspond to `OpExtInst` calls
into the OpenCL SPIR-V extended instruction set via mangled
`__spirv_ocl_` entry points for f32/f64 variants.


  Commit: 49a0e107e9f0d244d41eb766c67d02900eff8ee3
      https://github.com/llvm/llvm-project/commit/49a0e107e9f0d244d41eb766c67d02900eff8ee3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/Verifier.cpp
    A llvm/lib/IR/VerifierAMDGPU.cpp
    A llvm/lib/IR/VerifierInternal.h
    M llvm/test/Verifier/callbr-intrinsic.ll
    M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn

  Log Message:
  -----------
  [RFC][NFCI][IR] Extract AMDGPU-specific verification logic into `VerifierAMDGPU.cpp` (#204284)

`Verifier.cpp` is large and already mixes generic IR verification with
target-specific checks. We also have a growing amount of AMDGPU verifier
logic downstream, which would all end up in the same file if we don't
address this, and that is not ideal.

This patch extracts AMDGPU-specific verification logic into a separate
`VerifierAMDGPU.cpp` file, with shared infrastructure
(`VerifierSupport`) moved into `VerifierInternal.h`.

This is purely a code organization change, not a target-dependent IR
verifier. All checks remain compiled and linked into `LLVMCore`
regardless of the target triple. The extracted functions are called
unconditionally at well-defined extension points in `Verifier.cpp`, and
each function internally gates on target-specific conditions (for
example, triple checks or intrinsic IDs) as needed. The file is strictly
limited to AMDGPU-specific IR constructs (amdgcn intrinsics, AMDGPU
module flags, etc.), and does not contain generic IR rules that vary by
target.

This PR deliberately avoided introducing polymorphism, since this is not
a target-dependent verification framework. Instead, this follows a
pattern similar to TargetParser (for example `AMDGPUTargetParser.cpp`):
flat file layout, free functions, no registration, and unconditional
compilation.

Other targets that want similar separation can follow the same pattern.

Open to suggestions on whether there is a better long-term way to
structure this.


  Commit: 39f5357397ef97aa2143360f3613decef981d02b
      https://github.com/llvm/llvm-project/commit/39f5357397ef97aa2143360f3613decef981d02b
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf

  Log Message:
  -----------
  [flang][cuda] Apply implicit managed attribute to pointer variables under -gpu=mem:managed (#204634)

When -gpu=mem:managed is active with CUDA Fortran enabled, only
allocatable variables were implicitly given the managed CUDA data
attribute. Pointer variables were left without it, causing their
allocations to use host memory instead of cudaMallocManaged.

This patch extends the implicit managed attribute in
FinishSpecificationPart to also cover pointer symbols. A
LanguageFeature::CUDA guard is added so the attribute is only applied
when CUDA Fortran semantics are active. The implicit pinned attribute
(-gpu=mem:pinned) remains allocatable-only.


  Commit: 04baf7ed88bc833a599d20bafb07fbceccade4a7
      https://github.com/llvm/llvm-project/commit/04baf7ed88bc833a599d20bafb07fbceccade4a7
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [SDAG][LegalizeType] Implement result vector widening for VECTOR_DEINTERLEAVE (#203105)

I accidentally found that we haven't implemented result vector widening
for `ISD::VECTOR_DEINTERLEAVE`. This patch implements such type
legalization.

---------

Co-authored-by: Simon Pilgrim <git at redking.me.uk>
Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 738fecbc68e2e3ca04efd26db648eff57f2456ff
      https://github.com/llvm/llvm-project/commit/738fecbc68e2e3ca04efd26db648eff57f2456ff
  Author: Kunal Pathak <kunalspathak.github at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-profgen/aarch64-disassemble-all-features.test
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Enable all AArch64 instructions for disassembly (#204619)

llvm-profgen builds its MCSubtargetInfo from
`ObjectFile::getFeatures()`. For AArch64 ELF objects this often produces
an empty feature set, so the disassembler falls back to the baseline
Armv8.0-A ISA and rejects valid feature-gated instructions such as LSE
atomics and RCPC loads.

`llvm-objdump` already handles this by [adding +all for AArch64
disassembly](https://github.com/llvm/llvm-project/blob/1e2d1bbc12f6a5f5931c77d39894ee1b8679f5f8/llvm/tools/llvm-objdump/llvm-objdump.cpp#L2823-L2824)
when neither -mattr nor -mcpu is specified. Match that behavior in
`llvm-profgen` so valid AArch64 instructions are not reported as invalid
and their addresses are preserved in profgen's code and branch maps.

Add a regression test covering an AArch64 binary containing `ldaddal`
and `ldapr` without object-level feature metadata.

---------

Co-authored-by: Kunal Pathak <kupathak at fb.com>


  Commit: 56434aaf66507e567317655a05dd7da918f90d81
      https://github.com/llvm/llvm-project/commit/56434aaf66507e567317655a05dd7da918f90d81
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Bump minimum required sphinx Python to 3.8 (#203963)

There seems to be de-facto use of at least 3.6 in docs, namely:

* Use of pathlib (3.4) in various places
* Format f-strings (3.6) and used in clang/docs/ghlinks.py

I don't see a strong reason to maintain the divide in minimum version
between test/docs, especially considering the "FIXME" indicating
the 3.0 lower bound was just a guess to begin with.

Change-Id: I11e00295ae0a13ec0f1c5cefbb2fdd2db272b152


  Commit: bf3652b1e7eb0633c13afcc23bbc238f5e7f9ec8
      https://github.com/llvm/llvm-project/commit/bf3652b1e7eb0633c13afcc23bbc238f5e7f9ec8
  Author: Iñaki Amatria Barral <140811900+inaki-amatria at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-cov/show-colors-uninit.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp

  Log Message:
  -----------
  [llvm-cov] Init `ViewOpts.Colors` before `error()` (#205001)

The `commandLineParser` lambda calls `error()` at several points before
`ViewOpts.Colors` is set. `error()` uses `ViewOpts.colored_ostream()`
which reads `Colors`, triggering undefined behavior (load of
uninitialized `bool`).

Fix by moving the `Colors` initialization block to just after
`ParseCommandLineOptions`, before any `error()` call in the lambda. This
ensures error messages are always rendered with properly initialized
color settings.


  Commit: a60ad3e35514a733f19e6f2ac6bb7fe558c04441
      https://github.com/llvm/llvm-project/commit/a60ad3e35514a733f19e6f2ac6bb7fe558c04441
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 46995fb (#205155)

This fixes 46995fb32b999c6332fbd1bdfb84d79cad47195f.

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


  Commit: 55d7f777d958a64ed5ef31be269c3005ddd6c7a6
      https://github.com/llvm/llvm-project/commit/55d7f777d958a64ed5ef31be269c3005ddd6c7a6
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmHSA.cpp
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmHSADefs.h
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmInternal.h
    A compiler-rt/test/profile/AMDGPU/device-basic.hip
    A compiler-rt/test/profile/AMDGPU/device-early-collect.hip
    A compiler-rt/test/profile/AMDGPU/device-no-kernel.hip
    A compiler-rt/test/profile/AMDGPU/device-symbols.hip
    A compiler-rt/test/profile/AMDGPU/lit.local.cfg.py
    A compiler-rt/test/profile/GPU/instrprof-hip-basic.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-collect-after.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-counter-correctness.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-coverage.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-device-branching.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-fork-safety.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multi-gpu.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multi-process-merge.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multiple-kernels.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-nondefault-device.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-pgo-use.hip
    A compiler-rt/test/profile/GPU/lit.local.cfg.py
    A compiler-rt/test/profile/instrprof-rocm-bounds-dedup.cpp
    A compiler-rt/test/profile/instrprof-rocm-grow-array.cpp
    M compiler-rt/test/profile/lit.cfg.py
    M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel

  Log Message:
  -----------
  [PGO][HIP] HSA-introspection device profile drain + GPU PGO tests (#203056)

## Summary

Follow-up to #202095 (now landed). #202095's host-shadow device-profile
drain can
only collect device counters for kernels that registered a host-side
shadow via
`__hipRegisterVar`. Device-linked programs (e.g. RCCL), whose
instrumented code
objects are linked directly into the device image with no host shadow,
are never
drained.

This adds a **supplemental, Linux-only HSA-introspection drain** that
runs after
the host-shadow drain: it walks each GPU agent, enumerates only the code
objects
actually resident there, reads each one's `__llvm_profile_sections`
table on the
device, and routes them through the existing `processDeviceOffloadPrf()`
path so
the emitted `.profraw` layout is identical. A content-dedup set keyed on
the
`(data, counters, names)` device-pointer triple ensures a section
already drained
by the host-shadow pass is not drained twice, so the two passes compose
without
double-counting.

It is purely additive — it does not modify #202095's host-shadow drain
or its
launch-tracking. Highlights:

- `compiler-rt/lib/profile/InstrProfilingPlatformROCmHSA.cpp`: HSA
agent/segment/
symbol walk + dedup; record drained bounds after each host-shadow drain;
lazy
  HSA init (no library constructor, for fork-safety).
- Because the HSA walk only touches resident code objects, it lets us
avoid the
host-shadow drain's collect-all fallback on Linux. When **no** kernel
launch was
tracked (program never launches, collects before its first launch, or
launches
only via an untracked API), the host-shadow pass is skipped and the HSA
drain
covers it safely — instead of faulting/hanging reading a non-resident
device on
a multi-GPU host. This also closes the silent-data-loss gap for
untracked launch
  APIs (`hipExtLaunchKernel`, cooperative/graph launches).
- `clang/lib/Driver/ToolChains/Clang.cpp` / `HIPAMD.cpp`: link the
device profile
runtime on both the new-offload-driver (`LinkerWrapper::ConstructJob`)
and
traditional (`lld`) link paths, guarded by `needsProfileRT` + VFS
existence.
- New GPU/AMDGPU HIP device-PGO lit tests, gated by `hip`/`amdgpu`
features
(auto-detected from the toolchain + a visible GPU) so they report
UNSUPPORTED
rather than fail when no GPU is present. Plus GPU-free host unit tests
for the
device-profile host helpers that run everywhere, including upstream CI.

## Test plan

- 4x gfx90a (`gfx90a:sramecc+:xnack-`), ROCm 7.1.
- GPU device tests run through standard lit:
`llvm-lit -sv <build>/.../compiler-rt/test/profile/Profile-x86_64` over
the
`GPU/` and `AMDGPU/` subdirectories. The profile `lit.cfg.py`
auto-detects a
visible GPU (`amdgpu-arch`) and the HIP runtime (`libamdhip64`) and
exposes the
`hip`/`amdgpu`/`multi-device` features and the `%amdgpu_arch` /
`%hip_lib_path`
substitutions; both are overridable via `--param amdgpu_arch=… /
hip_lib_path=…`.
- **15 device tests passed, 0 failed.** Covers: basic/coverage/pgo-use,
multiple-kernels, device-branching, multi-gpu and non-default-device
drain,
early-collect / no-kernel edges, RDC vs non-RDC
`__llvm_profile_sections`,
dedup (host-shadow drains the used device, HSA finds it and dedups), and
  fork-safety (the RCCL parent-no-HIP / kernel-in-forked-child pattern).
- On a host without a GPU + ROCm/HIP (e.g. upstream CI) those device
tests report
UNSUPPORTED instead of failing, and the GPU subdirectories serialize via
a
  size-1 `gpu` lit parallelism group when they do run.
- GPU-free host unit tests run anywhere the profile suite runs
(including upstream
  CI): `instrprof-rocm-grow-array.cpp` (the dynamic-array helper) and
`instrprof-rocm-bounds-dedup.cpp` (the `(data, counters, names)` dedup
table
  that backs the "drain each counter set once" guarantee).
- Build is warning-clean and `clang-format` clean.

---------

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 42d6d5b44d6170cceeacd2ae1b83335f72f0fcba
      https://github.com/llvm/llvm-project/commit/42d6d5b44d6170cceeacd2ae1b83335f72f0fcba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/gfx902-without-xnack.ll
    M llvm/test/CodeGen/AMDGPU/hsa-default-device.ll
    M llvm/test/CodeGen/AMDGPU/hsa-func.ll
    M llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/target-id-xnack-always-on.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
    A llvm/test/MC/AMDGPU/amd-amdgpu-isa-malformed-target-id.s
    A llvm/test/MC/AMDGPU/amdgcn-target-directive-triple-env.s
    A llvm/test/MC/AMDGPU/amdgcn-target-malformed-target-id.s
    M llvm/test/MC/AMDGPU/buffer-op-swz-operand.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/hsa-exp.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx1250-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx1251-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx13-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/isa-version-hsa.s
    M llvm/test/MC/AMDGPU/isa-version-pal.s
    M llvm/test/MC/AMDGPU/isa-version-unk.s
    M llvm/test/MC/AMDGPU/user-sgpr-count.s

  Log Message:
  -----------
  AMDGPU: Refactor AMDGPUTargetID to not store MCSubtargetInfo (#204315)

Store the triple string and GPUKind instead. The dependence
on checking AMDHSA seems like an anti-feature, but maintain the
behavior of not printing the modifiers for other OSes. Start
parsing the target ID instead of performing a direct string
comparison. Also improve test coverage for the treatment of the
environment component of the triple. The main behavioral change
is this will now produce normalized triples in the output and
diagnostics. Practially, this means all of the places that
currently emit "--" will be expanded into "-unknown-".

Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 9b1b03ef26a936efc51b11c1955ff270e80d87e9
      https://github.com/llvm/llvm-project/commit/9b1b03ef26a936efc51b11c1955ff270e80d87e9
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
    M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll

  Log Message:
  -----------
  [AMDGPU] Update packed FP32 intrinsic cost model (#205145)

Intrinsics will not have packed vector benefit if they don't have 
the corresponding packed instructions.


  Commit: 81638b092dd0c0a0c299081a6accd2f59e3f6a7c
      https://github.com/llvm/llvm-project/commit/81638b092dd0c0a0c299081a6accd2f59e3f6a7c
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt

  Log Message:
  -----------
  [AMDGPU] Add MC omod support for bf16 trans instructions (#205144)

Based on recent gfx1250 sp3 update. Refer to DEGFXSP3-664


  Commit: cd89a8675cfef4e1efca258a89fae9ae903e3e3c
      https://github.com/llvm/llvm-project/commit/cd89a8675cfef4e1efca258a89fae9ae903e3e3c
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-pseudoprobe.ll
    A llvm/test/Transforms/SimplifyCFG/hoist-common-skip-pseudoprobe.ll

  Log Message:
  -----------
  [SimplifyCFG] Allow hoisting in the presence of pseudoprobes (#199753)

Fix regressions in the presence of pseudoprobes that prevents
SimplifyCFG from hoisting instructions into the predecessor. Teach
`hoistCommonCodeFromSuccessors` and `foldBranchToCommonDest` to ignore
pseudo probes and drop them when the BB is eliminated.

The minor loss of profile quality for these cases are justified, as not
performing these hoists degrades performance more and blocks downstream
passes like loop-vectorize (can be upto 30% in 526.blender_r and
525.x264_r).


  Commit: dc520fcd90527d196a676795d20539440de9442b
      https://github.com/llvm/llvm-project/commit/dc520fcd90527d196a676795d20539440de9442b
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py

  Log Message:
  -----------
  [lldb][tests] Fix FS timing issue in `TestRerunAndExprDylib`. (#205116)

This PR fixes a timing issue that made `TestRerunAndExprDylib` fail with
a small probability. The test rebuilds a library; however, the build and
the re-build may fall into the same timestamp if the underlying
filesystem only has second granularity such that LLDB doesn't reload the
rebuilt library for the second execution.

The fix consists in artifically aging the library file from the first
build, i.e., setting its timestamp 10 seconds into the past. This not
only guarantees that LLDB reloads the file but also also that it is
rebuilt, so the explicit removing is now unnecessary and removed.

This issue exists for at least six months, possible since the tests
exists; I was not able to test older versions. However, we have recently
seen frequent failures, probably due to some change in our underlying
testing infrastructure.

Signed-off-by: Ingo Müller <ingomueller at google.com>


  Commit: e6199d8f36263f018b47ba8fd1fd2f77e477b0ac
      https://github.com/llvm/llvm-project/commit/e6199d8f36263f018b47ba8fd1fd2f77e477b0ac
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  AMDGPU: Temporarily restore disassembler's dependency on TargetParser (#205175)

Reverts part of #204315


  Commit: c046d4b47cd5c8c75efa8b93d0c1fbfff54c2559
      https://github.com/llvm/llvm-project/commit/c046d4b47cd5c8c75efa8b93d0c1fbfff54c2559
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [GitHub] Add googlewalt to Bazel codeowners (#205174)


  Commit: 63692a910c10abb0a6ae67f99da7ffc8a1f3f964
      https://github.com/llvm/llvm-project/commit/63692a910c10abb0a6ae67f99da7ffc8a1f3f964
  Author: newgre <jannewger at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [ProfileData] Avoid unnecessary copies. (#204875)

Make `Frame` moveable and avoid some unnecessary copies in `RawMemProfReader`. Unnecessary copies fixed in this PR were found by the CSan prototype described in the RFC [1] CopySanitizer (CSan): Detecting unneccessary object copies at runtime.

[1] https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038

Co-authored-by: Jan Newger <jannewger at google.com>


  Commit: 223bdef73f761f22353744eeea46663ed0941926
      https://github.com/llvm/llvm-project/commit/223bdef73f761f22353744eeea46663ed0941926
  Author: Mohammed Ashraf <125150223+Holo-xy at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp

  Log Message:
  -----------
  [BoundsSafety] unify ParseLexedAttribute (#186033)

Resolves #93263


  Commit: a1cfa786c96fee1ce63d034674d7aeb4cc9cc5d9
      https://github.com/llvm/llvm-project/commit/a1cfa786c96fee1ce63d034674d7aeb4cc9cc5d9
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Core/Section.h
    M lldb/source/Core/Section.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
    M lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
    A lldb/test/Shell/ObjectFile/ELF/build-id-case-debug-only.yaml

  Log Message:
  -----------
  Fix SectionList::ReplaceSection to not replace incorrect section. (#204677)

We use SectionList::ReplaceSection to check for some sections in the
main object file and in separate debug info files. It was relying on
section IDs being consistent between different individual section lists
in different object files which does not work. I fixed this by not using
a section ID when replacing a section, but using the section shared
pointer so there can be no errors.


  Commit: 982646f33d1ac7872832c2f3969dc83a762eab5d
      https://github.com/llvm/llvm-project/commit/982646f33d1ac7872832c2f3969dc83a762eab5d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll

  Log Message:
  -----------
  [LSR] Preserve LCSSA in SCEVRewriter

This is necessery to fix some regressions when switching to the NewPM
and seems to improve optimization quality in some cases due to LSR
currently not understanding loop nests (usage of getSCEV vs
getSCEVScoped). This patch just enables LCSSA
preservation for SCEVRewriter and updates all the relevant tests. There
are some further fixes that are needed to get this fully working that
will be included in follow up patches. This patch also only changes
behavior in the NewPM path to get that unblocked while more work is done
on ensuring LCSSA preservation/requirements do not regress LSR.

Similar to #185373 (although without follow up fixes and a regression
test).

Regression test added for the specific NewPM case noticed is in
Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
(does not reproduce without the target triple).

Reviewers: arsenm, Meinersbur, fhahn, nikic, vikramRH

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


  Commit: 5b0cb22661a9a256fee7af77a79960d435ce8582
      https://github.com/llvm/llvm-project/commit/5b0cb22661a9a256fee7af77a79960d435ce8582
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
    M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll

  Log Message:
  -----------
  [LSR] Preserve LCSSA in critical edge splitting

This was another case where LSR failed to preserve LCSSA, which will
trigger an assertion under the NewPM. This is currently only enabled
under the NewPM to avoid pessimizing any optimizations while unblocking
work on the NewPM.

Reviewers: fhahn, vikramRH, nikic, arsenm

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


  Commit: 871990a01ea72cb2090e73e52b0e66605a770f34
      https://github.com/llvm/llvm-project/commit/871990a01ea72cb2090e73e52b0e66605a770f34
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll

  Log Message:
  -----------
  [LAA] Collect no-wrap predicates separately in getPtrStride/isNoWrap. (#203787)

Add an overload of getPtrStride and update isNoWrap to collect no-wrap
SCEV predicates in a vector, and have the caller add them to PSE if
needed.

This also requires to explicitly build the wrap predicate via
ScalarEvolution::getWrapPredicate (clearing statically implied flags)
rather than going through PredicatedScalarEvolution::setNoOverflow,
which can now be removed together with the flags map.

This also requires generalizing SCEVUnionPredicate::implies so a wrap
predicate can be recognized as implied by an existing wrap predicate
after applying equal predicates, avoiding redundant predicates when the
collected predicates are committed.

The only functional changes is re-ordering of runtime check groups in a
single test case; no functional IR changes across a large IR corpus (32k
modules)

To be used to avoid adding unnecessary wrap predicates during interleave
group analysis: https://github.com/llvm/llvm-project/pull/200807

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


  Commit: 3f0ef1efb26206c3f5d5621d86d740c7f466c67b
      https://github.com/llvm/llvm-project/commit/3f0ef1efb26206c3f5d5621d86d740c7f466c67b
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  Revert "[InstCombine] Merge consecutive assumes" (#205177)

Reverts llvm/llvm-project#204983 due to buildbot breakage (see
discussion in
https://github.com/llvm/llvm-project/pull/204983#issuecomment-4771424564)


  Commit: fe4ea7b81cad9c76d304370b3b4395df43cba9ec
      https://github.com/llvm/llvm-project/commit/fe4ea7b81cad9c76d304370b3b4395df43cba9ec
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/test/CIR/CodeGen/no-unique-address.cpp

  Log Message:
  -----------
  [CIR] Compute union base subobject for tail-padding reuse (#201428)

A [[no_unique_address]] field whose type is a union with reusable tail
padding made CIRGen trip the insertPadding "offset >= size" assertion in
CIRGenRecordLayoutBuilder. CIR sized the union member at its full size, so a
following field that the ABI places in the union's tail padding overlapped the
union and insertPadding asserted.

CIR already computed a distinct, smaller base subobject type for structs and
classes whose tail padding can be reused, but not for unions. A union has
reusable tail padding when one of its members is itself a [[no_unique_address]]
field with tail padding, which makes the union's data size smaller than its
size.

computeRecordLayout now builds that base type for unions too, sized from
getDataSize(), and lowerUnion emits the storage type plus trailing padding as
ordinary struct fields so the reusable padding is exposed, mirroring classic
CodeGen. The base-type gate also no longer skips records marked final, which
classic CodeGen never skipped and which otherwise hit the same assertion for a
final union with reusable tail padding.

This unblocks libcxx's std::expected tests, which lean on [[no_unique_address]]
over unions.


  Commit: 7ce49b34caa760403784fe2d541bf9feca4743a2
      https://github.com/llvm/llvm-project/commit/7ce49b34caa760403784fe2d541bf9feca4743a2
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [BOLT][Bazel] Configure Rewrite target backends (#205179)

`RewriteInstance.cpp` only creates target-specific `MCPlusBuilder`
instances when `X86_AVAILABLE` or `AARCH64_AVAILABLE` is defined. The
Bazel `Rewrite` target defines neither macro and hard-codes `TargetX86`,
so `createMCPlusBuilder()` returns null for both target backends defined
by the Bazel overlay. Derive the definitions and dependencies from the
generated `bolt_targets` list, restricted to the `TargetAArch64` and
`TargetX86` rules defined in this BUILD file, and use the same target
dependencies for `llvm-bolt`.

Validation: `buildifier -mode=check -lint=warn
utils/bazel/llvm-project-overlay/bolt/BUILD.bazel`; an equivalent
overlay change built and executed BOLT for Linux x86_64 and Linux
AArch64 in [hermetic-llvm's remote `//prebuilt/llvm:all`
build](https://app.buildbuddy.io/invocation/7943a005-c159-4cb9-af0e-00ffbaa40bb5).

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: faaec33ab9eadf3433ffe720d19028464f2c265d
      https://github.com/llvm/llvm-project/commit/faaec33ab9eadf3433ffe720d19028464f2c265d
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/test/AST/pr198903.cpp
    A clang/test/Analysis/pr169302.cpp

  Log Message:
  -----------
  [Clang][RAV] Simplify TraverseTemplateArgumentLocsHelper (#199131)

We were checking the result of getTemplateArgsAsWritten() to skip over
implicit instantiations, with an assert to ensure that it has the
desired effect, before checking getTemplateSpecializationKind() ==
TSK_ExplicitSpecialization which would skip over implicit instantiations
anyway. As the included tests show, the invariant that we were relying
on did not hold, but we no longer have any need to rely on that, we can
now just check the result of getTemplateSpecializationKind() directly.

Fixes: #198903
Fixes: #169302


  Commit: 162d84f0955b8e10fd6d84ba7443c2eb596582ef
      https://github.com/llvm/llvm-project/commit/162d84f0955b8e10fd6d84ba7443c2eb596582ef
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    A llvm/test/Transforms/LoopVectorize/X86/predicated-replicate-feeding-cast.ll

  Log Message:
  -----------
  [VPlan] Handle single-scalar casts in replicateByVF. (#205181)

Fixes a crash after https://github.com/llvm/llvm-project/pull/203057.


  Commit: e67b31a00e72ebb1b3a782c6bfcad9b51f173521
      https://github.com/llvm/llvm-project/commit/e67b31a00e72ebb1b3a782c6bfcad9b51f173521
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libunwind/src/UnwindRegistersSave.S

  Log Message:
  -----------
  [libunwind] Fix an uninitialized read of __ra_sign_state (#205152)

The Arm DWARF spec defines UNW_AARCH64_RA_SIGN_STATE as being zeroed
until the first .cfi_negate_ra_state / .cfi_set_ra_state [1]. The GPRs
struct containing __ra_sign_state is memcpy'd directly from the
unw_context_t, which in turn is initialized by __unw_getcontext. Since
it is a pseudo register, there is no corresponding state to restore in
__unw_resume.


https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst#44call-frame-instructions


  Commit: 8f249a7bd3bca35a5114aab85b5ce58ba4ca6461
      https://github.com/llvm/llvm-project/commit/8f249a7bd3bca35a5114aab85b5ce58ba4ca6461
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Utility/FileSpec.h
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Utility/FileSpec.cpp

  Log Message:
  -----------
  [lldb][NFC] FileSpec::GetFileNameStrippingExtension should return a StringRef (#205178)

No need to create a ConstString of a filename without its file
extension.


  Commit: 60b48545638f63669fde6c832e0689f78310f6ec
      https://github.com/llvm/llvm-project/commit/60b48545638f63669fde6c832e0689f78310f6ec
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h

  Log Message:
  -----------
  [SSAF] Let UnsafeBufferUsageExtractor & PointerFlowExtractor ignore templates (#198927)

Templates are ignored for two reasons:

- Template instantiations are still handled. Template facts can be
inferred from their instantiations.
- Templates are inherently difficult to reason about. Their ASTs can
contain dependent expression types (such as ParenListExpr) that
complicate analysis.


  Commit: 1f3d8cba700c2340bb223770932ebc054ce0b767
      https://github.com/llvm/llvm-project/commit/1f3d8cba700c2340bb223770932ebc054ce0b767
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp

  Log Message:
  -----------
  [BOLT] Route alignment options through BinaryContext (NFC) (#204902)

Consolidate all alignment-related `cl::opt` definitions into
`CommandLineOpts.cpp`, expose matching public members on `BinaryContext`,
and populate them from `RewriteInstance::adjustCommandLineOptions` (and
mirrored in `MachORewriteInstance`). Switch all readers in Aligner,
BinaryEmitter, LongJmp, BinaryFunction and the use-old-text logs to
`BC.*` instead of `opts::*`.


  Commit: bb8f468d260f3c063b9cf23f387ec4b27bc1b146
      https://github.com/llvm/llvm-project/commit/bb8f468d260f3c063b9cf23f387ec4b27bc1b146
  Author: David Green <david.green at arm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update some scalar types to integer in tests. NFC (#205190)


  Commit: 33e8502336c76591172fbae37209d31c1e90c7c6
      https://github.com/llvm/llvm-project/commit/33e8502336c76591172fbae37209d31c1e90c7c6
  Author: Bhavesh M <85327930+beamandala at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
    M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
    M mlir/test/Dialect/EmitC/wrap-func-in-class.mlir

  Log Message:
  -----------
  [mlir][EmitC] Make `GlobalOps` `FieldOps` in wrap-emitc-func-in-class pass (#203641)

Update the `WrapFuncInClassPass` pass so that `GlobalOp`s are moved into
the `ClassOp` as `FieldOps`. This respects MLIR's behavior of resolving
references to the closest parent operation that defines a symbol table
which is the `ClassOp` that we are creating in this pass.

Without this change, references to a `GlobalOp` in `GetGlobalOp` are
failing to resolve.

Details:
- Identify `GlobalOp`s
- Create a `FieldOp` within the `ClassOp` for each `GlobalOp`
- Delete the `GlobalOp`s after all functions have been wrapped in a
class. Doing this after every function can cause an error when multiple
functions refer to the same `GlobalOp`(s) which would be deleted after
the first function is wrapped in a class.

Also renamed `fName` parameter in `populateWrapFuncInClass` to
`funcName` to match naming in `WrapFuncInClass`.

Based on PR #153452. Key differences:
- No size is set for the `globalsToMove` `SmallVector` type because I'm
not sure if the number of global variables is consistent across
different models.
- `GlobalOp`s are deleted after all functions have been processed.
- Instead of directly cloning the `GlobalOp`, an equivalent `FieldOp` is
created
- `GetGlobalOp`s are translated to `GetFieldOp`s

Co-authored-by: [Jaddyen](https://github.com/Jaddyen)


  Commit: ef752a0780be31ac94be5f459ff60629136f4087
      https://github.com/llvm/llvm-project/commit/ef752a0780be31ac94be5f459ff60629136f4087
  Author: Daniel Hill <daniel.hill at mongodb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/eh-frame-hdr.test

  Log Message:
  -----------
  [BOLT] Emit .eh_frame_hdr before .eh_frame to prevent table scans from libdw (#201917)

resolves https://github.com/llvm/llvm-project/issues/201701 by moving
the `.eh_frame_hdr` section-header entry before `.eh_frame` before
assigning final section indices.

This lets BOLT binaries work with existing [libdw library logic
expecting the index before the
table](https://github.com/sourceware-org/elfutils/blob/67199e1c974db37f2bd200dcca7d7103f42ed06e/libdw/dwarf_getcfi_elf.c#L301),
preventing linear `.eh_frame` scanning.


  Commit: 7781a0c196acda252a1db67936b76e96e9971f4c
      https://github.com/llvm/llvm-project/commit/7781a0c196acda252a1db67936b76e96e9971f4c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Do not emit data transfer for constant read on the rhs (#205185)


  Commit: c97eb542a7c3202957da66758568230289b70697
      https://github.com/llvm/llvm-project/commit/c97eb542a7c3202957da66758568230289b70697
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/call47.f90

  Log Message:
  -----------
  [flang][Semantics] Do not require explicit interface checks for statement functions (#205023)

https://github.com/llvm/llvm-project/pull/198610 caused a regression,
where the
code path for explicit interface checks was also used for the statement
functions arg check. Refactor the code to avoid explicit interface
checks.

Fixes #203500

Assisted-by: AI


  Commit: 211ca98dd0a58600461f4d33ca5bf2a626558487
      https://github.com/llvm/llvm-project/commit/211ca98dd0a58600461f4d33ca5bf2a626558487
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/IR/invalid-data-member.cir

  Log Message:
  -----------
  [CIR] DataMemberAttr: replace flat index with GEP-style path (#200854)

`DataMemberAttr` stored a single field index relative to the immediately containing class, which broke when the member is inherited: `int Derived::*p = &Derived::x` with `x` in Base produced a spurious `errorNYI` because Derived's CIR record doesn't directly hold `x`.

The attribute now stores a GEP-style `member_path` — a sequence of CIR field indices stepping from the pointer's class type down to the member, one level per inheritance hop. `lowerDataMemberConstant` walks the path accumulating element offsets to produce the Itanium ABI byte value.

`buildMemberPath` searches the `destClass` record tree for the target field (`findFieldMemberPath`). `CK_BaseToDerivedMemberPointer` and `CK_DerivedToBaseMemberPointer` return `{}` in ConstExprEmitter, delegating to the APValue path which builds the correct path via `buildMemberPath`. Virtual bases are not yet handled.

`CK_ReinterpretMemberPointer` remains `errorNYI` on this branch; a follow-up PR will add that separately.


  Commit: 201cf31b84acbc80bf4a6d09197bc7e9df9bb4a5
      https://github.com/llvm/llvm-project/commit/201cf31b84acbc80bf4a6d09197bc7e9df9bb4a5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-scoped-origins.fir

  Log Message:
  -----------
  [flang] Reduce FIR AA overhead for functions with one scope. (#204009)

Avoid overheads of collectScopedOrigins and
getDeclarationScope/DominanceInfo
when the values passed to FIR AA belong to a function with a single
dummy scope.


  Commit: fa016f67531e2274f7a7e38d11461ef5efcc5827
      https://github.com/llvm/llvm-project/commit/fa016f67531e2274f7a7e38d11461ef5efcc5827
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/tools/llvm-cas/validation.test

  Log Message:
  -----------
  [llvm-cas] Fix validation test on Ubuntu / uutils v0.2.2, NFC (#205199)

Work around uutils/coreutils#9128 by implementing the 40 byte truncation
in Python. Otherwise, this test fails out of the box on Ubuntu 25.10.
GNU coreutils supports -s=arg, but Mac truncate does not. Resorting to
Python seemed like the cleanest solution. The next best idea was to use
subshells or other techniques to calculate the file size and subtract
40, but that seemed excessive.


  Commit: 5ad66bdcaff8bbcce63bb9aef317600ae253cfbf
      https://github.com/llvm/llvm-project/commit/5ad66bdcaff8bbcce63bb9aef317600ae253cfbf
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/ProjectGovernance.rst

  Log Message:
  -----------
  [docs] Minor edits to project governace docs (#203149)

s/non-private/public/

Pencil in the 2027 calendar year election dates, so they are posted well
in advance and we have a link anchor we can share.


  Commit: cd3bfc1f992612aff5df2c5d6c73d1c08a185880
      https://github.com/llvm/llvm-project/commit/cd3bfc1f992612aff5df2c5d6c73d1c08a185880
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll

  Log Message:
  -----------
  [SCEV] Preserve LCSSA when reusing dominating variable

This seems to just be a missing case in SCEV. This came up when looking
at making LSR preserve LCSSA for the NewPM. Regression test of that
nature has been added.

Reviewers: fhahn, nikic, arsenm

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


  Commit: 64d386e642e5ee3f31a4d0ef45454bef10b4ea90
      https://github.com/llvm/llvm-project/commit/64d386e642e5ee3f31a4d0ef45454bef10b4ea90
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/README.txt
    A llvm/docs/CMake.md
    R llvm/docs/CMake.rst
    A llvm/docs/CodeGenerator.md
    R llvm/docs/CodeGenerator.rst
    A llvm/docs/CodingStandards.md
    R llvm/docs/CodingStandards.rst
    A llvm/docs/CommandGuide/index.md
    R llvm/docs/CommandGuide/index.rst
    A llvm/docs/Contributing.md
    R llvm/docs/Contributing.rst
    A llvm/docs/DeveloperPolicy.md
    R llvm/docs/DeveloperPolicy.rst
    A llvm/docs/GettingInvolved.md
    R llvm/docs/GettingInvolved.rst
    A llvm/docs/GettingStarted.md
    R llvm/docs/GettingStarted.rst
    A llvm/docs/GettingStartedTutorials.md
    R llvm/docs/GettingStartedTutorials.rst
    A llvm/docs/GitHub.md
    R llvm/docs/GitHub.rst
    M llvm/docs/GitRepositoryPolicy.md
    M llvm/docs/InstrRefDebugInfo.md
    A llvm/docs/Passes.md
    R llvm/docs/Passes.rst
    A llvm/docs/ProgrammersManual.md
    R llvm/docs/ProgrammersManual.rst
    A llvm/docs/RFCProcess.md
    R llvm/docs/RFCProcess.rst
    A llvm/docs/Reference.md
    R llvm/docs/Reference.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    A llvm/docs/SourceLevelDebugging.md
    R llvm/docs/SourceLevelDebugging.rst
    M llvm/docs/SphinxQuickstartTemplate.md
    A llvm/docs/TableGen/index.md
    R llvm/docs/TableGen/index.rst
    A llvm/docs/TestingGuide.md
    R llvm/docs/TestingGuide.rst
    A llvm/docs/UserGuides.md
    R llvm/docs/UserGuides.rst
    A llvm/docs/WritingAnLLVMBackend.md
    R llvm/docs/WritingAnLLVMBackend.rst
    A llvm/docs/WritingAnLLVMNewPMPass.md
    R llvm/docs/WritingAnLLVMNewPMPass.rst
    A llvm/docs/WritingAnLLVMPass.md
    R llvm/docs/WritingAnLLVMPass.rst
    M llvm/docs/conf.py
    A llvm/docs/index.md
    R llvm/docs/index.rst
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/tools/reduce-chunk-list/reduce-chunk-list.cpp
    M llvm/utils/lit/tests/Inputs/shtest-define/examples/param-subst.txt

  Log Message:
  -----------
  [docs] Rename 22 popular LLVM docs .rst -> .md (#201243)

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

Update filename references, but leave the docs with reST syntax to
ensure rename detection works.

This intentionally breaks the documentation build, but I will immediately follow up by merging the PR that fixes it.


  Commit: 3e414a36cd82651e9d904e21ab444d3ca265d254
      https://github.com/llvm/llvm-project/commit/3e414a36cd82651e9d904e21ab444d3ca265d254
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/CMake.md
    M llvm/docs/CodeGenerator.md
    M llvm/docs/CodingStandards.md
    M llvm/docs/CommandGuide/index.md
    M llvm/docs/Contributing.md
    M llvm/docs/DeveloperPolicy.md
    M llvm/docs/GettingInvolved.md
    M llvm/docs/GettingStarted.md
    M llvm/docs/GettingStartedTutorials.md
    M llvm/docs/GitHub.md
    M llvm/docs/Passes.md
    M llvm/docs/ProgrammersManual.md
    M llvm/docs/RFCProcess.md
    M llvm/docs/Reference.md
    M llvm/docs/SourceLevelDebugging.md
    M llvm/docs/TableGen/index.md
    M llvm/docs/TestingGuide.md
    M llvm/docs/UserGuides.md
    M llvm/docs/WritingAnLLVMBackend.md
    M llvm/docs/WritingAnLLVMNewPMPass.md
    M llvm/docs/WritingAnLLVMPass.md
    M llvm/docs/conf.py
    M llvm/docs/index.md

  Log Message:
  -----------
  [docs] Migrate 22 popular LLVM docs to MyST (#201244)

This was done with LLM assistance.

I rebuilt the LLVM docs, opened all 22 docs in a browser and scrolled
through them, and caught and fixed a few errors.

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


  Commit: d9a1ed0c32ac6729c45ea6998281a1cd53c44fb6
      https://github.com/llvm/llvm-project/commit/d9a1ed0c32ac6729c45ea6998281a1cd53c44fb6
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M offload/test/CMakeLists.txt

  Log Message:
  -----------
  [offload] Add kernel replay tool to tests' dependencies (#205209)


  Commit: 9e80b89e9481a88333c83d1f48a4492cdb8a84aa
      https://github.com/llvm/llvm-project/commit/9e80b89e9481a88333c83d1f48a4492cdb8a84aa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb] Use heuristics to extend rather than replace error message (#205196)

When an attach fails, HandlePacket_A tries to explain why. The last two
checks are heuristics that discard any error debugserver already
produced for this specific failure.

The guess can be wrong, for example the PT_DENY_ATTACH test case from
#204688 is incorrectly reported as failing due to it running in a
non-interactive debug session on the bots.

Include debugserver's real error into the heuristic message, instead of
replacing it, so the real reason is never lost.


  Commit: e522c116b1e5180ac7a98f992895a296d3b75ef9
      https://github.com/llvm/llvm-project/commit/e522c116b1e5180ac7a98f992895a296d3b75ef9
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/unary-expr-or-type-trait-32bit.cpp

  Log Message:
  -----------
  [CIR] Use the AST result type for sizeof/alignof constants (#203942)

On targets where `size_t` is narrower than 64 bits (e.g. `i686`), CIR
codegen for `sizeof`/`alignof`/`__builtin_vectorelements` crashes with a
type/value bitwidth mismatch.

The result of these expressions is `size_t`, but the emitted integer
constant was built with a hardcoded 64-bit type. `EvaluateKnownConstInt`
returns an `APSInt` with the width of the AST result type (32 bits on
this target), so it no longer matches the `IntAttr`'s type and trips the
`IntAttr` verifier.

  ### How to Reproduce
  ```c++
  using size_t = decltype(sizeof(int));
  size_t size_of_int() { return sizeof(int); }

  clang -cc1 -std=c++20 -triple i686-unknown-linux-gnu -fclangir \
    -emit-cir test.cpp -o test.cir

  error: type and value bitwidth mismatch: 64 != 32
  clang: mlir/include/mlir/IR/StorageUniquerSupport.h:180:
    ... Assertion `succeeded(ConcreteT::verifyInvariants(...))' failed.
   #11 cir::IntAttr::get(mlir::Type, llvm::APInt const&)
   #12 ScalarExprEmitter::VisitUnaryExprOrTypeTraitExpr(...)
   #13 CIRGenFunction::emitScalarExpr(...)
```
### Fix
Form the IntAttr using the converted AST result type (convertType(e->getType())) instead of a hardcoded 64-bit type, matching classic codegen. The same path covers the fixed-vector __builtin_vectorelements case.


  Commit: a7263bea29efd710a1207afe5641fad54692284d
      https://github.com/llvm/llvm-project/commit/a7263bea29efd710a1207afe5641fad54692284d
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Breakpoint/Breakpoint.h
    M lldb/source/Breakpoint/Breakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

  Log Message:
  -----------
  [lldb] Remove ConstString from Breakpoint::GetMatchingFileLine (#205210)


  Commit: 2d0b2fb0e0d8fa198be51096923675de9a564f83
      https://github.com/llvm/llvm-project/commit/2d0b2fb0e0d8fa198be51096923675de9a564f83
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  Revert "[lldb][Windows] Remember server's primary stop thread on gdb-remote stops" (#205220)

Reverts llvm/llvm-project#203525 because it breaks TestRealDefinition.py


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

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    A flang/test/Semantics/modfile84.f90

  Log Message:
  -----------
  [flang][cuda][openacc] Emit an error when CUDA symbols are imported with CUDA disabled (#205207)


  Commit: bc4aadb7bfc2d00487c5965bc4f12a510db181a9
      https://github.com/llvm/llvm-project/commit/bc4aadb7bfc2d00487c5965bc4f12a510db181a9
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.cpp

  Log Message:
  -----------
  [lldb] Fix LuaState after #205210 (#205219)


  Commit: ff4bc6e5d96f1dabe2f82c289fa97889830fd08e
      https://github.com/llvm/llvm-project/commit/ff4bc6e5d96f1dabe2f82c289fa97889830fd08e
  Author: superdusty <superdusty at foxmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/ext-int.cpp

  Log Message:
  -----------
  [Clang] Fix crash when comparing fixed point type with BitInt (#199912)

Fixes #196948

Added checks in `handleFixedPointConversion`: reject fixed point/BitInt
comparisons

Now clang properly emits an error instead of crashing.

---------

Co-authored-by: cry <2091136672 at foxmail.com>


  Commit: 38df8cbd328efd43326ef18fc26a9a881f76cec1
      https://github.com/llvm/llvm-project/commit/38df8cbd328efd43326ef18fc26a9a881f76cec1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A lldb/test/API/macosx/deny-attach/Makefile
    A lldb/test/API/macosx/deny-attach/TestDenyAttach.py
    A lldb/test/API/macosx/deny-attach/main.c
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  [lldb] Survive ptrace(PT_DENY_ATTACH) when attaching (#204688) (#205198)

A process can opt out of being debugged with ptrace(PT_DENY_ATTACH). The
XNU kernel enforces this by delivering SIGSEGV to the *attaching*
process while it is still inside the ptrace(PT_ATTACHEXC) syscall. This
means debugserver gets killed before it can inspect the result. LLDB
only sees the dropped connection ("error: attach failed: lost
connection").

The condition can't be detected up front: the target's P_LNOATTACH flag
is not exposed to userspace. To work around this, install a temporary
SIGSEGV handler around the ptrace(PT_ATTACHEXC) call in AttachForDebug
and siglongjmp back out if it fires, turning the fatal signal into an
EPERM that propagates to lldb as a clear message:

```
error: attach failed: cannot attach to process N because it has
disabled debugging via ptrace(PT_DENY_ATTACH)
```

The handler only acts on a SIGSEGV that arrives on the attaching thread
while the guard is armed. Any other SIGSEGV restores the default handler
and re-raises. Genuine, unrelated, crashes still report normally.

rdar://44542907

Assisted-by: Claude


  Commit: c7e815b189ea5c0f8261ba13eb677465c992c625
      https://github.com/llvm/llvm-project/commit/c7e815b189ea5c0f8261ba13eb677465c992c625
  Author: Alexandre Isoard <isoard at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/OutArgLifetime.hlsl

  Log Message:
  -----------
  [HLSL] Emit lifetime.start before copy-in for inout parameters (#191917)

For inout parameters, Clang was emitting lifetime.start after the
copy-in store that initializes the temporary. Per LLVM's lifetime
semantics, any access to memory outside its lifetime is undefined
behavior, so the copy-in store was technically UB and the value was
undefined after lifetime.start.

Move EmitLifetimeStart into EmitHLSLOutArgLValues so that it is emitted
before EmitInitializationToLValue, putting the copy-in store within the
lifetime of the temporary.

---------

Co-authored-by: Alexandre Isoard <alexandre.isoard at amd.com>
Co-authored-by: Deric C. <cheung.deric at gmail.com>


  Commit: 52e00058960e90b1ccadd07b95ca05d13e1f1318
      https://github.com/llvm/llvm-project/commit/52e00058960e90b1ccadd07b95ca05d13e1f1318
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenCL.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaOpenCL.cpp
    A clang/test/SemaOpenCL/read-image-integer-linear-filter.cl

  Log Message:
  -----------
  [OpenCL] Warn if filter_mode is linear in read_image{i|ui} (#204086)

Per OpenCL spec:
The read_image{i|ui} calls support a nearest filter only. The
filter_mode specified in sampler must be set to CLK_FILTER_NEAREST;
otherwise the values returned are undefined.

Warn users when they apply a linear filter accidentally.
Address https://github.com/intel/compute-runtime/issues/379#issuecomment-4592083032

Assisted-by: Claude Sonnet 4.6


  Commit: dfe8b229d3ec40e49250cc587009d5752b58b087
      https://github.com/llvm/llvm-project/commit/dfe8b229d3ec40e49250cc587009d5752b58b087
  Author: yonghong-song <yhs at fb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp

  Log Message:
  -----------
  [BPF] Increase BPFMaxStoresPerMemFunc from 128 to 192 (#205222)

With commits [1] and [2], memory operations like memcpy/memmove lower to
a sequence of loads/stores whose width is the minimum of the source and
destination alignment, and the store count is bounded by
BPFMaxStoresPerMemFunc. For 1-byte alignment, the maximum copy length
that can be inlined is therefore 128 bytes.

This may regress cases that previously inlined. Consider a memcpy with
src alignment 8, dst alignment 1 and size 136. After [1]/[2], the store
width is the minimum alignment (1 byte), so the store count is 136,
which exceeds the 128 limit and the copy falls back. Before [1]/[2], the
store count was computed with a fixed 8-byte unit regardless of the
actual alignment (each unit expands to 8 one-byte stores when the
minimum alignment is 1), so the total count was only 17 (136/8 < 128)
and the copy was inlined.

Raise the limit from 128 to 192 to mitigate. Alternatively, users can
increase alignment to avoid the regression.

  [1] https://github.com/llvm/llvm-project/pull/201119
  [2] https://github.com/llvm/llvm-project/pull/204042


  Commit: 899548615f41018113e08260817ddcfc23060937
      https://github.com/llvm/llvm-project/commit/899548615f41018113e08260817ddcfc23060937
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] packed exchanged add/sub codegen (#203473)

Wire up the already-defined exchanged add/sub instructions
pas/psa/psas/pssa/paas/pasa with llvm.riscv.* intrinsics and isel
patterns.


  Commit: f519bd91d300238660914d9094b5e70090da1d85
      https://github.com/llvm/llvm-project/commit/f519bd91d300238660914d9094b5e70090da1d85
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/memprof-metadata-bad.ll

  Log Message:
  -----------
  [Verifier] Require !callsite with !memprof metadata (#205053)

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


  Commit: d853c056e5db0f9e1779e351b02c98a141a95c8d
      https://github.com/llvm/llvm-project/commit/d853c056e5db0f9e1779e351b02c98a141a95c8d
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-nontemporal.cpp

  Log Message:
  -----------
  [CIR] Add support for __builtin_nontemporal_store and __builtin_nontemporal_load (#197872)

Add nontemporal attribute to cir.load and cir.store ops.


  Commit: e2765f3e202cd0ed126fb72cd77a1f59ecaf739b
      https://github.com/llvm/llvm-project/commit/e2765f3e202cd0ed126fb72cd77a1f59ecaf739b
  Author: ZT Qin <xiaoyaoyou95 at hotmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
    M llvm/test/Transforms/OpenMP/single_threaded_execution.ll

  Log Message:
  -----------
  [OpenMPOpt][Attributor] Selectively seed deglobalization AAs (#198710)

This addresses a compile-time issue observed on a large generated C++
translation unit compiled with `-fopenmp`.

The source code is not OpenMP-heavy. It mainly consists of generated
function-registration wrappers, template instantiations, lambdas, and
small helper functions. However, because the TU is compiled with OpenMP
enabled, `OpenMPOptCGSCCPass` runs and drives Attributor on a module
with many functions.

`OpenMPOpt::registerAAsForFunction` currently eagerly creates the
deglobalization AAs for every function in OpenMP device modules:

* `AAHeapToShared`
* `AAHeapToStack`

Most generated wrapper/helper functions in the motivating workload do
not contain `__kmpc_alloc_shared`, removable allocations, or free-like
calls. In those cases, the deglobalization AAs have no useful candidates
but still contribute to Attributor initialization and fixed-point work.

This patch makes the deglobalization AA seeding more selective:

* only create `AAHeapToShared` for functions with non-empty
`__kmpc_alloc_shared` uses;
* only create `AAHeapToStack` for functions containing removable
allocation or free-like call candidates;
* make `AAHeapToShared` use the per-function runtime use vector instead
of scanning all users of the runtime declaration.

I also measured the previously attempted pieces independently. The
compile-time improvement comes from the selective seeding change. The
Attributor use-caching change and the `registerAAsForFunction`
registration cache did not show meaningful benefit on the motivating
workload, so they have been removed from this PR.

On the motivating TU, selective seeding reduced total compile time from
about 3473s to 271s, and `OpenMPOptCGSCCPass` time from about 3232s to
111s.

---------

Co-authored-by: jnudhf <jnudhf at users.noreply.github.com>
Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: c91c9fced2ff7266e566fad2963ab241bf6360b3
      https://github.com/llvm/llvm-project/commit/c91c9fced2ff7266e566fad2963ab241bf6360b3
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h
    M llvm/unittests/Support/AllocatorTest.cpp

  Log Message:
  -----------
  Reland [Allocator] Keep bump pointer at a minimum alignment (#205240)

Reland #203718 (reverted in #205091) by making computation in integer
domain to avoid UB (nullptr + non-zero offset).

Add a `MinAlign` template parameter (default 8, sizeof(size_t) on 64-bit
platforms) so that the common case `Alignment <= MinAlign` can skip
realigning `CurPtr`.

This is achieved by rounding each allocation's size up to MinAlign, so
the bump pointer stays MinAlign-aligned between allocations.

SpecificBumpPtrAllocator::DestroyAll() walks objects at a fixed
sizeof(T) stride and needs tight packing, so it uses MinAlign=1.
(alignof(T) would
pack just as tightly and reuse the default instantiation, but T may be
incomplete here, e.g. `SpecificBumpPtrAllocator<MCSectionELF>`.)

Its `Allocate` still skips the realign: the slab is max_align_t-aligned
and every size is a multiple of alignof(T), so the bump pointer stays
alignof(T)-aligned and we can just request alignment 1. Over-aligned
types (alignof(T) > alignof(max_align_t)) keep requesting alignof(T).

Also use `bit_ceil` instead of `NextPowerOf2` in the placement operator
new alignment heuristic. NextPowerOf2 is strictly greater, so an 8-byte
pointer-sized object asked for alignment 16 and missed the fast path;
bit_ceil(8) == 8 keeps it on the fast path.

Aided by Claude Opus 4.8


  Commit: de1effc8639273ea79f95e198133dec777ff8908
      https://github.com/llvm/llvm-project/commit/de1effc8639273ea79f95e198133dec777ff8908
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Rename pwcvt/pncvt pseudoinstructions for RV64. (#205227)

We need to add a 'w' to the suffix to indicate it operates on a word and
not a register pair like on RV32. See https://github.com/riscv/riscv-p-spec/pull/303


  Commit: 53fec04cc23de825ed6ae1c84dea5d45b746fba9
      https://github.com/llvm/llvm-project/commit/53fec04cc23de825ed6ae1c84dea5d45b746fba9
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/test/Dialect/Arith/int-range-opts-crash.mlir

  Log Message:
  -----------
  [mlir][arith] Fix APInt bitwidth mismatch crash in int-range-optimizations (#205110)

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

When an op's `areTypesCompatible()` hook accepts integers of different
widths across a region boundary, the range analysis can propagate a
constant range whose APInt bitwidth does not match the IR type of the
destination value.
This caused `IntegerAttr::get` to `assert` in
`maybeReplaceWithConstant`.

Fix by bailing out in `maybeReplaceWithConstant` when the bitwidths
mismatch, and adding the same check to the needsReplacing lambda in
matchAndRewrite.

The second guard is necessary to mirror the existing isIntOrIndex()
guard — without it the pattern claims success without changing the IR,
causing the greedy rewrite driver to loop.

We should now see
```
 anutosh491 at Anutoshs-MacBook-Air mlir-build % ./bin/mlir-opt -int-range-optimizations bin/a.mlir
module {
  func.func @m0() -> i32 {
    %c1_i64 = arith.constant 1 : i64
    %c0_i32 = arith.constant 0 : i32
    %0 = "test.region_types_compat"(%c0_i32) ({
    ^bb0(%arg0: i64):
      test.types_compat_yield %c1_i64 : i64
    }) : (i32) -> i32
    return %0 : i32
  }
}
```


  Commit: cdfd1e081529447ecb56ae7a43a32d8b237b9c28
      https://github.com/llvm/llvm-project/commit/cdfd1e081529447ecb56ae7a43a32d8b237b9c28
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll

  Log Message:
  -----------
  Patch tryCanonicalizeStructToVector to handle split slice tails (#201434)

We choose a vector alloca over a struct alloca when all users of the
alloca are memory or lifetime intrinsics. But we only accounted for
slices that start in the corresponding partition. We have to also check
that all split slice tails overlapping the partition are memory or
lifetime intrinsics

I also updated the `PassRegistry.def` to include the new pass option
because we forgot to add that.


  Commit: d147ad969aa97fa500e250c33fe8d0770117708b
      https://github.com/llvm/llvm-project/commit/d147ad969aa97fa500e250c33fe8d0770117708b
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-valid.s

  Log Message:
  -----------
  [RISCV] Update Xqcilo Pseudos (#196422)

This changes the Xqcilo pseudos to instead emit a sequence of
`qc.e.li` followed by a standard load/store annotated with %qc.access.
The new sequence is easier for our linker to relax.

This Change was written with the assistance of AI.


  Commit: f7ec732d50620ed5833c283558bf74fd446962e9
      https://github.com/llvm/llvm-project/commit/f7ec732d50620ed5833c283558bf74fd446962e9
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    R flang/test/Semantics/modfile84.f90

  Log Message:
  -----------
  Revert "[flang][cuda][openacc] Emit an error when CUDA symbols are imported with CUDA disabled" (#205254)

Reverts llvm/llvm-project#205207


  Commit: 3d8ca7e0544c4cca5367c83b1ccd4246bc3dea77
      https://github.com/llvm/llvm-project/commit/3d8ca7e0544c4cca5367c83b1ccd4246bc3dea77
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/AllocAction.h

  Log Message:
  -----------
  [orc-rt] Replace AAHandlerTraits with CallableArgInfo. NFCI. (#205257)

CallableArgInfo provides a superset of AAHandlerTraits functionality, so
we don't need the latter.


  Commit: c492c7d5c2e49e576fce149706139f37f6aae934
      https://github.com/llvm/llvm-project/commit/c492c7d5c2e49e576fce149706139f37f6aae934
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [RISCV] Avoid implicit conversions from MCRegister to MCPhysReg. NFC (#205260)


  Commit: 194da0f3e774426dfa646e9879a1ad109db06c6c
      https://github.com/llvm/llvm-project/commit/194da0f3e774426dfa646e9879a1ad109db06c6c
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions to a dedicated SSAFOptions" (#204798)

Second attempt of #204686

This class will help keeping SSAF options apart from generic
FrontendOptions. It is inspired by AnalyzerOptions.

This way all of these SSAF (and future) options will be at a
centralized place.

In preparation of rdar://179151023


  Commit: 576584794d9124c7228f4599e757dc909a534f1c
      https://github.com/llvm/llvm-project/commit/576584794d9124c7228f4599e757dc909a534f1c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/AllocAction.h
    M orc-rt/include/orc-rt/SPSAllocAction.h
    M orc-rt/unittests/AllocActionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add return serialization to AllocActionFunction::handle. (#205271)

Add a Serializer template parameter to AllocActionFunction::handle and
apply it to the handler's return value before forwarding as the action
result. This lets handler authors return types other than
WrapperFunctionBuffer.

For SPS, AllocActionSPSSerializer is the default Serializer used by
SPSAllocActionFunction::handle. It accepts either:
- WrapperFunctionBuffer (identity pass-through, the existing behavior),
or
- Error (success → empty WFB; failure → out-of-band-error WFB carrying
toString(Err)).

Adds AllocActionTest coverage for both Error-return paths.


  Commit: 639c5a014fad13c683b01c66a1474b7aa47ce7ee
      https://github.com/llvm/llvm-project/commit/639c5a014fad13c683b01c66a1474b7aa47ce7ee
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp

  Log Message:
  -----------
  [libc] Introduce the ioctl syscall wrapper and port all callers (#204640)

This patch adds an ioctl syscall wrapper in linux_syscalls namespace and
migrates all direct SYS_ioctl calls to use it.

To handle the polymorphic nature of ioctl arguments (where some commands
expect pointers, some expect scalar integers like queue_selector, and
some expect no argument at all), I use a helper struct IoctlArg with
implicit constructors. This avoids template bloat and overload
ambiguities (particularly around literal 0) while keeping call sites
clean.

Assisted by Gemini.


  Commit: c1bc84866a5ada0ec12c810ca42b381b776d198a
      https://github.com/llvm/llvm-project/commit/c1bc84866a5ada0ec12c810ca42b381b776d198a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp

  Log Message:
  -----------
  [Clang][ABI] Validate consistency between ABI lowering implementation (#203281)

If the LLVM ABI library is used, and assertions are enabled, compute the
ABI both using Clang's implementation the the LLVM ABI library, and
verify that the results are the same.


  Commit: ffeb9c1d2612cb5729889b6e82ade060192722dd
      https://github.com/llvm/llvm-project/commit/ffeb9c1d2612cb5729889b6e82ade060192722dd
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

  Log Message:
  -----------
  [clang][ssaf][NFC] Make SSAFOptions available in Builders and Extractors (#204684)

Now that we have SSAFOptions, it would make it a lot more ergonomic if
it was accessible from builders and extractors.
This PR does exactly that.

Part of rdar://179151023

Co-authored-by: Jan Korous <jkorous at apple.com>
Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 50838f484bbf4d514386d0717a789600790f1a1f
      https://github.com/llvm/llvm-project/commit/50838f484bbf4d514386d0717a789600790f1a1f
  Author: Yuxuan Shui <yshuiv7 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-symbolizer.rst
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/test/tools/llvm-symbolizer/pdb/pdb.test
    M llvm/tools/llvm-symbolizer/Opts.td
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

  Log Message:
  -----------
  [symbolizer] Add a --pdb option. (#171053)

Closes #142490


  Commit: ebaee77528bb1e5b241c4466117772dd3954340e
      https://github.com/llvm/llvm-project/commit/ebaee77528bb1e5b241c4466117772dd3954340e
  Author: adalal-2441 <adalal at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/CodeGen/X86/avx512-load-store.ll

  Log Message:
  -----------
  [X86] Prevent folding of volatile scalar loads into masked loads in selects (#205103)

X86 select patterns were folding scalar FP loads into AVX-512 masked
loads. Since masked loads suppress memory access when the mask is 0,
this can incorrectly eliminate the observable access of volatile loads,
leading to miscompilation. Non-volatile loads are unaffected.

Multi-use loads already avoid folding, since folding consumes the load
into the instruction's memory operand and leaves no value for the other
users, forcing it to be materialized into a register. Single-use
volatile loads did not, and this must also be prevented, as volatile
loads are required to always perform their memory access.

Fix this by using the isSimple()-guarded simple_load pattern instead of
loadf32/loadf64, ensuring volatile loads are not folded.

Found via @jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/blob/master/x86/bugs/093-avx512-vmovs-x86selects-load-fold-mask-suppress


  Commit: 635cbc0ebb2851d4cb9d72dcd62f2ef2dd1c25c5
      https://github.com/llvm/llvm-project/commit/635cbc0ebb2851d4cb9d72dcd62f2ef2dd1c25c5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    R libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp

  Log Message:
  -----------
  Revert "[libc] Introduce the ioctl syscall wrapper and port all callers" (#205277)

Reverts llvm/llvm-project#204640

Breaks libc-x86_64-debian-fullbuild. Reverting while I investigate.


  Commit: 9e3fc52b6e15d9ca4c07d014e7ac41ddd462f353
      https://github.com/llvm/llvm-project/commit/9e3fc52b6e15d9ca4c07d014e7ac41ddd462f353
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll

  Log Message:
  -----------
  [AMDGPU] Fold v2{i|f}64 immediates (#205195)


  Commit: 3e69ed4e8aeb3f3773e4551308141af1c91d78cb
      https://github.com/llvm/llvm-project/commit/3e69ed4e8aeb3f3773e4551308141af1c91d78cb
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    R clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

  Log Message:
  -----------
  Revert some SSAF patches (#205279)

I've started seeing some failures on Windows permissive bots.
I'll revert my patches for now until further investigation.

errors:
https://lab.llvm.org/buildbot/#/builders/107/builds/20548
```
C:\b\slave\sanitizer-windows\llvm-project\clang\lib\Frontend\CompilerInvocation.cpp
C:\b\slave\sanitizer-windows\build\tools\clang\include\clang/Options/Options.inc(9981): error C2065: 'SSAFOpts': undeclared identifier
C:\b\slave\sanitizer-windows\build\tools\clang\include\clang/Options/Options.inc(9982): note: see reference to function template instantiation 'auto GenerateSSAFArgs::<lambda_5f504a9e8792b8b03f1d39701f31dbec>::operator ()<T>(const T &) const' being compiled
        with
        [
            T=std::vector<std::string,std::allocator<std::string>>
        ]
```

Revert "Reland "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions
to a dedicated SSAFOptions" (#204798)"
This reverts commit 194da0f3e774426dfa646e9879a1ad109db06c6c.

Revert "[clang][ssaf][NFC] Make SSAFOptions available in Builders and
Extractors (#204684)"
This reverts commit ffeb9c1d2612cb5729889b6e82ade060192722dd.


  Commit: 115c749cbdada7c2663d4a64c166bafccab5fcfa
      https://github.com/llvm/llvm-project/commit/115c749cbdada7c2663d4a64c166bafccab5fcfa
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [AMDGPU] Select fneg modifier for v2f64 instructions (#205194)


  Commit: 9550cd76cadea9f25a5c0bf3ee06e9f7ce5631ed
      https://github.com/llvm/llvm-project/commit/9550cd76cadea9f25a5c0bf3ee06e9f7ce5631ed
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [IR] Remove IRBuilder AddMetadataToInst (#202280)

This avoids an extra check for metadata on every instruction insertion,
makes constructing an IRBuilder cheaper, and therefore slightly improves
performance.

As the C API doesn't expose CollectMetadataToCopy or any other way to
add additional metadata to the IRBuilder, make LLVMAddMetadataToInst an
alias for LLVMSetInstDebugLocation and undeprecate the latter.


  Commit: 876439fa00d7e04201f08418297bcdbd85400bb8
      https://github.com/llvm/llvm-project/commit/876439fa00d7e04201f08418297bcdbd85400bb8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/Inline/X86/call-abi-compatibility.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll

  Log Message:
  -----------
  [X86][Inline] Make ABI compatibility check more precise (#205106)

When inlining a function that contains calls with vector arguments, we
have to be careful that inlining does not change the ABI of the call.
E.g. we generally can't inline a function without `+avx` into a
function with `+avx` if there are calls using vectors of size 256 or
larger, because they'd switch from passing in two xmm registers to
passing in a ymm register.

However, the current check is very crude and only allows inlining with
interior calls if the target features match *exactly* (via the base
areTypesABICompatible implementation). This is unnecessarily
conservative, as many target features do not affect the call ABI at all.

Make this check more precise by checking the result of
getRegisterTypeForCallingConv for the type between the TLI instances for
the caller and callee.


  Commit: d39923c4df01fdeb10dae4da256c09fdf616157c
      https://github.com/llvm/llvm-project/commit/d39923c4df01fdeb10dae4da256c09fdf616157c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.cpp
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/Xtensa.h

  Log Message:
  -----------
  clang: Change TargetInfo::setCPU to take StringRef (#205278)

The related APIs all use StringRef, so use StringRef for
consistency.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 4057dfd091241ab4784d1355422892b48810edf6
      https://github.com/llvm/llvm-project/commit/4057dfd091241ab4784d1355422892b48810edf6
  Author: PushkarSingh <149073046+iitianpushkar at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Improve destroyed and invalidated diagnostic notes (#204900)

## Summary

Improve Lifetime Safety diagnostic notes by identifying the affected
storage in destruction and invalidation notes.

Examples:
```
{
  int value;
  ptr = &value;
}
```
Before:
```
note: destroyed here
```
After:
```
note: local variable 'value' is destroyed here
```
For temporaries:
```
note: temporary object is destroyed here
```
For invalidations:
```
note: local variable 'container' is invalidated here
```
For parameters:
```
note: parameter 'container' is invalidated here
```
For explicitly deallocated storage:
```
note: allocated object is freed here
```
## Implementation

The lifetime analysis already knows which object is responsible for a
warning. This change reuses that information when producing the
accompanying destruction, invalidation or deallocation note.
All affected regression tests have been updated to check the complete
diagnostic messages.

Addresses #200234


  Commit: 8289d982fb4267d9a5e545276292170a9b0f6700
      https://github.com/llvm/llvm-project/commit/8289d982fb4267d9a5e545276292170a9b0f6700
  Author: Avhi <oss at avhi.in>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    A llvm/test/Transforms/FixIrreducible/unsupported-terminator.ll

  Log Message:
  -----------
  [FixIrreducible] Use reportFatalUsageError for unsupported terminators (#205244)

`opt -passes=fix-irreducible` crashed via `llvm_unreachable` on a
`switch` terminator incident to an irreducible cycle header. Such
terminators must be lowered first (`lower-switch`); replace the
`llvm_unreachable` at both sites with `reportFatalUsageError` so the
pass fails gracefully instead of crashing.

Fixes #191978

Signed-off-by: AvhiMaz <avhimazumder5 at outlook.com>


  Commit: bad300bda1b936f160f49111b6e67731605c95fb
      https://github.com/llvm/llvm-project/commit/bad300bda1b936f160f49111b6e67731605c95fb
  Author: Ches Burks <chesburks at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M mlir/include/mlir/Query/Matcher/MatchersInternal.h

  Log Message:
  -----------
  [MLIR][ADT] Improve matcher compatability with C++20 STL (#205255)

When building MLIR on C++20 in Visual Studio with clang-cl, there are
several related compiler errors, grouped by project:

MLIRQueryMatcher
```C
type '_Mybase' (aka 'typename conditional<conjunction_v<is_trivially_destructible<DynMatcher>, is_trivially_move_constructible<DynMatcher>, is_trivially_move_assignable<DynMatcher>>, typename conditional<conjunction_v<is_trivially_destructible<DynMatcher>, is_trivially_copy_constructible<DynMatcher>, is_trivially_copy_assignable<DynMatcher>>, _Non_trivial_move<_Optional_construct_base<DynMatcher>, DynMatcher>, _Non_trivial_copy_assign<_Optional_construct_base<DynMatcher>, DynMatcher>>::type, _Non_trivial_move_assign<_Optional_construct_base<DynMatcher>, DynMatcher>>::type') is not a direct or virtual base of 'std::optional<mlir::query::matcher::DynMatcher>'
no member named '_Value' in 'std::optional<mlir::query::matcher::DynMatcher>'
no member named '_Has_value' in 'std::optional<mlir::query::matcher::DynMatcher>'
no matching function for call to '_Destroy_range'
invalid application of 'sizeof' to an incomplete type 'mlir::query::matcher::DynMatcher'
invalid application of 'alignof' to an incomplete type 'mlir::query::matcher::DynMatcher'
```

MLIRQueryMatcher, MLIRQuery, MLIRQueryLib, and mlir-query
```C
no viable conversion from 'std::vector<DynMatcher>' to 'ArrayRef<DynMatcher>'
incomplete type 'mlir::query::matcher::DynMatcher' used in type trait expression
```

MLIRIR
```C
no matching constructor for initialization of 'llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator'
invalid operands to binary expression ('const std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator>' and 'const std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator>')
```

std::vector<T> operations require complete type T for pointer
arithmetic, std::optional<T> has a similar problem.
std::reverse_iterator requires a default constructor for iterator.

Adding a default constructor for iterator, and defining VariadicMatcher
functions after DynMatcher is defined, resolves the errors.


  Commit: 70c54ff1d5662f5a9ad22b3f6eeb287cef10236f
      https://github.com/llvm/llvm-project/commit/70c54ff1d5662f5a9ad22b3f6eeb287cef10236f
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [Clang][RISCV] packed exchanged add/sub intrinsics (#205251)

Add the `__riscv_{pas,psa,psas,pssa,paas,pasa}_x_*` header wrappers over
new `__builtin_riscv_*` builtins.


  Commit: 3f7eb27ad40516fc66139e2043b8fc08bfe66d76
      https://github.com/llvm/llvm-project/commit/3f7eb27ad40516fc66139e2043b8fc08bfe66d76
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add SSE42 test coverage (#205299)


  Commit: e85f1c1cf0f3b938803c1ce4763b096499a7f701
      https://github.com/llvm/llvm-project/commit/e85f1c1cf0f3b938803c1ce4763b096499a7f701
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py

  Log Message:
  -----------
  [lldb][test] Skip TestConcurrentManyBreakpoints (#205298)


  Commit: fbdb644a8b066d9c615077da31f10330e8a2f3d6
      https://github.com/llvm/llvm-project/commit/fbdb644a8b066d9c615077da31f10330e8a2f3d6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp

  Log Message:
  -----------
  AMDGPU: Move AMDGPUTargetID to AMDGPUTargetParser (#205268)


  Commit: 11a928ec5cb21d4830fa8029160f33dc621ace5d
      https://github.com/llvm/llvm-project/commit/11a928ec5cb21d4830fa8029160f33dc621ace5d
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll

  Log Message:
  -----------
  [LSR] Don't merge ICmpZero uses outside loop (#205131)

In NarrowSearchSpaceByMergingUsesOutsideLoop don't merge ICmpZero uses
outside the loop with uses inside the loop, as the resulting use will
have a kind that's not ICmpZero, which will mean the compare won't be
expanded correctly later.


  Commit: 40dc2b25d8bf421d0194ccb248561d372d168c96
      https://github.com/llvm/llvm-project/commit/40dc2b25d8bf421d0194ccb248561d372d168c96
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp

  Log Message:
  -----------
  [CIR] Fix LoadOp creation (#205294)


  Commit: 649e3e0e23222418bfbd8a4247875823be71143b
      https://github.com/llvm/llvm-project/commit/649e3e0e23222418bfbd8a4247875823be71143b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    A llvm/test/Transforms/ArgumentPromotion/X86/struct-load.ll

  Log Message:
  -----------
  [X86][TTI] Handle structs in areTypesABICompatible() (#205308)

Fixes a regression from #205106. getValueType() asserts on aggregate
types. Use CompuateValueVTs() to compute the de-aggregated VTs.

Performing argument promotion for struct types seems pretty
dubious to me, but it was previously allowed, so I'm retaining
that behavior. We may want to disable promotion of aggregates
in ArgPromotion entirely though.


  Commit: 3bfec5dd4309a53c0df9f9a59dcfa8232746240d
      https://github.com/llvm/llvm-project/commit/3bfec5dd4309a53c0df9f9a59dcfa8232746240d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  AMDGPU: Temporarily restore disassembler's dependency on TargetParser, again (#205309)

Reverts part of #205268


  Commit: 1e3018523042d1b610b6676cf8d056315f6e3bd7
      https://github.com/llvm/llvm-project/commit/1e3018523042d1b610b6676cf8d056315f6e3bd7
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    A llvm/test/CodeGen/SystemZ/target-flags.ll

  Log Message:
  -----------
  [SystemZ] Add serialization strings for some MO target flags. (#203053)

These strings are needed for MIR textual representation: If one is
missing it doesn't work to do "-stop-before=XXX and then
-start-before=XXX".


  Commit: 0d49a95036d2d4579d3da4cf7b72f6be0fe33bd5
      https://github.com/llvm/llvm-project/commit/0d49a95036d2d4579d3da4cf7b72f6be0fe33bd5
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions to a dedicated SSAFOptions" (#205312)

Third attempt of #204686
Previous attempt was: #204798
This was last reverted in #205279

This class will help keeping SSAF options apart from generic
FrontendOptions. It is inspired by AnalyzerOptions.

This way all of these SSAF (and future) options will be at a
centralized place.

In preparation of rdar://179151023

---

The previous attempt had issues on Windows with `/permissive` configs.
The issue was that `GENERATE_OPTION_WITH_MARSHALLING` had a generic
lambda capture and that does not constitute as an ODR-use of the
captured name - because that name was only used in an unevaluated context.
This meant that MSVC refused to find the function parameter.

My speculative solution is to follow the established pattern of passing
a pointer to the Opts structure instead of passing it directly as a
reference - similar to how `AnalyzerOptions` are passed around that macro.


  Commit: 8b7e7fa49b6296eefe422da168a5595102c39870
      https://github.com/llvm/llvm-project/commit/8b7e7fa49b6296eefe422da168a5595102c39870
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp

  Log Message:
  -----------
  [NFC] UnicodeNameMappingGenerator: restore #include <unordered_map> (#205316)

#204303 removed this include while converting `unordered_map` uses to
`DenseMap`, but `loadDataFiles` still uses `unordered_multimap`.

See
https://ci.swift.org/job/llvm.org/job/clang-stage2-Rthinlto/job/main/360/

```
[2026-06-23T05:46:26.519Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp:34:13: error: missing '#include <unordered_map>'; 'unordered_multimap' must be declared before it is used
[2026-06-23T05:46:26.519Z]    34 | static std::unordered_multimap<char32_t, std::string>
[2026-06-23T05:46:26.519Z]       |             ^
```


  Commit: 18ce6f449e0bc913ffa0ffde48f4305187d86bc4
      https://github.com/llvm/llvm-project/commit/18ce6f449e0bc913ffa0ffde48f4305187d86bc4
  Author: DmitriiMartynov <31047826+DmitriiMartynov at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    A bolt/test/AArch64/constant-island-reproducible.s

  Log Message:
  -----------
  [BOLT][AArch64] reproducible output with constant islands (#204546)

Optimized binaries from subsequent llvm-bolt runs may sometimes differ
due to the unordered set (SmallPtrSet), even if the input binary and
parameters are the same. Usage of SetVector guarantees a deterministic
sequence of binary functions while keeping each function as a single
instance.

Below you can see two different main functions before the fix after two
llvm-bolt runs (same input binaries, same arguments).

```
0000000000210400 <main>:
  210400: 10000140      adr     x0, 0x210428 <main+0x28>
  210404: f9400000      ldr     x0, [x0]
  210408: 10000140      adr     x0, 0x210430 <main+0x30>
  21040c: f9400000      ldr     x0, [x0]
  210410: 10000180      adr     x0, 0x210440 <main+0x40>
  210414: f9400000      ldr     x0, [x0]
  210418: 10000180      adr     x0, 0x210448 <main+0x48>
  21041c: f9400000      ldr     x0, [x0]
  210420: d65f03c0      ret
  210424: d503201f      nop
  210428: 00000010      udf     #0x10
  21042c: 00000000      udf     #0x0
  210430: 00000020      udf     #0x20
  210434: 00000000      udf     #0x0
  210438: d503201f      nop
  21043c: d503201f      nop
  210440: 00000030      udf     #0x30
  210444: 00000000      udf     #0x0
  210448: 00000040      udf     #0x40
  21044c: 00000000      udf     #0x0
  210450: d503201f      nop
  210454: d503201f      nop

0000000000210400 <main>:
  210400: 100001c0      adr     x0, 0x210438 <main+0x38>
  210404: f9400000      ldr     x0, [x0]
  210408: 100001c0      adr     x0, 0x210440 <main+0x40>
  21040c: f9400000      ldr     x0, [x0]
  210410: 100000c0      adr     x0, 0x210428 <main+0x28>
  210414: f9400000      ldr     x0, [x0]
  210418: 100000c0      adr     x0, 0x210430 <main+0x30>
  21041c: f9400000      ldr     x0, [x0]
  210420: d65f03c0      ret
  210424: d503201f      nop
  210428: 00000030      udf     #0x30
  21042c: 00000000      udf     #0x0
  210430: 00000040      udf     #0x40
  210434: 00000000      udf     #0x0
  210438: 00000010      udf     #0x10
  21043c: 00000000      udf     #0x0
  210440: 00000020      udf     #0x20
  210444: 00000000      udf     #0x0
  210448: d503201f      nop
  21044c: d503201f      nop
```


  Commit: 572cf32ce413f606162759da6c83b5409aa471da
      https://github.com/llvm/llvm-project/commit/572cf32ce413f606162759da6c83b5409aa471da
  Author: Lucas <lucasribeirolima974 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/static-initialization-cycle.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Update CERT wiki link across all clang-tidy docs (#205086)

This patch updates the outdated CMU wiki link in the clang-tidy
documentation.

The old link currently returns a `301 Moved Permanently` redirecting to
the new GitHub Pages location. This patch updates the source file to
point directly to the new destination to prevent future link rot.

Closes #200277


  Commit: 3abbf06dd15df2288de06749f0bb8dddc4189294
      https://github.com/llvm/llvm-project/commit/3abbf06dd15df2288de06749f0bb8dddc4189294
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Avoid token merging in redundant-parentheses fix-its (#202365)

The readability-redundant-parentheses check emitted fix-its that simply
removed both parentheses. Tools that apply those fix-its directly could
join adjacent tokens and produce invalid code, e.g. `return(0)` becoming
`return0`.

Replace the opening parenthesis with a space when removing it would
merge identifier characters across the removed token.

AI Usage: Test assisted by Codex.
Closes https://github.com/llvm/llvm-project/issues/185108


  Commit: 7f567069a4009c651fcfa59d336f6f265ab31c8d
      https://github.com/llvm/llvm-project/commit/7f567069a4009c651fcfa59d336f6f265ab31c8d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [X86] phaddsub.ll - update PR39921/PR39936 test case to a vector.reduce.v8i32 call (#205310)

Matches middle-end IR produced from the tests' C++ source since #199872


  Commit: 516ab1ad34e2da9e03e3098ae2d731c597629853
      https://github.com/llvm/llvm-project/commit/516ab1ad34e2da9e03e3098ae2d731c597629853
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.h
    M llvm/test/CodeGen/SystemZ/args-22.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/SystemZ/bswap-09.ll
    M llvm/test/CodeGen/SystemZ/bswap-10.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vec.ll
    M llvm/test/CodeGen/SystemZ/canonicalize-vars.ll
    M llvm/test/CodeGen/SystemZ/codegenprepare-sink-and-for-tm.ll
    M llvm/test/CodeGen/SystemZ/dag-combine-05.ll
    M llvm/test/CodeGen/SystemZ/dag-combine-07.ll
    M llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
    M llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
    M llvm/test/CodeGen/SystemZ/fp-half-vector-binops.ll
    M llvm/test/CodeGen/SystemZ/fp-half-vector-fcmp-select.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs-zEC12.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-zEC12.ll
    M llvm/test/CodeGen/SystemZ/int-cmp-65.ll
    M llvm/test/CodeGen/SystemZ/int-conv-14.ll
    M llvm/test/CodeGen/SystemZ/int-conv-15.ll
    M llvm/test/CodeGen/SystemZ/int-mul-12.ll
    M llvm/test/CodeGen/SystemZ/int-mul-13.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-14.ll
    M llvm/test/CodeGen/SystemZ/int-usub-13.ll
    M llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
    M llvm/test/CodeGen/SystemZ/misched-prera-cmp-elim.mir
    M llvm/test/CodeGen/SystemZ/misched-prera-latencies.mir
    A llvm/test/CodeGen/SystemZ/misched-prera-loads.mir
    A llvm/test/CodeGen/SystemZ/misched-prera-pdiffs.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/SystemZ/regcoal_remat_empty_subrange.ll
    M llvm/test/CodeGen/SystemZ/risbg-04.ll
    M llvm/test/CodeGen/SystemZ/rot-03.ll
    M llvm/test/CodeGen/SystemZ/shift-12.ll
    M llvm/test/CodeGen/SystemZ/shift-13.ll
    M llvm/test/CodeGen/SystemZ/shift-14.ll
    M llvm/test/CodeGen/SystemZ/shift-15.ll
    M llvm/test/CodeGen/SystemZ/shift-16.ll
    M llvm/test/CodeGen/SystemZ/shift-17.ll
    M llvm/test/CodeGen/SystemZ/soft-float-args.ll
    M llvm/test/CodeGen/SystemZ/store_nonbytesized_vecs.ll
    M llvm/test/CodeGen/SystemZ/vec-cmp-cmp-logic-select.ll
    M llvm/test/CodeGen/SystemZ/vec-cmpsel-01.ll
    M llvm/test/CodeGen/SystemZ/vec-eval.ll
    M llvm/test/CodeGen/SystemZ/vec-move-23.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-07.ll
    M llvm/test/CodeGen/SystemZ/vec-perm-12.ll
    M llvm/test/CodeGen/SystemZ/vec-trunc-to-i16.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [SystemZ] Enable liveness reduction in pre-RA sched strategy. (#188823)

Add some handling of register pressure by scheduling an SU "low" if it closes a
live range (under certain conditions).

As this is checked before latency reduction, the "data-sequnces" check that was
used to selectively enable latency reduction can now be removed.

This gives good improvements on several benchmarks and is also a simplification
of the SystemZPreRASchedStrategy.


  Commit: e9d162fabb3eec8af9aa8583e7385e64d9c2a914
      https://github.com/llvm/llvm-project/commit/e9d162fabb3eec8af9aa8583e7385e64d9c2a914
  Author: adream307 <adream307 at 163.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CodeGen/X86/avx2-builtins.c
    M clang/test/CodeGen/X86/sse41-builtins.c

  Log Message:
  -----------
  [clang][X86] Add constexpr support for mpsadbw128/256 intrinsics (#202257)

Enable constexpr evaluation for `_mm_mpsadbw_epu8` and
`_mm256_mpsadbw_epu8` (`__builtin_ia32_mpsadbw128`/`mpsadbw256`).

Fixes #157522.


  Commit: ebd969f5ffb8f0abb31e8074c84aeea2766d75f5
      https://github.com/llvm/llvm-project/commit/ebd969f5ffb8f0abb31e8074c84aeea2766d75f5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp

  Log Message:
  -----------
  AMDGPU: Rename AMDGPUTargetID to TargetID (#205269)

The AMDGPU prefix is redundant with the namespace.

Co-Authored-By: Claude <noreply at anthropic.com>


  Commit: 9750a8d66da31ab5d5039a2b8acc90168417c244
      https://github.com/llvm/llvm-project/commit/9750a8d66da31ab5d5039a2b8acc90168417c244
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Floating.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
    M llvm/unittests/ADT/APFloatTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp

  Log Message:
  -----------
  [LLVM][ConstantFP] Replace uses of isExactlyValue(+/-1.0) with isOne/isMinusOne. (#204333)


  Commit: 7db130470447e9617fe1c169d90933c72254c3da
      https://github.com/llvm/llvm-project/commit/7db130470447e9617fe1c169d90933c72254c3da
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-bf16-ldst-intrinsics.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/bf16-select.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-bitcast.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16.ll
    M llvm/test/CodeGen/AArch64/load-insert-undef.ll
    M llvm/test/CodeGen/AArch64/load-insert-zero.ll
    M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
    M llvm/test/CodeGen/AArch64/neon-luti.ll
    M llvm/test/CodeGen/AArch64/spillfill-sve.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll
    M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-reg.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-reg.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-index.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-index.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tblq.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tbxq.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq1.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq2.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq1.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq2.ll
    M llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
    M llvm/test/CodeGen/ARM/bf16-create-get-set-dup.ll
    M llvm/test/CodeGen/ARM/bf16-getlane-with-fp16.ll
    M llvm/test/CodeGen/ARM/bf16-imm.ll
    M llvm/test/CodeGen/ARM/bf16-intrinsics-ld-st.ll
    M llvm/test/CodeGen/ARM/bf16-shuffle.ll
    M llvm/test/CodeGen/ARM/bfloat.ll

  Log Message:
  -----------
  [LLVM][CodeGen] Remove +bf16 for ARM/AArch64 tests that don't strictly need the feature flag. (#204199)

Tests that use bfloat purely as an opaque datatype should not use
instructions that require the bf16 feature.


  Commit: d09868bc749f6bcbaa09bbbed7a140aa051aabf7
      https://github.com/llvm/llvm-project/commit/d09868bc749f6bcbaa09bbbed7a140aa051aabf7
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy

  Log Message:
  -----------
  [CI] switch to BuildTools variant of Visual Studio (#201335)

Follow up to:
- https://github.com/swiftlang/swift-docker/pull/566
- https://github.com/swiftlang/swift-docker/pull/565

It's no longer necessary to install packaging at runtime and the new
image will use `BuildTools`.


  Commit: e3f6a42532749c55008e38e3e19186ef6b0c0d17
      https://github.com/llvm/llvm-project/commit/e3f6a42532749c55008e38e3e19186ef6b0c0d17
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/unittests/AllocActionTest.cpp
    M orc-rt/unittests/SPSAllocActionTest.cpp

  Log Message:
  -----------
  [orc-rt] Split AllocAction tests by SPS dependency. (#205322)

Rewrites AllocActionTest.cpp's integration tests (RunBasicAction,
RunFinalize*) to drive AllocActionFunction::handle with a small local
IntPtrDeserializer / IdentitySerializer pair instead of going through
SPS, and moves the existing SPS-using AllocAction tests into
SPSAllocActionTest.cpp.

Also adds two new SPS tests covering previously-uncovered paths:
- RunActionWithSPSArgsAndWFBReturn — SPS argument deserialization plus
AllocActionSPSSerializer's identity (WrapperFunctionBuffer) overload.
- RunActionWithUndecodableArgs — the deserialization-failure path in
AllocActionFunction::handle.

After the split, an AllocActionTest failure indicates problems with the
AllocAction machinery, and an SPSAllocActionTest failure without a
corresponding AllocActionTest failure indicates an SPS encoding /
decoding issue for AllocAction.


  Commit: 844136348ef4c03e84bed0a51d8557d53f466b0d
      https://github.com/llvm/llvm-project/commit/844136348ef4c03e84bed0a51d8557d53f466b0d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/test/AST/undocumented-attrs.cpp

  Log Message:
  -----------
  Document the [[clang::annotate]] attribute (#203303)

The new documentation mirrors the existing docs for annotate_type.


  Commit: 25f0443ddccf6a03d9b432c246ce97eb535cab52
      https://github.com/llvm/llvm-project/commit/25f0443ddccf6a03d9b432c246ce97eb535cab52
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp

  Log Message:
  -----------
  [OpenMP] Remove unused isStrictSubset template (NFC) (#202987)

The `isStrictSubset` `ArrayRef<T>` template has no callers, so it never
instantiates and trips `-Wunused-template`. The `VariantMatchInfo`
overload does the work that's actually used, and `isSubset` stays
untouched. Removing the dead template.

NFC.

Part of #202945.


  Commit: 59c5c39a76e04fc8cd3af39748e256ca1e6fcda8
      https://github.com/llvm/llvm-project/commit/59c5c39a76e04fc8cd3af39748e256ca1e6fcda8
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/AST/undocumented-attrs.cpp

  Log Message:
  -----------
  Fix test after 844136348ef4c03e84bed0a51d8557d53f466b0d (#205328)


  Commit: 99c80fefdfac69a47773b66f35ae638d63ce5758
      https://github.com/llvm/llvm-project/commit/99c80fefdfac69a47773b66f35ae638d63ce5758
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/test/API/macosx/thread_suspend/main.c

  Log Message:
  -----------
  [lldb] Fix race/timeout in TestInternalThreadSuspension (#203202)

This test launches a thread and then waits for a signal from the
launched thread. Below is one possible interleaving, where the
`pthread_cond_signal` (2) wins the race and becomes a no-op while (3) is
locking until the test times out.

```
void *
suspend_func (void *unused) {
  [...]
  // 2. Created thread reaches this and signals.
  pthread_cond_signal(&signal_cond);
  [...]
}

int main() {

  pthread_mutex_lock(&signal_mutex);
  // 1. Thread is created
  pthread_create(&suspend_thread, NULL, suspend_func, NULL);

  // Enable this to make race reliable:
  // sleep(1);

  // 3. We start waiting on signal_cond, but 2. already executed.
  pthread_cond_wait(&signal_cond, &signal_mutex);
```

This patch guards (2) with signal_mutex so it can only be executed after
pthread_cond_wait unlocks signal_mutex.


  Commit: e9aec194f1e034f7b548240bd76b623d80bac034
      https://github.com/llvm/llvm-project/commit/e9aec194f1e034f7b548240bd76b623d80bac034
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  Reapply "[InstCombine] Merge consecutive assumes" (#205177) (#205324)

The crash was caused by using `getOperandBundle` for an assume, which
requires that the operand bundles are unique. This isn't guaranteed by
assume bundles. This patch adds `hasOperandBundle` instead, which
doesn't have the same constraint.

Original message:

This should make assumes a bit more efficient, since it removes a few
instructions. This should also help with optimizations that are
limited in how many instructions they step through.

This reverts commit 3f0ef1efb26206c3f5d5621d86d740c7f466c67b.


  Commit: b713aaedb6eedd7d20f666038d945e50eafd4c27
      https://github.com/llvm/llvm-project/commit/b713aaedb6eedd7d20f666038d945e50eafd4c27
  Author: David Green <david.green at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/ARM/vcombine.ll

  Log Message:
  -----------
  [ARM] Regenerate vcombine.ll. NFC (#205335)


  Commit: 0a991b71e78646322876c8db487084ec1840184a
      https://github.com/llvm/llvm-project/commit/0a991b71e78646322876c8db487084ec1840184a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][Runtimes] Forward 'LLVM_LIBDIR_SUFFIX' to runtimes by default (#205182)

Summary:
This option controls the logical path of the installed libraries. The
runtimes obften reach into libraries, or want to install to the same
location as the main build. Previously you had to set this per-runtime,
but we should likely forward it by default.

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


  Commit: d2850baf0ad99c662e224bb522aebdeb09ff8e1b
      https://github.com/llvm/llvm-project/commit/d2850baf0ad99c662e224bb522aebdeb09ff8e1b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/test/CodeGen/convergent-functions.cpp

  Log Message:
  -----------
  [Clang] Accept 'noconvergent' attributes outside of CUDA (#205247)

Summary:
There is no reason that `convergent` should be a generic attributes but
not `noconvergent`.


  Commit: 9a5e3fdc79cb374550bbf0cac8ad02d8a4ce10ab
      https://github.com/llvm/llvm-project/commit/9a5e3fdc79cb374550bbf0cac8ad02d8a4ce10ab
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-offload-binary.rst
    A llvm/test/tools/llvm-offload-binary/member-extract.test
    M llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp

  Log Message:
  -----------
  [llvm-offload-binary] Add `member` key to single out archive members (#205170)

Summary:
Currently, archives offer three approaches.
1. `--archive` which takes an archive and puts all the output in a new
   archive
2. No filename, which outputs based on the member names
3. Filename, which just matches everything.
This has a gap for when people wnat a single file without relying on
implicit naming that dumps all the contents to the CWD.

This PR adds `member` which lets you specify the member names as you
would get from `ar t libfoo.a` for this.


  Commit: a06ac5d5d555bf01b9ef4ad233a9d3d962b25c43
      https://github.com/llvm/llvm-project/commit/a06ac5d5d555bf01b9ef4ad233a9d3d962b25c43
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-fpenv.ll

  Log Message:
  -----------
  [AArch64] Add flag to conditionally write FPMR (#203911)

Add a AArch64 codegen flag to make llvm.aarch64.set.fpmr avoid writing
FPMR when it already contains the requested value.

By default, llvm.aarch64.set.fpmr continues to lower directly to an MSR
FPMR instruction. With -aarch64-conditional-fpmr-write, the backend
lowers the intrinsic to an MRS/MSR conditional branch sequence.

This is based on the initial implementation from:
https://github.com/llvm/llvm-project/pull/114248

However this PR keeps the conditional FPMR write sequence behind a
codegen flag. One reason to change the codegen lowering is because GCC
emits the conditional branch sequence unconditionally. LLVM preserves
the existing direct MSR lowering by default.


  Commit: 592e9d3e6a82b13aeccfc755aa5025b41cbfc260
      https://github.com/llvm/llvm-project/commit/592e9d3e6a82b13aeccfc755aa5025b41cbfc260
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf][NFC] Make SSAFOptions available in Builders and Extractors" (#205334)

The original version of this was reverted part of #205279 because I
didn't know if this or the other patch caused the Windows build
failures. It turns out this patch is fine. I'm relating this now.

---

Now that we have SSAFOptions, it would make it a lot more ergonomic if
it was accessible from builders and extractors.
This PR does exactly that.

Part of rdar://179151023

Co-authored-by: Jan Korous <jkorous at apple.com>
Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 81f06366f805c4d60da39c1c9b2eaa4443ef27fc
      https://github.com/llvm/llvm-project/commit/81f06366f805c4d60da39c1c9b2eaa4443ef27fc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/CMakeLists.txt
    A orc-rt/include/orc-rt/MacroUtils.h
    M orc-rt/unittests/CMakeLists.txt
    A orc-rt/unittests/MacroUtilsTest.cpp

  Log Message:
  -----------
  [orc-rt] Add MacroUtils.h header for general purpose macros. (#205337)

For now just contains ORC_RT_DEPAREN, a macro for stripping parentheses
from its argument. This will be used in an upcoming commit.


  Commit: 7a0829e41228513299c5108685b0bc127463c6a1
      https://github.com/llvm/llvm-project/commit/7a0829e41228513299c5108685b0bc127463c6a1
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/OffloadArch.h
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test

  Log Message:
  -----------
  [AMDGPU] Define new target gfx1154 (#204816)


  Commit: f17453ef75fc4acb0bb8c149bfcc07409881676e
      https://github.com/llvm/llvm-project/commit/f17453ef75fc4acb0bb8c149bfcc07409881676e
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/test/Dialect/MemRef/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][memref] Add SCFDialect dependency to RuntimeOpVerification (#205241)

Explicitly load SCFDialect as a dependent dialect in
RuntimeOpVerification to avoid unregistered dialect errors when
generating `scf.if`/`scf.yield` ops. Fixes #204295.


  Commit: 1416b5f6de966f29e6b9c4f868c330e693ce8952
      https://github.com/llvm/llvm-project/commit/1416b5f6de966f29e6b9c4f868c330e693ce8952
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll

  Log Message:
  -----------
  [AMDGPU][DAGCombiner] Fix UADDO/USUBO_CARRY carry-out miscompile and remove redundant AMDGPU combine (#204362)

performAddCarrySubCarryCombine in SIISelLowering folded:
    
  uaddo_carry((x+y), 0, cc) -> uaddo_carry(x, y, cc)
  usubo_carry((x-y), 0, cc) -> usubo_carry(x, y, cc)
    
Both produce the same value but differ in carry-out when x+y (or x-y)
wraps. The fold was missing a !N->hasAnyUseOfValue(1) guard, giving
wrong carry values to consumers. E.g. x=0xFFFFFFFF, y=1, cc=0:
  original: ((x+y) mod 2^32 + cc) >= 2^32 = 0  (correct)
  folded:   (x+y+cc) >= 2^32 = 1  (wrong)
    
The generic visitUADDO_CARRY (DAGCombiner.cpp) already handles
the UADDO_CARRY/ADD fold with the correct guard. Since target combines
fire before generic ones, the AMDGPU ADD arm was a buggy duplicate.
    
The USUBO_CARRY/SUB arm is produced by AMDGPU's performAddCombine
which converts add(sub(v,a), sext(cmp)) -> usubo_carry(sub(v,a), 0,
cmp).
There was no generic equivalent for this pattern.
    
Fix by adding the symmetric fold to visitUSUBO_CARRY:
    
  (usubo_carry (sub X, Y), 0, Carry) -> (usubo_carry X, Y, Carry)
    
with the same guard, then removing performAddCarrySubCarryCombine
from SIISelLowering entirely as it is now fully subsumed.
    
Tests: Add AMDGPU tests in uaddo.ll and usubo.ll covering the
carry-out-used (fold suppressed) and carry-out-unused (fold applied)
cases, autogenerated with update_llc_test_checks.py.


  Commit: 45a65bb48b5925707f43d08e30df2263a5e4e268
      https://github.com/llvm/llvm-project/commit/45a65bb48b5925707f43d08e30df2263a5e4e268
  Author: Alex Kremer <godexsoft at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx29Papers.csv
    M libcxx/include/__expected/expected.h
    M libcxx/include/version
    M libcxx/test/libcxx/utilities/expected/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/expected/expected.expected/observers/has_error.pass.cpp
    A libcxx/test/std/utilities/expected/expected.void/observers/has_error.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++]  P3798R1: The unexpected in std::expected (#204826)

Closes #204394

Implements P3798 and related tests.

Applies the paper as a Defect Report per https://wg21.link/P3798/github.


  Commit: ab1ef459069d1dbf4ee9e5a802537ababe294b25
      https://github.com/llvm/llvm-project/commit/ab1ef459069d1dbf4ee9e5a802537ababe294b25
  Author: John Paul Jepko <john.jepko at ericsson.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp

  Log Message:
  -----------
  [Clang][Test] Fix warn-memset-bad-sizeof.cpp after #183004 (#205201)

The new `-Wstringop-overread` warning (added in #183004) fires on the
SemaCXX test warn-memset-bad-sizeof.cpp. This happens on targets where
unsigned matches size_t, such as 32-bit ARM, because clang will match
the declaration with the builtin prototype (specifically, argument
`unsigned n`).

Suppress the warning since this test is exercising
`-Wsizeof-pointer-memaccess`, not source buffer overreads.

Fixes:
- https://lab.llvm.org/buildbot/#/builders/154/builds/32985
- https://lab.llvm.org/buildbot/#/builders/135/builds/3888
- https://lab.llvm.org/buildbot/#/builders/38/builds/9363


  Commit: 60b3b30897b3c9549d2083accbba26e1ca8bf44e
      https://github.com/llvm/llvm-project/commit/60b3b30897b3c9549d2083accbba26e1ca8bf44e
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [CIR][NFC] Rename zero result flag variable (#205242)

###summary

This is a follow up of https://github.com/llvm/llvm-project/pull/202273

Just a light patch for renaming the zero result flag variable.


  Commit: d957d2f2d8e718bd1101e7afad6be62901304cd1
      https://github.com/llvm/llvm-project/commit/d957d2f2d8e718bd1101e7afad6be62901304cd1
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h

  Log Message:
  -----------
  [analyzer] Allow SVals as llvm::Immutable{Map,Set} keys (#205319)

This will allow maps and sets being declared:
```
REGISTER_MAP_WITH_PROGRAMSTATE(MyMap, SVal, SVal)
REGISTER_SET_WITH_PROGRAMSTATE(MySet, SVal)
```


  Commit: 86d380e54fdb637be039f750651421c5b812eae4
      https://github.com/llvm/llvm-project/commit/86d380e54fdb637be039f750651421c5b812eae4
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/linux/sched-macros.h
    M libc/include/sched.yaml
    M libc/src/sched/CMakeLists.txt
    M libc/src/sched/linux/CMakeLists.txt
    A libc/src/sched/linux/sched_clrcpuset.cpp
    A libc/src/sched/sched_clrcpuset.h
    M libc/test/src/sched/CMakeLists.txt
    M libc/test/src/sched/cpu_count_test.cpp

  Log Message:
  -----------
  [libc] Add CPU_CLR(_S) macros (#204590)

This patch implements CPU_CLR and CPU_CLR_S macros following the
existing CPU_SET pattern. The macro just forwards to an internal entry
point.

Assisted by Gemini.


  Commit: 8ea065becdeb47687ce9717adc2c50e68b939b87
      https://github.com/llvm/llvm-project/commit/8ea065becdeb47687ce9717adc2c50e68b939b87
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/SPSAllocAction.h
    M orc-rt/unittests/SPSAllocActionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add ORC_RT_SPS_ALLOC_ACTION helper macro. (#205339)

ORC_RT_SPS_ALLOC_ACTION(Name, SPSArgs, Handle) is shorthand for defining
an allocation-action wrapper function whose arguments are SPS-encoded.
It expands to:

    static orc_rt_WrapperFunctionBuffer Name(const char *ArgData,
                                             size_t ArgSize);

with a body that deserializes ArgData via
SPSAllocActionFunction<SPSArgs...> and forwards the decoded arguments to
Handle.

SPSArgs is given as a parenthesized comma-separated list of SPS argument
types — e.g. (int32_t, int32_t) — stripped at expansion time via
ORC_RT_DEPAREN.


  Commit: 3f526756827fecd80111d1f065b879d292518480
      https://github.com/llvm/llvm-project/commit/3f526756827fecd80111d1f065b879d292518480
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Update C++ DR status page (#205342)

The post-Brno draft will not be out for three more weeks, but Brno
updates for Core issues statuses are already trickling in.

Notably, [CWG507](https://cplusplus.github.io/CWG/issues/507.html)
"Ambiguity with built-in binary operator candidates for class object
convertible to built-in type", which used to be marked as a duplicate of
[CWG260](https://cplusplus.github.io/CWG/issues/260.html) "User-defined
conversions and built-in `operator=`", is open again, presumably because
it contains an example that goes beyond the scope of CWG260. Relatively
recent CWG thread that might be related (WG21 access required):
[link](https://lists.isocpp.org/core/2025/08/18478.php).


  Commit: a4a59deb8dc50540c2e2f8b4c0b4addf30761a46
      https://github.com/llvm/llvm-project/commit/a4a59deb8dc50540c2e2f8b4c0b4addf30761a46
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll

  Log Message:
  -----------
  [LV][NFC] Add SVE tests for masked interleaved accesses with gaps (#205330)


  Commit: 7337fe1b09309fedbbdff2eb34043a0821523109
      https://github.com/llvm/llvm-project/commit/7337fe1b09309fedbbdff2eb34043a0821523109
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Basic/Builtins.cpp
    A clang/test/AST/builtin-name-registration.c

  Log Message:
  -----------
  [clang] Avoid per-builtin std::string allocation in initializeBuiltins (#205162)

`initializeBuiltins()` previously registered every builtin through an
allocated std::string every time a `CompilerInstance` initialized. This
was hot for module-heavy builds, where each built module re-registered
the full set.

Add `getBuiltinNameInto()`, which writes the name into a caller-provided
buffer and returns a `StringRef`, with no allocation when the shard has
no prefix (the common case). `Info::getName` now delegates to it so the
two cannot diverge. This change is output behavior-preserving.

Resolves: rdar://178672190


  Commit: f8aa5f66209d69c2c1f033317a4b4be961f4a78c
      https://github.com/llvm/llvm-project/commit/f8aa5f66209d69c2c1f033317a4b4be961f4a78c
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
    M llvm/lib/Target/Hexagon/HexagonPseudo.td
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/kcfi.ll

  Log Message:
  -----------
  [Hexagon] Add KCFI support for forward-edge control flow integrity (#191746)

Add KCFI support for Hexagon. KCFI provides lightweight forward-edge CFI
for indirect calls by embedding a type hash before each function and
checking it before indirect calls, without requiring LTO.


  Commit: 34b6e1c3b07d2d18b3112841992378b1057d87cc
      https://github.com/llvm/llvm-project/commit/34b6e1c3b07d2d18b3112841992378b1057d87cc
  Author: Chirag Wattamwar <119049661+ChiragSW at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
    M mlir/test/Dialect/common_folders.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][arith] Reject signful integer element types in `arith.constant` (#204937)

Update arith.constant verification to reject integer constants with
signed and unsigned element types including shaped constants like
tensors and vectors, as the arith dialect does not support
signed/unsigned types.

This incidentally address cases where further lowering would crash (e.g.
SPIR-V constant lowering used IntegerAttr::getInt() on an unsigned
integer attribute from tensor<2xui8>)

Fixes #204911


  Commit: dc658f1f11d3bf1da4243be9671dcdab597288b5
      https://github.com/llvm/llvm-project/commit/dc658f1f11d3bf1da4243be9671dcdab597288b5
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/include/CMakeLists.txt
    A libc/include/libgen.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/string_view.h
    A libc/src/libgen/CMakeLists.txt
    A libc/src/libgen/basename.cpp
    A libc/src/libgen/basename.h
    A libc/src/libgen/dirname.cpp
    A libc/src/libgen/dirname.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/libgen/CMakeLists.txt
    A libc/test/src/libgen/basename_death_test.cpp
    A libc/test/src/libgen/basename_test.cpp
    A libc/test/src/libgen/dirname_death_test.cpp
    A libc/test/src/libgen/dirname_test.cpp
    A libc/utils/docgen/libgen.yaml

  Log Message:
  -----------
  Reland "[libc] Implement basename and dirname in libgen.h #204554" (#205352)

Added the POSIX standard functions basename and dirname under a new libgen.h header. The implementations modify the input path in-place using cpp::string_view to determine boundaries safely.

Added find_last_not_of to cpp::string_view to support trailing slash removal.

Implemented:

libc/include/libgen.yaml, libgen.h.def: Public API definitions.
libc/src/libgen/basename.cpp, dirname.cpp: Generic implementations.
libc/test/src/libgen/: Unit and hermetic tests.
Registered the new entrypoints for all active Linux targets (x86_64, aarch64, arm, riscv) and added docgen configuration.

The tests are skipped when using ASan because death tests do not currently work with them.

Assisted-by: Automated tooling, human reviewed.


  Commit: 7befba8a76f3ba54b584cbb4b673d749f34054af
      https://github.com/llvm/llvm-project/commit/7befba8a76f3ba54b584cbb4b673d749f34054af
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  Silence conversion warning; NFC (#205357)

This was triggering a conversion warning in MSVC.


  Commit: 820314fae19408e906ef8144573fca292b411613
      https://github.com/llvm/llvm-project/commit/820314fae19408e906ef8144573fca292b411613
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c

  Log Message:
  -----------
  [clang][Dependency Scanning] Fix the Input File for By-Name Lookup's Input CC1 Command Line (#205214)

When the command line is a CC1 command, the scanner does not append the
fake input file to the command line when initializing the compiler
instance. This PR fixes that by passing the compiler instance
initialization the correct modified command line. Without specifying the
fake input file, clang picks up `-` as its input.

An observable behavior is that the diagnostics are pointing to incorrect
files for cc1 commands, hence a test is added to check the diagnostics
messages contain the correct file name.


  Commit: 0ce76c77c9e0ee15905d76500bfa0235c2ac3741
      https://github.com/llvm/llvm-project/commit/0ce76c77c9e0ee15905d76500bfa0235c2ac3741
  Author: owenca <owenpiano at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Don't check the format if diff is unavailable (#205036)


  Commit: fdb70dfca31d80ed3a5231819aaab8c54b12b658
      https://github.com/llvm/llvm-project/commit/fdb70dfca31d80ed3a5231819aaab8c54b12b658
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
    M llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
    M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
    M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
    M llvm/test/CodeGen/RISCV/rv32-move-merge-crash.ll
    M llvm/test/CodeGen/RISCV/rv32-move-merge.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Add mvd alias for padd.dw rd, zero, rs. Use for copy idiom. (#205223)

See https://github.com/riscv/riscv-p-spec/pull/304

I've refactored the MoveMerge code to use copyPhysReg to avoid duplication.


  Commit: 62c9839e109fa53c0cd52cddb4f28d415a5e7f74
      https://github.com/llvm/llvm-project/commit/62c9839e109fa53c0cd52cddb4f28d415a5e7f74
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll

  Log Message:
  -----------
  [LegalizeTypes] Fix incorrect EVL1 clip in SplitVecRes_VP_SPLICE. (#205021)

We were incorrectly clipping EVL1 to be a valid index for the VT, in the
range [0, VT.getNumVectorElements() - 1]. It is legal for EVL1 to be
equal to VT.getNumVectorElements() here so that was incorrect.

In case it isn't clear, the clip is necessary to prevent turning poison
into UB by accessing outside the temporary stack object.


  Commit: 83528bad5c9b9722280d284a7c35b06d560003bc
      https://github.com/llvm/llvm-project/commit/83528bad5c9b9722280d284a7c35b06d560003bc
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Preprocessor.cpp

  Log Message:
  -----------
  [clangd] fix preprocessor caching-lexer state tracking (#203716)

Fix `recomputeCurLexerKind` to avoid default fallback to
`CurLexerCallback = CLK_CachingLexer;`.

This prevents code-completion EOF handling from accidentally restoring
CLK_CachingLexer while a tentative parse is still active, which could
trigger a caching lexer re-entry assertion in clangd signature help.

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

---------

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


  Commit: db31a66571857ac2991e0ade1165a0fa81c4fbd1
      https://github.com/llvm/llvm-project/commit/db31a66571857ac2991e0ade1165a0fa81c4fbd1
  Author: Felipe Novais <felipenovais at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/docs/Docker.rst

  Log Message:
  -----------
  [docs] Fix typo in Docker.rst (#205346)

Small typo fix in the Docker documentation: Debian8 -> Debian12.

Signed-off-by: Felipe Novais <contact at felipenovais.com>


  Commit: b31886a2af71590b00d13a082b80e7a4a347c1c4
      https://github.com/llvm/llvm-project/commit/b31886a2af71590b00d13a082b80e7a4a347c1c4
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/__config
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/drop_while_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/take_while_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/test/std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/ctor.range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take.while/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take/ctor.view_count.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/ctor.view_function.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.first.last.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Backport P2711R1: Making multi-param constructors of views explicit (#190513)

As discussed in https://gcc.gnu.org/PR114298 - GCC and MSVC STL
implemented P2711R1 as a DR. This PR does the same for libc++.

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: a91e271481cc99ee0ab01aa0affc7ac352963844
      https://github.com/llvm/llvm-project/commit/a91e271481cc99ee0ab01aa0affc7ac352963844
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add additional tests for matchPMADDWD folds that fail with larger source types (#205362)

matchPMADDWD handles sext/shl cases as well which don't fold either on SSE/AVX512 targets


  Commit: 9acc93f96af24fd3b3598f3cc51520aaff6e688c
      https://github.com/llvm/llvm-project/commit/9acc93f96af24fd3b3598f3cc51520aaff6e688c
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [CIR] Lower elementwise saturating add/sub builtins (#203112)

`__builtin_elementwise_add_sat` and `__builtin_elementwise_sub_sat` were
still in the `errorBuiltinNYI` batch in `emitBuiltinExpr`, so any use
hit "unimplemented builtin call". That blocks C++26
`std::add_sat`/`std::sub_sat` (libc++
`<__numeric/saturation_arithmetic.h>`), which lower directly onto these
builtins.

This lowers them the way classic CodeGen does in `CGBuiltin.cpp`: select
the signed or unsigned saturating intrinsic from the operand's element
type (`sadd.sat`/`uadd.sat` for add, `ssub.sat`/`usub.sat` for sub).

Test coverage in `builtins-elementwise.c` exercises signed and unsigned,
scalar and vector, at i32 and i16 widths, checking the CIR
`cir.call_llvm_intrinsic` and the lowered `@llvm.{s,u}{add,sub}.sat`
calls on both the CIR and classic `-emit-llvm` paths.


  Commit: 7054171f229e2a9d55ed742dcf89782727579926
      https://github.com/llvm/llvm-project/commit/7054171f229e2a9d55ed742dcf89782727579926
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/C/C23/n3037.c

  Log Message:
  -----------
  Additional test coverage for WG14 N3037 (#202674)

There was a request for additional test coverage in:
https://github.com/llvm/llvm-project/pull/201650#discussion_r3376475306


  Commit: 650a05947d5bd0393914b8dfe15a5c50b193dfc9
      https://github.com/llvm/llvm-project/commit/650a05947d5bd0393914b8dfe15a5c50b193dfc9
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c
    A clang/test/CIR/IR/builtin-int-cast.cir
    A clang/test/CIR/IR/invalid-builtin-int-cast.cir
    A clang/test/CIR/Lowering/builtin-int-cast.cir
    A clang/test/CIR/Transforms/builtin-int-cast-fold.cir

  Log Message:
  -----------
  [CIR] Add cir.builtin_int_cast operation to replace uses of builtin.unrealized_conversion_cast (#201592)

This patch adds a new operation builtin_int_cast to handle casting
between CIR integer types and builtin integer types. This will replace
the current use of the builtin.unrealized_conversion_cast since this
operation is only intended to be used temporarily when doing
transformations.

Assisted-by: Cursor/Claude Opus 4.8 High


  Commit: a05357175d053b86e6d00df13e39416fb9a18cd7
      https://github.com/llvm/llvm-project/commit/a05357175d053b86e6d00df13e39416fb9a18cd7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-scheduled-non-copyable.ll

  Log Message:
  -----------
  [SLP]Fix dominance crash for scheduled copyable PHI-operand bundles

Extend the copyable/non-copyable PHI conflict bail-out in
tryScheduleBundle to the scheduled path, not just the non-schedulable
one.

Fixes #205327

Reviewers: 

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


  Commit: 759191045115d966dffc99901e9086289767ff5c
      https://github.com/llvm/llvm-project/commit/759191045115d966dffc99901e9086289767ff5c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp

  Log Message:
  -----------
  Recommit "[libc] Introduce the ioctl syscall wrapper and port all callers (#204640)" (#205317)

This patch reapplies #204640 (reverted in #205277), due to (-Werror)
build failure with gcc. Gcc warned about passing an uninitialized
structure through a `const void *` argument. This isn't a problem
because the ioctls in question write to that argument. The
fix/workaround is to provide a `void *` overload.

The original commit message was:

This patch adds an ioctl syscall wrapper in linux_syscalls namespace and
migrates all direct SYS_ioctl calls to use it.

To handle the polymorphic nature of ioctl arguments (where some commands
expect pointers, some expect scalar integers like queue_selector, and
some expect no argument at all), I use a helper struct IoctlArg with
implicit constructors. This avoids template bloat and overload
ambiguities (particularly around literal 0) while keeping call sites
clean.

Assisted by Gemini.


  Commit: 5274b7ffac47a891a932dcc630e6130cc72359ef
      https://github.com/llvm/llvm-project/commit/5274b7ffac47a891a932dcc630e6130cc72359ef
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Model pointer-to-data-member access in the fact generator (#204612)

VisitBinaryOperator had no case for `obj.*pm` (BO_PtrMemD) /
`objptr->*pm` (BO_PtrMemI), so a borrow of the accessed member
(`&(obj.*pm)`) dropped the object's loan to an empty origin and a
use-after-scope was missed. Flow the object operand's origin into the
result, mirroring a member access: for `.*` the object is the LHS, for
`->*` it is the LHS pointer's pointee.

Assisted-by: Claude Opus 4.8

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


  Commit: 0914d20f2f8fc3c85e956d93b643a54f683638c3
      https://github.com/llvm/llvm-project/commit/0914d20f2f8fc3c85e956d93b643a54f683638c3
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/linux/CMakeLists.txt
    A libc/include/llvm-libc-types/linux/loff_t.h
    A libc/include/llvm-libc-types/loff_t.h
    M libc/include/sys/types.yaml

  Log Message:
  -----------
  [libc] Add loff_t type (#204641)

Added loff_t type definition. This is a Linux extension required for
large file offsets.

* llvm-libc-types/loff_t.h: Include linux/loff_t.h on Linux.
* llvm-libc-types/linux/loff_t.h: Added Linux definition using
__kernel_loff_t.
* llvm-libc-types/CMakeLists.txt: Include linux subdirectory and add
dependency for loff_t.
* llvm-libc-types/linux/CMakeLists.txt: Registered loff_t.
* sys/types.yaml: Added loff_t to sys/types.
* libc/include/CMakeLists.txt: Added dependency to sys_types target.

Assisted-by: Automated tooling, human reviewed.


  Commit: 9928eab6b57b9791e648abc6cac2ac28870f6dbe
      https://github.com/llvm/llvm-project/commit/9928eab6b57b9791e648abc6cac2ac28870f6dbe
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    A clang/test/CIR/CodeGen/atomic-libcall.c

  Log Message:
  -----------
  [CIR] Atomic load and store via library call (#202671)

This patch adds support for atomic load/store operations that go through
calls to the `__atomic_load` and `__atomic_store` library functions.
This could happen when the size of the atomic type is too large or is
not a power of 2.

Assisted-by: Codex / gpt-5.5 xhigh


  Commit: 8d2a578b2130742c8790f3dba5fb414962eafcd5
      https://github.com/llvm/llvm-project/commit/8d2a578b2130742c8790f3dba5fb414962eafcd5
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Fix liveness propagation for all origin flows (#205323)

Previously, the `transfer` function for `OriginFlowFact` only handled
killing the destination origin. It did not propagate liveness backwards
from destination to source, meaning that if an origin flowed into
another, the source was not marked live even when the destination was.

The `transfer` function now propagates liveness from destination to
source: if the destination origin is live, the source origin is also
marked live with the same `LivenessInfo`, before optionally killing the
destination.

Additionally, `handleMovedArgsInCall` now skips rvalue reference
parameters annotated with `[[clang::lifetimebound]]`, since such
parameters should not be treated as moved-from.

This introduces some false positives for invalidations as container
modifications are not considered self-invalidating. The updated test
expectations reflect this, along with `FIXME` comments explaining that
they are false positives stemming from the lack of distinction between
owner-borrows and content-borrows, which will require more precise
`AccessPath` reasoning to resolve.


  Commit: 14670fd9a949958eb4f157a58c34d6179b4bab77
      https://github.com/llvm/llvm-project/commit/14670fd9a949958eb4f157a58c34d6179b4bab77
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CodeGen/ModuleBuilder.h
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/unittests/CodeGen/CodeGenExternalTest.cpp

  Log Message:
  -----------
  Add limited vtable address querying to `clang::CodeGenerator` (#202807)

This is being used in Carbon (
https://github.com/carbon-language/carbon-lang/pull/7323 ) to implement
cross-language overriding.

I realize this isn't the fully general feature needed for virtual bases,
etc - but this limited functionality is already wrapped up for, if I
understand it correctly, constexpr use cases and some others. So
hopefully it's still something folks feel is general enough to be
worthwhile exporting. For now Carbon doesn't support deriving from a
type with virtual bases, so the extra complexity isn't needed.


  Commit: 053d75c1d580e0c394f4cfb0688bafd05c187b0f
      https://github.com/llvm/llvm-project/commit/053d75c1d580e0c394f4cfb0688bafd05c187b0f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  Revert "Reapply "[InstCombine] Merge consecutive assumes" (#205177)" (#205380)

This surfaces a bug likely fixed by
https://github.com/llvm/llvm-project/pull/205275. Once that lands this
patch can be landed again.

Reverts llvm/llvm-project#205324


  Commit: e8b663ba31d4eed75a6cbc758dbc9f56589c9239
      https://github.com/llvm/llvm-project/commit/e8b663ba31d4eed75a6cbc758dbc9f56589c9239
  Author: Ehsan Amiri <ehsan.amiri at huawei.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
    A llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/update-dt.ll
    M polly/test/Support/pipelineposition.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Reland "Generalize the notion of trivial unswitching" (#204934)

In the original PR for this feature, the third parameter of
`MemorySSAUpdater::applyUpdates` was not set to `true`. This
caused `DT` to be invalid, resulting in the failures. This PR fixes the
issue and provides an additional testcase.

Also in the original commit had three asserts to confirm
`!ModifiedBranch ` when we bail out. One of these is redundant because
it is enclosed in an `if` statement checking the same condition. This PR removes
the redundant `assert` too.


  Commit: 2a362bf5a546d9ac6da47412b6f594de58cce722
      https://github.com/llvm/llvm-project/commit/2a362bf5a546d9ac6da47412b6f594de58cce722
  Author: Nicholas Bishop <nbishop at nbishop.net>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  Add no-arg constructor and EraseIf method to MultiplexExternalSemaSource (#204458)

The no-arg constructor makes MultiplexExternalSemaSource usable in
situations where two child sources are not immediately available, or
where conditional logic makes it easier to call AddSource rather than
immediately pass child sources to the constructor.

The EraseIf method allows sources to be removed later if they are no
longer needed.

Co-authored-by: Nicholas Bishop <nicholsabishop at google.com>


  Commit: c0214621a7492d950d0863501fe178c4e74a70f5
      https://github.com/llvm/llvm-project/commit/c0214621a7492d950d0863501fe178c4e74a70f5
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll

  Log Message:
  -----------
  [InstCombine] Fold (bw-1) - ctlz(x&-x) to cttz (#205383)

Works for non-powers of 2.

Alive2: https://alive2.llvm.org/ce/z/-cbxFz


  Commit: 87789e236d9de4b8d688a0d7291c7390fc2c58b4
      https://github.com/llvm/llvm-project/commit/87789e236d9de4b8d688a0d7291c7390fc2c58b4
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    A clang/test/CIR/CodeGen/member-pointer-null-init.cpp

  Log Message:
  -----------
  [CIR] Handle non-zero-initializable types in emitNullInitialization (#201654)

Value-initializing an aggregate containing a pointer-to-data-member
(e.g. `new Inner()` where `Inner` has an `int Inner::*` field) crashed
with "type is not zero initializable" because `emitNullInitialization`
unconditionally called `errorNYI` for types where `isZeroInitializable`
returns false.

Member pointers use -1 as the null sentinel, so a plain zero store is
incorrect. Replace the `errorNYI` with `emitNullConstant`, which already
builds the correct per-field pattern (-1 for member-pointer fields, zero
elsewhere), and store the result. Types with virtual bases are still
guarded with `errorNYI` since `emitNullConstant` does not yet handle
them.


  Commit: db078760b01d8b533c5d8d2e1017516823ae9a3d
      https://github.com/llvm/llvm-project/commit/db078760b01d8b533c5d8d2e1017516823ae9a3d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Remove isCodeGenOnly=0 from PseudoLA_TLSDESC. (#205366)

The default for a Pseudo is isCodeGenOnly=1. With isCodeGenOnly=0 the
'la.tlsdesc' is a valid mnemonic for the assembly parser, but crashes in
the encoder.

I don't think this was meant to be a valid assembly mnemonic so remove
it.


  Commit: 05f4625e7282294d556653ca11fc4ccb8f2aedca
      https://github.com/llvm/llvm-project/commit/05f4625e7282294d556653ca11fc4ccb8f2aedca
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/test/API/lang/objc/hidden-ivars/Makefile

  Log Message:
  -----------
  [lldb][test] Fix TestHiddenIvars rebuild failures in hidden-ivars Makefile (#205114)

Two rebuild-state bugs surfaced when running `./bin/lldb-dotest -p
TestHiddenIvars.py`:

```
FAILED (errors=6, skipped=7, expected failures=2)
```

1. `mkdir: stripped: File exists`, mkdir failed on the second build
   because the directory already existed.  Switch to `mkdir -p`.

2. `cp -r a.out.dSYM stripped/a.out.dSYM` recurses *into* the existing
   destination on rebuild, producing a nested `stripped/a.out.dSYM/
   a.out.dSYM/`.  The outer dSYM keeps its stale UUID, so lldb cannot
   match it to the freshly relinked stripped binary (which gets a new
   UUID per link via -Wl,-random_uuid), causing source breakpoints to
   fail to resolve.  Remove the destination before copying.


  Commit: e09eee295e86bd3e01de5a9ef3eb3d6b9446578b
      https://github.com/llvm/llvm-project/commit/e09eee295e86bd3e01de5a9ef3eb3d6b9446578b
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    A llvm/test/Instrumentation/Instrumentor/compare.ll
    A llvm/test/Instrumentation/Instrumentor/compare_config.json
    M llvm/test/Instrumentation/Instrumentor/default_config.json
    M llvm/test/Instrumentation/Instrumentor/default_rt.h

  Log Message:
  -----------
  [Instrumentor] Add comparison instrumentation opportunity (#204069)

This patch adds an instrumentation opportunity for comparison
instructions (`icmp` and `fcmp`).


  Commit: 044f0a53e3a011739572037d9880cb71eb988dcd
      https://github.com/llvm/llvm-project/commit/044f0a53e3a011739572037d9880cb71eb988dcd
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use llvm_unreachable in switch guard for all except gcc 8- (#205385)

Follow-up to https://github.com/llvm/llvm-project/pull/194728.

For gccs older than v9 use abort. That seems to make everybody happy.


  Commit: 5d4296c10053158c8193748994f7a49ae88c626b
      https://github.com/llvm/llvm-project/commit/5d4296c10053158c8193748994f7a49ae88c626b
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-bitwise.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp

  Log Message:
  -----------
  [CIR] Lower bitwise vector reduce builtins

`__builtin_reduce_or`, `__builtin_reduce_and`, and `__builtin_reduce_xor` were caught by the batch `errorBuiltinNYI` switch in CIRGen and rejected with an NYI diagnostic.  They now lower to the matching `llvm.vector.reduce.{or,and,xor}` intrinsics on the vector element type, mirroring classic CodeGen in `CGBuiltin.cpp`.

The emission routes through `emitBuiltinWithOneOverloadedType`, extended with an optional result type: a vector reduction returns the element type, and CIR has no intrinsic registry to derive it the way classic's `getIntrinsic(ID, argTy)` does, so the element type is supplied explicitly (the default keeps the existing callers unchanged).  The intrinsic name is passed without the `llvm.` prefix, which `LowerToLLVM` prepends, producing LLVM output byte-identical to OGCG.

The `builtin-undef-rvalue` regression test previously pinned `reduce_or` as NYI; it is retargeted to `reduce_add`, which is still NYI, so the undef-rvalue path stays covered.


  Commit: 88eaad84c9832a2eaa335d90505b33870cc4b2e8
      https://github.com/llvm/llvm-project/commit/88eaad84c9832a2eaa335d90505b33870cc4b2e8
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/lib/Frontend/CompilerInvocation.cpp
    M llvm/include/llvm/Option/OptParser.td
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [llvm][option] Remove bitfield marshalling (#203051)

Marshaling of bitfield options is adding some extra complexity in the
form of extractors and mergers, but is now unused. This PR removes that
feature.


  Commit: 289e243d2b481ceb604c798f239350108bcd9585
      https://github.com/llvm/llvm-project/commit/289e243d2b481ceb604c798f239350108bcd9585
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  Revert "[flang][cuda] Do not emit data transfer for constant read on the rhs" (#205394)

Reverts llvm/llvm-project#205185

this is making couple of downstream tests failing. Another approach is
needed


  Commit: c70d01a0a6b76e8b34a470cf9ef57a68cfa7cc0d
      https://github.com/llvm/llvm-project/commit/c70d01a0a6b76e8b34a470cf9ef57a68cfa7cc0d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Core/Module.h
    M lldb/source/Core/Module.cpp
    M lldb/unittests/Core/ModuleTest.cpp

  Log Message:
  -----------
  [lldb] Fix data race in Module::GetSectionList (#205226)

Module::GetSectionList built the section list (m_sections_up) without a
lock, so parallel module loading (e.g. crashlog.py's thread pool) could
race two builders on the unique_ptr and the SectionList vector, crashing
in AppleObjCRuntime::GetObjCVersion.

Build through ObjectFile::GetSectionList instead of locking the module
mutex and calling CreateSections directly: that path locks the object
file's section mutex before the module mutex, and the build can re-enter
it, so holding the module mutex across the build would invert the order
and risk a deadlock. The Module-level counterpart to a0176fd9dfc5.

rdar://180308581


  Commit: e0359327d544d593f4bbf6af9479eb55ddf342d0
      https://github.com/llvm/llvm-project/commit/e0359327d544d593f4bbf6af9479eb55ddf342d0
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 7591910 (#205377)

This fixes 759191045115d966dffc99901e9086289767ff5c.

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


  Commit: dd1685d5a9f4f0af759ec29dc7f39951e262467c
      https://github.com/llvm/llvm-project/commit/dd1685d5a9f4f0af759ec29dc7f39951e262467c
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll

  Log Message:
  -----------
  [SLP] Don't recognize rotated widened strided stores in analyzeRtStrideCandidate() (#204013)

These cases which are nearly strided stores are being incorrectly
recognized as strided stores. Fixes #204011


  Commit: 361f3b24f2a8703eb7a32c1ae081f490888238f3
      https://github.com/llvm/llvm-project/commit/361f3b24f2a8703eb7a32c1ae081f490888238f3
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Model GNU statement expressions (#204841)


  Commit: 3f48c6728c06f270f3126394ef8e6e65ef9d7174
      https://github.com/llvm/llvm-project/commit/3f48c6728c06f270f3126394ef8e6e65ef9d7174
  Author: Kelvin Li <kli at ca.ibm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/tools/dsymutil/X86/bundle-mtime.test

  Log Message:
  -----------
  [dsymutil] Use more portable way to compare timestamp (NFC) (#204680)

`find` on AIX does not support `-maxpath` option. This patch is
to use python to compare the `mtime` of the file/directory.


  Commit: 95decf7ce8bdcee2ab3f2b6932d951bd70babf91
      https://github.com/llvm/llvm-project/commit/95decf7ce8bdcee2ab3f2b6932d951bd70babf91
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/phi-aa.ll
    M llvm/test/Analysis/BasicAA/phi-and-select.ll
    M llvm/test/Analysis/BasicAA/recphi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVersioning/exit-block-dominates-rt-check-block.ll

  Log Message:
  -----------
  [BasicAA] Allow some more recursion across GEPs/phis. (#205010)

Allow recursive base-object analysis for some GEPs. The new version
still retains some bail-outs to avoid some redundant work.

This has a notable impact across a large IR corpus (32k modules from
large set of C/C++ workloads).

Some of the highlights include:

   aa.NumNoAlias                  +1.52%
   aa.NumMayAlias                 −0.10%
   licm.NumMovedLoads             +20.47%
   licm.NumHoisted                +2.03%
   early-cse.NumCSELoad           +1.59%
   SLP.NumVectorInstructions      +0.86%
   loop-vectorize.LoopsVectorized +0.21%
   instcount.TotalInsts           −0.05%
   instcount.NumLoadInst          −0.10%
   basicaa.SearchTimes            +0.98%
   basicaa.SearchLimitReached     +14.39%
   LV runtime alias check         −1.3%

Compile-time has 2 notable changes

    stage1-ReleaseThinLTO: +0.04%
    stage1-ReleaseLTO-g: +0.18%


https://llvm-compile-time-tracker.com/compare.php?from=26ed0c17c0de84add0513a0e9699479f8c88b8fe&to=476e7466c5f543ac74c86bad728d79892f668f73&stat=instructions:u

The stage1-ReleaseLTO-g regression in particular is almost exclusively
due to tramp3d-v4, for which we also generate +1.18% more code, so the
majority of the increase is coming from additional transforms/codegen,
not the analysis itself.

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


  Commit: dcec4dda91608ddeee72cf2f503b3cb56e427fcb
      https://github.com/llvm/llvm-project/commit/dcec4dda91608ddeee72cf2f503b3cb56e427fcb
  Author: yueshe <yueshe at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/misched-prera-loads.mir
    M llvm/test/CodeGen/SystemZ/misched-prera-pdiffs.mir

  Log Message:
  -----------
  [SystemZ] Add missing asserts requirement for pre-RA sched mir tests (#205403)

This is based off https://github.com/llvm/llvm-project/pull/188823 and
is needed because tests are failing in release (non-asserts) builds


  Commit: 7a4dfab07d1f76e5609be940213495060cecb078
      https://github.com/llvm/llvm-project/commit/7a4dfab07d1f76e5609be940213495060cecb078
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceManager.h
    M clang/lib/Basic/SourceManager.cpp
    M clang/test/DebugInfo/Generic/macro.c
    A clang/test/Preprocessor/hardlink-include-names.c
    M clang/unittests/Basic/SourceManagerTest.cpp

  Log Message:
  -----------
  [clang] Fix incorrect filenames for hardlinks (#189475)

Previously hardlinked files would be discovered based on their inode,
leading to incorrect filepaths printed in some cases.

Fixes https://github.com/llvm/llvm-project/issues/26953
Fixes https://github.com/llvm/llvm-project/issues/58726

Related https://reviews.llvm.org/D137304

Assisted-by: codex


  Commit: 0628d3586aee3f880a75934e4f7c314bf5c221f2
      https://github.com/llvm/llvm-project/commit/0628d3586aee3f880a75934e4f7c314bf5c221f2
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/CodeGen/const-label-addr.c

  Log Message:
  -----------
  [CIR] Implement support for emitting label address constants (#203644)

The evalloop.c test in the llvm-test-suite single source tests contains
a static array that is initialized with the address of labels within the
enclosing function. This wasn't implemented in CIR.

This change adds an implementation. The constant emitter change was
trivial. We just needed to create a #cir.block_addr_info attribute.
However, using that attribute as an initializer for a global requires
some additional handling and special lowering for the initializer.

The goto solver also needed to be updated to consider uses of labels in
global initializers.

The test case here was copied over directly from classic codegen. The
original test has an additional test case for the difference between two
label addresses. Support for that case will be added in a future change.

Assisted-by: Cursor / claude-opus-4.8


  Commit: 5ab7ad96b05277467b2bab27f510affd337fa3be
      https://github.com/llvm/llvm-project/commit/5ab7ad96b05277467b2bab27f510affd337fa3be
  Author: vitbur <vittorioburani at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td

  Log Message:
  -----------
  [RISCV][XCV] Add missing IsRV32 predicate to the XCVmac block (#205095)

The XCVmac instruction block was missing the `IsRV32` predicate that
every other XCV block already carries. `HasVendorXCVmac` on its own does
not require RV32, so `-mtriple=riscv64 -mattr=+xcvmac` could select
these RV32-only vendor instructions on RV64. Add `IsRV32` to the XCVmac
block to match the other XCV extensions and prevent selecting invalid
instructions on RV64.

Split out of #204879 at review request (one fix per PR).

Part of a CORE-V (XCV) series; see RFC:
https://discourse.llvm.org/t/rfc-core-v-xcv-support-for-cv32e40p-clang-builtins-xcvsimd-intrinsics-and-generic-auto-selection/91111


  Commit: 6709bcde07752b38038bafda35eac3f16c38c4ba
      https://github.com/llvm/llvm-project/commit/6709bcde07752b38038bafda35eac3f16c38c4ba
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  Revert "[NFC][Support] Add test for inverted slash-agnostic matching" (#205397)

Reverts llvm/llvm-project#203290 as part of the process of reverting
https://github.com/llvm/llvm-project/pull/202854 due to downstream
breakage (see discussion in
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4746579478)


  Commit: 0b5c006208cf7b0fee3709f468152e7de81607ef
      https://github.com/llvm/llvm-project/commit/0b5c006208cf7b0fee3709f468152e7de81607ef
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    M clang/unittests/Basic/DiagnosticTest.cpp
    M llvm/lib/Support/SpecialCaseList.cpp
    M llvm/unittests/Support/SpecialCaseListTest.cpp

  Log Message:
  -----------
  Revert "Make sanitizer special case list slash-agnostic" (#205399)

Reverts llvm/llvm-project#149886 as part of the process of reverting
https://github.com/llvm/llvm-project/pull/202854 due to downstream
breakage (see discussion in
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4746579478)


  Commit: 92f058a8b351def1c10cb3f37d05adf813fb9638
      https://github.com/llvm/llvm-project/commit/92f058a8b351def1c10cb3f37d05adf813fb9638
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp
    A llvm/test/tools/llvm-pdbutil/forward-cxx-to-c-odr.test
    A llvm/test/tools/llvm-pdbutil/forward-cxx-to-c.test

  Log Message:
  -----------
  [DebugInfo][CodeView] Resolve forward references to types without unique name (#203781)

In the following code:
```cpp
// header.h
typedef struct lua_State lua_State;
lua_State *getState();

// source.c
#include "header.h"
struct lua_State { int field; };

lua_State *getState() {
    static lua_State state = {.field=42}; // make sure the type is emitted
    return &state;
}

// main.cpp
extern "C" {
    #include "header.h"
}
int main() { return getState() != 0; }
```

We'll get two forward references for `lua_State` when compiling with
clang-cl. One with a unique name (from C++) and one without (from C).
There's one complete definition for the type (from `source.c`). Since
this is from C, it doesn't have a unique name. Before, we could only
resolve the forward reference from C, not from C++.

With this PR, we can resolve both references. I also tested that the VS
debugger resolves the reference correctly.

I'm not sure if this is a clang bug, because when compiling with MSVC,
the C type also has a unique name. Clang omits the unique name, because
C doesn't have ODR like C++.


  Commit: f9db256c63b5ecc802183f6e58fda039e36816c4
      https://github.com/llvm/llvm-project/commit/f9db256c63b5ecc802183f6e58fda039e36816c4
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  [X86] Hoist getMOVriOpcode to X86InstrInfo.h and share it, NFC (#205187)

The x86 backend often needs to materialize potentially 64-bit immediates
into registers, and the logic to pick between the available opcodes
exists in 3 places at least. Move this to X86InstrInfo.h so we can share
it over the x86 backend without copying it.

An LLM did the refactoring.


  Commit: 4c02baa7db33dcebd6b9eb51837b176869c8d327
      https://github.com/llvm/llvm-project/commit/4c02baa7db33dcebd6b9eb51837b176869c8d327
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/elf-core/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add missing dependency on lldbPluginObjectFilePlaceholder (#204831)

Fixes shared library build after 882d0251.


  Commit: 094c10f9c6a7ff039c682fd2c5d90f92e2579f1e
      https://github.com/llvm/llvm-project/commit/094c10f9c6a7ff039c682fd2c5d90f92e2579f1e
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    A clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir

  Log Message:
  -----------
  [CIR] Lower byval/byref args in CallConvLowering (#201717)

[CIR] Lower byval/byref args in CallConvLowering

ArgKind::Indirect arguments were hitting an errorNYI in
CIRABIRewriteContext.  Add the lowering: in the callee the block argument
type changes to !cir.ptr<T>, a load is inserted at entry so the body sees
the original value type, and llvm.byval or llvm.byref is attached based on
ownership.  At call sites, both byval and byref are lowered by allocating a
stack slot, copying the value in, and passing the pointer.

For byval, llvm.noalias and llvm.noundef are also added -- llvm.noalias
because the call-site rewrite always produces a fresh alloca+store
(equivalent to -fpass-by-value-is-noalias), and llvm.noundef because the
copy is always fully defined.  byref carries only llvm.byref and llvm.align
since it does not assert exclusive ownership.


  Commit: 594cce3cbcdbe46d6f9ac3c6a53f86ae63c5bc42
      https://github.com/llvm/llvm-project/commit/594cce3cbcdbe46d6f9ac3c6a53f86ae63c5bc42
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    A llvm/test/CodeGen/AMDGPU/uniform-intrin-combine-wqm-demote.ll

  Log Message:
  -----------
  [AMDGPU] Change static NOP last terminator SI_DEMOTE_I1 to be replaced by S_BRANCH instead of assert (#204649)

This issue was first discovered in some testing downstream. A specific
chain of transformations on a ballot instruction with a constant
argument followed by an llvm.amgcn.wqm.demote call leads to an
instruction of `SI_DEMOTE_I1 -1, 0` being the last terminator of a block
with a single successor. This instruction is a NOP and can safely be
replaced with an S_BRANCH to the block's successor instead of asserting
failure.

The test added in this change is a very simplified recreation of the
pattern seen in the shader compilation in the downstream that lead to
assertion failure


  Commit: 9757708126ff8defac247ed5a8a04b5daa8cd7c1
      https://github.com/llvm/llvm-project/commit/9757708126ff8defac247ed5a8a04b5daa8cd7c1
  Author: seantalts <me at seantalts.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/pred-inst-discount-vector-library-call.ll

  Log Message:
  -----------
  [LoopVectorize] Don't assert in getVectorCallCost for vector library variants (#202085)

During loop vectorization, `computePredInstDiscount` queries the cost of
instructions at vector VF using `getInstructionCost`. A `CallInst` with
a vector library variant delegates to `getVectorCallCost`, which
asserted that such variants should not reach it.

A predicated call can however reach `getVectorCallCost` via
`computePredInstDiscount` — before its widening decision is made — when
a predicated user (e.g. a scatter store) is being considered for
scalarization. Remove the assert and fall through to the existing
scalarization cost, which is the cost relevant to that analysis.

Adds a regression test exercising that path.


  Commit: ebf518b37a85a418ef887d77ff688d17d2bd8fa5
      https://github.com/llvm/llvm-project/commit/ebf518b37a85a418ef887d77ff688d17d2bd8fa5
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.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/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Refactor XeGPU layout propagation: passing lane_layout/lane_data with inst_data (#203156)

**Motivation**

Enhance setup* rules in layout propagation to pass lane_layout, and
lane_data information during inst_data propagation, so that the
propagation can have lane level information when choosing an optimal
inst_data. This branch makes that relationship explicit and uniform
across all setup rules.

**Invariant**

All setup rules now produce layouts that satisfy:

Nd ops + dpas/dpas_mx: inst_data = k * (lane_layout * lane_data), k ≥ 1
Scatter/matrix ops + non-anchor ops: inst_data = lane_layout * lane_data

**Key changes in XeGPULayoutImpl**
- New per-op anchor setup rules: setupStoreNdAnchorLayout,
setupPrefetchNdAnchorLayout,
setupLoadNdAnchorLayout (replacing a generic block-IO path) — Nd ops
have rigid lane info
  and fit inst_data to the lane factorization.
- New complete*LayoutFromInstData helpers: fill in lane info on
user-provided anchors that
specify only inst_data, by re-running the op's Lane-kind setup with
inst_data as the
destination shape. Covers scatter load/store, block store/load, DPAS,
and DPAS_MX.
- BlockIOInstructionInterface (new in uArchBase.h): shared abstraction
over the
load/store/prefetch 2D-block instructions; the three Xe2 instructions
now implement it.
- setupMultiReductionResultLayout reorganized so the InstData and Lane
branches share the
  same lane-layout logic (computeReductionLaneLayoutAndData).
- createScaleLayout (dpas_mx): caps the scale lane_layout by inst_data
so the scale
  operand's load_nd satisfies the multiple-of invariant.
- getValidLayouts → getSgLayoutCandidates: renamed and generalized from
2D to N-D
  factorization.
- inferShapeCastSourceLayout preserves lane info through 1D↔ND
collapse-style casts.
- chunkSize → contiguousChunkSize parameter rename for the scatter
inst_data decision.
- ResolveLayoutConflicts: retargets an existing convert_layout instead
of chaining a second
  one; UnrollConvertLayoutOp short-circuits when input == target.
- Sub-byte (4-bit) element support added to the block-load uArch table.
- Tests updated: propagate-layout-inst-data.mlir, propagate-layout.mlir,
  resolve-layout-conflicts.mlir.

Assisted-by-claude

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply at anthropic.com>


  Commit: cf78c5484ae7d39464d7b46f9fb3769dd6f9a2b7
      https://github.com/llvm/llvm-project/commit/cf78c5484ae7d39464d7b46f9fb3769dd6f9a2b7
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp

  Log Message:
  -----------
  [MemoryBuiltins][NFC] Clang format and fixed coding style (#205205)


  Commit: 0fdfa2b597aa0dbe76bc89fa313e2aa00da04430
      https://github.com/llvm/llvm-project/commit/0fdfa2b597aa0dbe76bc89fa313e2aa00da04430
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Remove assembly string from PseudoLA_TLSDESC. NFC (#205406)


  Commit: 7e510f6adca203c3e347a85dc0e5a9016cd645a5
      https://github.com/llvm/llvm-project/commit/7e510f6adca203c3e347a85dc0e5a9016cd645a5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp

  Log Message:
  -----------
  [LV] Remove unused getInt/Fp/PointerInductionDescriptor accessors (NFC) (#205414)

getIntOrFpInductionDescriptor and getPointerInductionDescriptor are
unused, remove them.


  Commit: 5794f4e183d2612bb3aa4cd529d0c5c8c0f267dd
      https://github.com/llvm/llvm-project/commit/5794f4e183d2612bb3aa4cd529d0c5c8c0f267dd
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/lib/Analysis/ProfileSummaryInfo.cpp

  Log Message:
  -----------
  [PSI] Drop AllowSynthetic parameter to getProfileCount

This was not set anywhere and synthetic profile counts are not
emitted/used anywhere, so remove it.

Reviewers: david-xl, mtrofin, teresajohnson

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


  Commit: ee682b8b050a16dc7c2f6bcb6e3409b3241d4022
      https://github.com/llvm/llvm-project/commit/ee682b8b050a16dc7c2f6bcb6e3409b3241d4022
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/lib/Analysis/BlockFrequencyInfo.cpp
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp

  Log Message:
  -----------
  [BFI] Drop AllowSynthetic Parameter

This was never set anywhere to something other than the default outside
of the implementation and synthetic profile counts are slated for
removal.

Reviewers: teresajohnson, mtrofin, david-xl

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


  Commit: e584691adce2c8c0949e28f56427db72ac765570
      https://github.com/llvm/llvm-project/commit/e584691adce2c8c0949e28f56427db72ac765570
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [IR] Remove Synthetic Profile Support from Function

Synthetic profiles are not generated anywhere and support is very
sporadic across the code base. They are slated to be removed, so remove
support for them from Function member functions.

A future PR will clean up the ProfileCount abstraction that is now no
longer necessary.

Reviewers: teresajohnson, david-xl, mtrofin

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


  Commit: b74154ccda5f417de6be26fcc69cd41aed8eec57
      https://github.com/llvm/llvm-project/commit/b74154ccda5f417de6be26fcc69cd41aed8eec57
  Author: Sy Brand <sy.brand at fastly.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/test/Driver/wasm-toolchain.c
    A lld/test/wasm/cooperative-threading.s
    M lld/test/wasm/stack-pointer-abi.s
    M lld/test/wasm/thread-context-abi-mismatch.s
    M lld/test/wasm/tls-libcall.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/Options.td
    M lld/wasm/Relocations.cpp
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    A llvm/test/CodeGen/WebAssembly/cooperative-strip-tls.ll

  Log Message:
  -----------
  [WebAssembly] Cooperative threading for WASIP3 (#200855)

This PR builds on the changes to allow libcall thread context from
https://github.com/llvm/llvm-project/pull/175800/changes and adds the
necessary changes to support cooperative multithreading in the WASIP3
target:

- Not marking memory as shared 
- Allowing thread local accesses without atomics
- Only using passive segments for TLS segments

The linker changes are supported by a new flag called
`--cooperative-multithreading`. We talked about having two flags, one
for the `--libcall-thread-context` part and one for the cooperative
multithreading part. For now, I've simply replaced the
`--libcall-thread-context` flag with the `--cooperative-multithreading`
one and kept the internal configuration intact for simplicity.


  Commit: 7e6d7003d805935036076b6d76ee698164e5b8aa
      https://github.com/llvm/llvm-project/commit/7e6d7003d805935036076b6d76ee698164e5b8aa
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [PSI] Return raw entry count values

Now that synthetic entry counts are being removed, stop using the
ProfileCount wrapper around entrycounts given it only exists to
distinguish between synthetic and real profile counts.

Reviewers: teresajohnson, david-xl, mtrofin

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


  Commit: d6c03937349e8d3856b4e21f1737e860bf1c8e3f
      https://github.com/llvm/llvm-project/commit/d6c03937349e8d3856b4e21f1737e860bf1c8e3f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [lldb] Disable dynamic script interpreters by default under Xcode (#205423)

When LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS is set, liblldb's export
list is built by merging the undefined LLDB symbols extracted from each
script interpreter plugin's objects (119e57630281). Because the plugins
link liblldb, the generated file is wired into liblldb's link via
LINK_DEPENDS, a file-level dependency with no target-level edge.

The Xcode generator only has coarse target-level dependencies, so that
generated liblldb-script-interpreter.exports ends up attached to two
targets with no common dependency, which its "new build system" rejects
at generation time:

```
  CMake Error in source/API/CMakeLists.txt:
    .../source/API/liblldb-script-interpreter.exports
    is attached to multiple targets ... but none of these is a common
    dependency of the other(s). This is not allowed by the Xcode "new
    build system".
```

Default the option to OFF under the Xcode generator. The script
interpreter plugins are then linked statically into liblldb and the
per-plugin export path is never taken.

rdar://180422686


  Commit: 65a7ccf65602e5e77c13f7e88fe152f4f7cfaa17
      https://github.com/llvm/llvm-project/commit/65a7ccf65602e5e77c13f7e88fe152f4f7cfaa17
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    A mlir/lib/Dialect/OpenACC/Transforms/ACCEmitRemarksLoop.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-loop-pipeline.mlir
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-loop.mlir

  Log Message:
  -----------
  [MLIR][OpenACC] Add acc-emit-remarks-loop pass (#205203)

Add a function-level pass that emits optimization remarks for loops in
`acc.compute_region`, describing their mapping to OpenACC parallel
levels (gang, worker, vector, sequential) and GPU dimensions (blockIdx,
threadIdx).


  Commit: 37a71b650a9f4c4431fece85485023a048b0bb1d
      https://github.com/llvm/llvm-project/commit/37a71b650a9f4c4431fece85485023a048b0bb1d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/ProfileSummaryInfo.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/MIRSampleProfile.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [IR] Remove ProfileCount Abstraction

This only exists to differentiate between real and synthetic profiles.
Remove the abstraction now that we plan to fully remove synthetic
profiles.

Reviewers: mtrofin, david-xl

Reviewed By: mtrofin

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


  Commit: 1a997e2a2c370231b6add5884f6fdc7f195d5fe6
      https://github.com/llvm/llvm-project/commit/1a997e2a2c370231b6add5884f6fdc7f195d5fe6
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.h
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  [dsymutil] Reuse a single thread pool across architectures (#204691)

dsymutil links the architectures of a universal binary on a thread pool,
and the parallel linker's DWARFLinkerImpl::link() then created a second
pool to link each architecture's object files. With one such inner pool
per architecture, dsymutil spun up more worker threads than the machine
has cores.

Add DWARFLinkerBase::setThreadPool() so the caller provides the pool.
The parallel linker schedules the object files on it as a
ThreadPoolTaskGroup. dsymutil hands over the pool it already uses to
schedule the architectures, llvm-dwarfutil passes one sized by
--num-threads, and the classic linker ignores it and manages its own
threads (always 2 for the lockstep algorithm).

The per-compile-unit cloning still runs on the global llvm::parallel
executor, whose per-thread allocators are indexed by getThreadIndex(),
so it can't move onto this pool.


  Commit: cf6527a49669c796bc4b5bacb7a7738fee13944b
      https://github.com/llvm/llvm-project/commit/cf6527a49669c796bc4b5bacb7a7738fee13944b
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port commits (#205428)

55d7f777d958
582a20269e2c


  Commit: 0c6a0c4ccf234c5d9969294b454cb615277ede14
      https://github.com/llvm/llvm-project/commit/0c6a0c4ccf234c5d9969294b454cb615277ede14
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDowngrade1p1To1p0.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/tosa-downgrade-1-1-to-1-0.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add support for matmul_t (#203894)

Adds support for matmul_t added to the specification in
https://github.com/arm/tosa-specification/pull/50.

This includes:
- Operator definition
- Verification logic for the operator
- Output shape inference for the operator
- Validation checks to ensure compliance with the TOSA specification
including profile compliance and level checks.
- Support for matmul_t to matmul in the downgrade pass.

Note that MXFP support will be added in a follow-up commit.


  Commit: 3b1927989a0831d731eb5e0b9eada6a5367c6bf5
      https://github.com/llvm/llvm-project/commit/3b1927989a0831d731eb5e0b9eada6a5367c6bf5
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/cuf29.cuf

  Log Message:
  -----------
  [flang][cuda] Prefer valid intrinsics over host-only generics in device code (#205376)

In CUDA device code, a host-only generic can shadow an intrinsic with
the same name and cause a valid call such as maxloc(a, 1) to be rejected
as non-device-callable. Retry intrinsic resolution for host-only generic
function calls in device context, preserving normal diagnostics when no
valid intrinsic matches.


  Commit: 6c25981989b0b21e5fa95ae75badd94a1c5453f6
      https://github.com/llvm/llvm-project/commit/6c25981989b0b21e5fa95ae75badd94a1c5453f6
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/GlobPattern.h
    M llvm/lib/Support/GlobPattern.cpp
    M llvm/unittests/Support/GlobPatternTest.cpp

  Log Message:
  -----------
  Revert "[NFC][Support] Implement slash-agnostic path matching in GlobPattern" (#205409)

Reverts llvm/llvm-project#202854 due to downstream breakage (see
discussion in
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4746579478)


  Commit: 510ef079ffdd60a912ebf23911621944af757ac6
      https://github.com/llvm/llvm-project/commit/510ef079ffdd60a912ebf23911621944af757ac6
  Author: Maosu Zhao <maosu.zhao at intel.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/non_float_store.ll

  Log Message:
  -----------
  [NSan] Fix null-pointer crash on unsupported vector element sizes (#202270)

In propagateNonFTStore, BitcastTy is left null when a ConstantDataVector
has an element width other than 32/64/80 bits (e.g., f16, bf16, fp128).
Passing a null element type into VectorType::get crashes. Guard the
VectorType::get call so the unsupported case falls through to the "reset
shadow to unknown" path.

---------

Co-authored-by: Alexander Shaposhnikov <ashaposhnikov at google.com>


  Commit: c179b4e55aaf7b13813fd662b0acc6cf0908a949
      https://github.com/llvm/llvm-project/commit/c179b4e55aaf7b13813fd662b0acc6cf0908a949
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Materialize trivial computation to avoid data transfer error (#205422)

Avoid this error: `error: 'cuf.data_transfer' op expect src and dst to
be references or descriptors or src to be a constant: 'f32' -
'!fir.ref<f32>'`


  Commit: 43b63b61c392920460e32339f2703d5f75a20218
      https://github.com/llvm/llvm-project/commit/43b63b61c392920460e32339f2703d5f75a20218
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [SandboxVec][Scheduler] Implement direction (#205193)

DGNode::UnscheduledPreds was added in a previous patch, so this patch
makes use of it in the scheduler. Depending on Dir we can now schedule
BottomUp or TopDown.


  Commit: bab165ecb0d64686849dfa14d1798589eee7b66e
      https://github.com/llvm/llvm-project/commit/bab165ecb0d64686849dfa14d1798589eee7b66e
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/tools/dsymutil/Options.td

  Log Message:
  -----------
  [dsymutil] Fix help message after #200971 (#203337)

The default DWARF linker is parallel after #200971. Fix help message
which still suggests classic DWARF linker.


  Commit: 614b0b4fe8cb418b7c409f504846fe7e4f158b6f
      https://github.com/llvm/llvm-project/commit/614b0b4fe8cb418b7c409f504846fe7e4f158b6f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm

  Log Message:
  -----------
  [lldb] Resolve dyld introspection SPIs with dlsym (NFC) (#205434)

HostInfoMacOSX's SharedCacheInfo used the dyld process-snapshot
introspection SPIs only when <mach-o/dyld_introspection.h> was present,
gating the calling code behind a compile-time macro.

To avoid bifurcating the behavior based on the SDK, rather than the
presence of the symbols, use dlsym to resolve them at runtime.

While here, fold the duplicate dlsym of dyld_image_segment_data_ into
the new, once-initialized, shared table.

Assisted-by: Claude


  Commit: c997a13812c1250499d016867bf6f2f9197e384e
      https://github.com/llvm/llvm-project/commit/c997a13812c1250499d016867bf6f2f9197e384e
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    A llvm/lib/Target/Hexagon/HexagonHVXSaveRemark.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/hvx-save-remarks.ll

  Log Message:
  -----------
  [Hexagon] Add HVX caller-save remark pass for call-site diagnostics (#189188)

Add a new MachineFunctionPass (HexagonHVXSaveRemark) that emits
optimization analysis remarks when HVX vector registers must be saved
and restored around function calls. All HVX registers are caller-saved
(Section 5.3 of the Hexagon ABI), so any HVX value live across a call
requires a save/restore pair on the stack. Each HVX vector is 64 or 128
bytes, making this overhead expensive.

The pass exits when remarks are not requested
(-Rpass-analysis=hexagon-hvx-save) or when HVX is not enabled. A byte
threshold (default 1024, tunable via -hexagon-hvx-save-threshold)
filters out functions with only a small number of saves. The remarks
help programmers identify call sites where inlining, hoisting, or
sinking could reduce the save/restore cost.


  Commit: bdc00c2a051169caf0f3cff624f00e3d38d02a3c
      https://github.com/llvm/llvm-project/commit/bdc00c2a051169caf0f3cff624f00e3d38d02a3c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M .github/workflows/prune-unused-branches.py

  Log Message:
  -----------
  [Github] Make prune-unused-branches only delete branches after 7 days

To hopefully prevent the last failure mode that led to the job being
disabled where the GitHub API failed to return results for >24 hours.

Reviewers: cmtice

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


  Commit: c48e258f617c231c6be1bbf15d239dfdcdd8c30c
      https://github.com/llvm/llvm-project/commit/c48e258f617c231c6be1bbf15d239dfdcdd8c30c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M .github/workflows/prune-branches.yml

  Log Message:
  -----------
  [Github] Reenable prune-unused-branches workflow

The Github API has recovered and the previous failure mode has been
rectified by ensuring that branches are ready for deletion for seven
days rather than 24 hours.

Reviewers: cmtice

Reviewed By: cmtice

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


  Commit: f12b16713185fe244b7f21f9c0fa42f96fc066e8
      https://github.com/llvm/llvm-project/commit/f12b16713185fe244b7f21f9c0fa42f96fc066e8
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/include/flang/Lower/Support/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    A flang/test/Lower/OpenMP/Todo/declare-reduction-operator-multiple-types.f90
    A flang/test/Lower/OpenMP/Todo/declare-reduction-operator-use-assoc.f90
    A flang/test/Lower/OpenMP/declare-reduction-operator-derived.f90
    A flang/test/Lower/OpenMP/declare-reduction-operator.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix ICE lowering user-defined operator declare reduction

A REDUCTION clause naming a user-defined operator (e.g.,
reduction(.myop.:x)) crashed in lowering: ReductionProcessor assumed the
DefinedOperator clause variant always held an intrinsic operator and called
std::get<IntrinsicOperator> unconditionally, which aborts for the
DefinedOpName alternative.

Handle DefinedOpName in the reduction clause processor, adding the
clause-side counterpart to the directive handling from #190288. For a
locally declared user-defined operator reduction, resolve the operator to
its reduction symbol and reference the omp.declare_reduction op materialized
for the declare reduction directive. The op name is now module-scoped via
AbstractConverter::mangleName, on the directive and clause sides in
lockstep, so reductions with the same operator spelling in different modules
no longer collide.

Cases that are not yet supported (reductions imported by USE association,
renamed or merged operators, and declarations with multiple types) now emit
a clean "not yet implemented" diagnostic instead of crashing or silently
binding the wrong combiner. Support for the USE-associated and cross-module
cases is a follow-up that builds on the semantic fix in #200329.

Tests cover the issue's integer case and a derived-type case (both lower,
with a module-scoped op name), plus the USE-associated and multiple-type
cases (clean TODO).

Fixes #204299

Assisted-by: Claude Opus 4.8, GPT-5.5.


  Commit: 4bb31d7c30933e42bc924536728178ba0051ab31
      https://github.com/llvm/llvm-project/commit/4bb31d7c30933e42bc924536728178ba0051ab31
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/test/Dialect/GPU/canonicalize.mlir

  Log Message:
  -----------
  [mlir][gpu] Fix memref.dim folding with negative index (#205338)

Fixes #205073.


  Commit: 719144a271dbefb8719ed9ecd4c142ff514b4f22
      https://github.com/llvm/llvm-project/commit/719144a271dbefb8719ed9ecd4c142ff514b4f22
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir] Simplify DimOp::fold by using `getConstantIndex`(NFC) (#205343)

Refactor `DimOp::fold` in both memref and tensor dialects to use the
existing `getConstantIndex()` helper instead of manually extracting the
index via `IntegerAttr`.


  Commit: 87c73ade608c60c7e5e9f3868556b1b572be94c7
      https://github.com/llvm/llvm-project/commit/87c73ade608c60c7e5e9f3868556b1b572be94c7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/icmp_ptr.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Add basic support for pointer comparisons (#205410)

This patch was a part of
https://github.com/llvm/llvm-project/pull/201170. I split the `icmp ptr`
support from the original PR since I am worried it might not catch up
for the LLVM 23 release (#201170 is blocked by #200672 for curating
mixed provenance tests). I hope we can pick most of the low-hanging
fruit exposed by fuzzers before the release. The released version should
be able to run csmith-generated tests without obvious false positives or
crashes.

BTW, this patch doesn't respect the exact semantics of `icmp ptr` (i.e.,
truncating the address to the address width. The naming is a bit
confusing...). Currently, we don't model external state in non-address
bits of a pointer in llubi. So I think it is fine.


  Commit: ca368598052824548c753faf227bcf1dfc443cfd
      https://github.com/llvm/llvm-project/commit/ca368598052824548c753faf227bcf1dfc443cfd
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/X86/avx-cxx-record.cpp

  Log Message:
  -----------
  [clang] Exclude EmptyRecord when calculating larger CXX records (#205040)

To match with GCC: https://godbolt.org/z/KPKGhhenK

Fixes: #203760

Assisted-by: Claude Sonnet 4.6


  Commit: f41a6b7cd2b9e4d8c7c1c7f4c60ac3b8edebba28
      https://github.com/llvm/llvm-project/commit/f41a6b7cd2b9e4d8c7c1c7f4c60ac3b8edebba28
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [Github] Bump release-binaries python version (#179287)

This makes it more consistent with the rest of the repository.


  Commit: be3ee6fe6beda79e653d81733ede396aa40c0d6e
      https://github.com/llvm/llvm-project/commit/be3ee6fe6beda79e653d81733ede396aa40c0d6e
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/peephole-substitute-cmp-adcs.mir

  Log Message:
  -----------
  [AArch64] Add final missing instructions to sForm (#167518)

Fix missing opcodes in table of flag-setting instructions.


  Commit: 2cbaca8fe5f33069d764c6cada16ea4305a6efc5
      https://github.com/llvm/llvm-project/commit/2cbaca8fe5f33069d764c6cada16ea4305a6efc5
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/AliasAnalysis.cpp
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll

  Log Message:
  -----------
  Reapply [AA] Improve precision for monotonic atomic load/stor… (#195015)

Reverts https://github.com/llvm/llvm-project/pull/173135 and and add two
new IR tests to demonstrate the impact of different atomic orderings on
Dead Store Elimination(DSE).

This reverts commit c8941df6a1e4ed5e1ba3287985a60e1d7512c250.

Co-authored-by: Aiden Grossman <aidengrossman at google.com>


  Commit: 9ee7bdaaca232e18e4a47ca25ed088d144a5b7e6
      https://github.com/llvm/llvm-project/commit/9ee7bdaaca232e18e4a47ca25ed088d144a5b7e6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][AST] Refactor `EvaluatedStmt` accessors in `VarDecl` (#205033)

1) Return the evaluated APValue as a const pointer since it
    may not be modified by callers.
 2) Only return a non-nullptr from `getEvaluatedValue()` if
    the APValue not absent.


  Commit: d17d249e92bfe63f6ccc8a927caa4eb0316474a8
      https://github.com/llvm/llvm-project/commit/d17d249e92bfe63f6ccc8a927caa4eb0316474a8
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/utils/MPFRWrapper/MPCommon.cpp

  Log Message:
  -----------
  [libc][NFC] Remove a compiler warning for MPCommon (#205264)

Local build on Linux platform reports a compiler warning:
llvm-project/libc/utils/MPFRWrapper/MPCommon.cpp:546:15: warning:
implicit conversion loses integer precision: 'long' to 'int'
[-Wshorten-64-to-32]
  546 |     int mod = mpfr_get_si(value_ret_exact.value, MPFR_RNDN);
      |         ~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.

Signed-off-by: jinge90 <ge.jin at intel.com>


  Commit: 7570d2daec569c691694daa0ce967b1119533dc2
      https://github.com/llvm/llvm-project/commit/7570d2daec569c691694daa0ce967b1119533dc2
  Author: Frederick Vu <100011202+FrederickVu at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
    A llvm/test/MachineVerifier/AMDGPU/dpp-imm-src1.mir

  Log Message:
  -----------
  [AMDGPU] Reject src1 immediates with dpp when unsupported (#201494)

This fixes an oversight in #164241.


  Commit: 51b0fc4f611adc420afefa40130185cca6a59553
      https://github.com/llvm/llvm-project/commit/51b0fc4f611adc420afefa40130185cca6a59553
  Author: flovent <flbven at protonmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Remove a wrong comment in ProTypeMemberInitCheck (#205477)

`getAsCXXRecordDecl` will return nullptr for any dependent types.

It's introduced by #192786, see
https://github.com/llvm/llvm-project/pull/192786#issuecomment-4785223372
in original PR.


  Commit: 81a8c66fdc96a7bf6927bf3f88d4b2e24a5c71e7
      https://github.com/llvm/llvm-project/commit/81a8c66fdc96a7bf6927bf3f88d4b2e24a5c71e7
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll

  Log Message:
  -----------
  [LV] Accept swapped operands in early-exit condition compare (#199989)

Use m_c_ICmp so the load can be on either side of the icmp.


  Commit: c656cb11639b5e6bd43fc691b3dab91a5d42ce37
      https://github.com/llvm/llvm-project/commit/c656cb11639b5e6bd43fc691b3dab91a5d42ce37
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp

  Log Message:
  -----------
  [Hexagon] Fix unused variable in non-assert builds (KCFI) (#205491)

Without asserts, we see failures like so:

/repo/llvm/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp:982:43: error:
unused variable 'NextI' [-Werror,-Wunused-variable]
982 | MachineBasicBlock::const_instr_iterator NextI =
std::next(MI.getIterator());
          |                                           ^~~~~
    1 error generated.

Mark NextI `maybe_unused` to address the issue.

Fixes a regression introduced by f8aa5f66209d.


  Commit: a12ce96dad720892ecf8e77a6f8184b44bdde9e2
      https://github.com/llvm/llvm-project/commit/a12ce96dad720892ecf8e77a6f8184b44bdde9e2
  Author: Zhige Chen <zhige_chen at outlook.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/intr_memory.ll
    A llvm/test/tools/llubi/intr_memory_align_ub.ll
    A llvm/test/tools/llubi/intr_memory_constant_ub.ll
    A llvm/test/tools/llubi/intr_memory_len_ub.ll
    A llvm/test/tools/llubi/intr_memory_ub.ll
    M llvm/tools/llubi/lib/ExecutorBase.cpp
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Implement memory manipulation intrinsics (#204932)

Implement `memset`, `memcpy`, `memmove` intrinsics and their
corresponding inline version. Note that the `isvolatile` argument is
ignored and left for future PRs.


  Commit: 474b21aa99899756ede1e767abed2be63783c8ec
      https://github.com/llvm/llvm-project/commit/474b21aa99899756ede1e767abed2be63783c8ec
  Author: firmiana402 <firmiana402 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
    M llvm/test/DebugInfo/X86/constant-loclist.ll

  Log Message:
  -----------
  [DebugInfo][LLDB] Fix generic DW_OP_const handling (#204353)

This PR fixes two related DWARF constant-handling bugs that were
blocking each other.

First, LLDB's DWARF expression evaluator in
[`DWARFExpression.cpp`](https://github.com/llvm/llvm-project/blob/main/lldb/source/Expression/DWARFExpression.cpp)
handled `DW_OP_constu` and `DW_OP_consts` without going through
`to_generic`. Under DWARF, these operators push a generic value: an
address-sized integral value with unspecified signedness. That means the
result should be truncated to the target address size (via
`to_generic`).

Second, LLVM already had a producer-side issue tracked as
[#47431](https://github.com/llvm/llvm-project/issues/47431): on 32-bit
targets, LLVM could emit `DW_OP_consts` / `DW_OP_constu` for source
integer constants wider than the target generic type. If LLDB were fixed
alone, those producer-emitted constants would become truncated as DWARF
requires, exposing incorrect debug info for wide source values.

This patch fixes both sides together.

## What Changed

On the LLDB consumer side:

- `DW_OP_constu` now uses `to_generic`.
- `DW_OP_consts` now uses `to_generic`.
- The corresponding LLDB DWARF expression tests were updated to expect
address-sized generic values.

On the LLVM producer side:

- Wide integer debug-location constants that cannot be represented by
the target generic type are emitted as `DW_OP_implicit_value` instead of
`DW_OP_const*`.
- This preserves the source value bytes instead of relying on an
address-sized DWARF generic constant.
- The producer-side change is limited to complete constant values, where
there are no remaining `DIExpression` operations.

## Validation

Locally verified with:

```text
build/tools/lldb/unittests/Expression/ExpressionTests --gtest_filter='DWARFExpression.*'
74 tests passed

build/bin/llvm-lit -sv llvm/test/DebugInfo/X86/constant-loclist.ll
1 test passed

ninja -C build check-lldb -j12
No unexpected failures

ninja -C build check-all -j12
Completed with one unrelated local failure in Clang Tools :: clang-doc/DR-141990.cpp, caused by host warning-option output. No DebugInfo, DWARF, LLDB expression, or AsmPrinter-related failures were observed.

```


  Commit: d7414ff58979052ee6f9979c96e54b565870ca18
      https://github.com/llvm/llvm-project/commit/d7414ff58979052ee6f9979c96e54b565870ca18
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp

  Log Message:
  -----------
  [LoopFusion][NFC] Share fusion tail between guarded and unguarded paths (#205492)

`performFusion()` and `fuseGuardedLoops()` carried two
character-for-character identical tails: header-PHI migration plus latch
rewiring, and the SCEV-forget / block-merge / latch-merge finalization.
Extract them into `rewireFusedHeaderPHIsAndLatches()` and
`finalizeFusedLoop()` and call both from each path.


  Commit: 82c5bce5233f964da4f8086b2341067314d841d7
      https://github.com/llvm/llvm-project/commit/82c5bce5233f964da4f8086b2341067314d841d7
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll

  Log Message:
  -----------
  [RISCV] Convert opaque pointers in vp-combine-reverse-load.ll. NFC (#205498)


  Commit: 448c3d54df7bcd5e5be2b5d051832ad00b4cc89c
      https://github.com/llvm/llvm-project/commit/448c3d54df7bcd5e5be2b5d051832ad00b4cc89c
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/fabs-fp128.ll

  Log Message:
  -----------
  [AArch64] Run cleanup one final time after peephole (#199711)

It's a lightweight pass. Should always be the last SSA pass since
peephole can end up making some instructions dead.


  Commit: da9252a9453603af579a9f56c3212cce04e831d2
      https://github.com/llvm/llvm-project/commit/da9252a9453603af579a9f56c3212cce04e831d2
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp

  Log Message:
  -----------
  [ObjectYAML][NFC] Derive BBAddrMap section size from the CBA offset (#204056)

Add the CBA offset delta to sh_size once at the end instead of after
each write.


  Commit: 25ae6ce4801f6f6addae5079323870d4191e7531
      https://github.com/llvm/llvm-project/commit/25ae6ce4801f6f6addae5079323870d4191e7531
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/QsortReentrantTest.h
    M libc/test/src/stdlib/qsort_r_test.cpp

  Log Message:
  -----------
  [libc] Refactor qsort code (#198781)

This patch makes the following changes:
 - Refactor the internal sorting functions to reduce code duplication.
- Move the testing machinery done for the testing of `qsort_r` to a
shared place.

These changes are done in anticipation to the introduction of Annex K's
`qsort_s`. This function shares most of its semantics with `qsort_r`,
therefore most of the testing logic can be shared between the two.
Besides, `qsort`, `qsort_r` and `qsort_s` are all very similar, hence we
can attempt to reduce duplication a bit more.


  Commit: 099b1f6aeec8058460598106ff0b68fab66b12dc
      https://github.com/llvm/llvm-project/commit/099b1f6aeec8058460598106ff0b68fab66b12dc
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M compiler-rt/lib/builtins/arm/divdf3.S
    M compiler-rt/test/builtins/Unit/divdf3new_test.c

  Log Message:
  -----------
  [compiler-rt][ARM] Fix underflow handling in new divdf3.S (#204784)

The code which calculates the 'errsign' parameter to pass to
`__compiler_rt_dunder` was wrong in two ways. It calculated the value
with the wrong sign, and also in the wrong register, r12 rather than r2!
In this code's original context, both of those things made sense (the
'dunder' function had a nonstandard ABI). Somehow none of the existing
test cases detected the problem.

We found this bug in a test case downstream that only failed big-endian
(because that changes which half of the denominator mantissa is left in
r2 to be accidentally used as errsign). However, the new test cases here
are designed to detect the failure in both endiannesses.


  Commit: a71292356656e0c516019aa6b571baeb572a7624
      https://github.com/llvm/llvm-project/commit/a71292356656e0c516019aa6b571baeb572a7624
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_ip_mreq.h
    A libc/hdr/types/struct_ip_mreq_source.h
    A libc/hdr/types/struct_ip_mreqn.h
    A libc/hdr/types/struct_ip_msfilter.h
    A libc/hdr/types/struct_ip_opts.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_ip_mreq.h
    A libc/include/llvm-libc-types/struct_ip_mreq_source.h
    A libc/include/llvm-libc-types/struct_ip_mreqn.h
    A libc/include/llvm-libc-types/struct_ip_msfilter.h
    A libc/include/llvm-libc-types/struct_ip_opts.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 IPv4 socket options and related structs (#204787)

This patch adds struct ip_mreq, ip_mreq_source, ip_mreqn, ip_opts, and
ip_msfilter to <netinet/in.h>, along with IP level socket option macros
(IP_TOS, IP_TTL, IP_ADD_MEMBERSHIP, etc.).

I add basic unit tests verifying the size and member offsets of the new
structures against standard layout expectations, mainly to make sure
that the files are used /somewhere/.

Assisted by Gemini.


  Commit: a562f6a4833eb15d8d2fdbd54c27c595935ff275
      https://github.com/llvm/llvm-project/commit/a562f6a4833eb15d8d2fdbd54c27c595935ff275
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/present-absent-if-fold.fir

  Log Message:
  -----------
  [flang][FIR] add canonicalization pattern for fir.if returning OPTIONAL (#205353)

Lowering is generating patterns when forwarding OPTIONAL in calls that
looks like:

```
   %present = fir.is_present %var : (T) -> i1
    %if_result = fir.if %present -> (T) {
      fir.result %var : T
    } else {
      %absent = fir.absent T
      fir.result %absent : T
    }
```

This specific pattern is a no-op and `%var` can be used directly. The
lowering logic that generates such patterns is inside non trivial
compiler code that has to deal with more complex scenarios where the
code inside the fir.if is more complex. Add a FIR pattern to
canonicalize such code to help with later analysis (like aliasing).


  Commit: 35cfa14e389e72b1b852d15c7cfc87172a5d4e4b
      https://github.com/llvm/llvm-project/commit/35cfa14e389e72b1b852d15c7cfc87172a5d4e4b
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__ranges/reverse_view.h
    R libcxx/test/libcxx/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.reverse/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][ranges] Applied `[[nodiscard]]` to `reverse_view` (#205186)

Towards #172124

#References:
- https://wg21.link/range.reverse
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant


  Commit: 34bdee76b8577302e2e04fe553ab03579e764069
      https://github.com/llvm/llvm-project/commit/34bdee76b8577302e2e04fe553ab03579e764069
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/unittests/AST/ASTImporterFixtures.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp
    M clang/unittests/Tooling/HeaderIncludesTest.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/tools/yaml2macho-core/yaml2macho.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/DWARFCFIChecker/DWARFCFIState.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/TextAPI/TextStubV3Tests.cpp
    M llvm/unittests/TextAPI/TextStubV4Tests.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  Remove unused variables in the monorepo (#204994)

https://github.com/llvm/llvm-project/pull/203084 adds diagnostics about
unused variables to the libc++ containers. This patch is the fallout
from the projects I tried to build with it.


  Commit: 86e2f0f502066a2624981d6272b0dd727edc78b7
      https://github.com/llvm/llvm-project/commit/86e2f0f502066a2624981d6272b0dd727edc78b7
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp

  Log Message:
  -----------
  [CIR] Handle const evaluated variable values (#205512)

Match the `VarDecl::evaluateValue()` contract updated by #205033 in CIR
constant emission.


  Commit: 20988f874dc241b8b7c21f5c0b1f4c032835c2d2
      https://github.com/llvm/llvm-project/commit/20988f874dc241b8b7c21f5c0b1f4c032835c2d2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add additional tests for matchPMADDWD folds that fail with irregular source types (#205514)

Ensure #205391 doesn't crash with non-pow2/illegal types


  Commit: 08e389cc4a029fb6d659f3f1e277ab3bce461a38
      https://github.com/llvm/llvm-project/commit/08e389cc4a029fb6d659f3f1e277ab3bce461a38
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/Sema/SemaAPINotes.cpp

  Log Message:
  -----------
  [APINotes] Skip per-decl ProcessAPINotes work when no API notes are active (#203710)

Cache "any API notes active" and skip per-decl lookups.

| function | before #202727 | trunk (parent) | this PR |
| ------------------------ | ----------------- | ----------------- |
------------------- |
| `Sema::ProcessAPINotes` | 2,385,852 (0.21%) | 1,028,280 (0.09%) |
**365,310 (0.03%)** |
| `UnwindNamespaceContext` | 349,244 | gone | gone |
| `findAPINotes` | 448,140 | 473,550 | **gone** |


cc @egorzhdan @Xazax-hun @compnerd


  Commit: d8b6b295ac3064c2ef0a2a44e6d25663802ce866
      https://github.com/llvm/llvm-project/commit/d8b6b295ac3064c2ef0a2a44e6d25663802ce866
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td

  Log Message:
  -----------
  [AArch64][TableGen] Define ZA, ZT0 and FPMR memory defvars (#154144)

Introduce TableGen defvars for the inaccessible memory effects used to
model accesses to ZA, ZT0 and FPMR in IntrinsicsAArch64.td.

This is a preparatory cleanup for a follow-up patch that will replace
these uses of InaccessibleMem with target-specific memory locations.
Other uses of inaccessible memory in the file are left unchanged because
they are unrelated to ZA, ZT0 or FPMR.

This preserves the existing memory effects. In particular, intrinsics
that currently access both argument memory and inaccessible memory keep
the same ArgMem/InaccessibleMem read/write modelling.

---------

Co-authored-by: Paul Walker <paul.walker at arm.com>


  Commit: 910425f1a4ea52f5b6a04e7f55a5df812cd77424
      https://github.com/llvm/llvm-project/commit/910425f1a4ea52f5b6a04e7f55a5df812cd77424
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
    M clang/test/CodeGen/svboolx2_t.cpp
    M clang/test/CodeGen/svboolx4_t.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-fixed-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-sve-fixedtypeinfo.cpp
    M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
    M clang/test/Index/index-builtin-sve.cpp
    M clang/test/Sema/aarch64-bf16-ldst-intrinsics.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/Sema/aarch64-sme-streaming-nonstreaming-vl-checks.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-intrinsics/acle_sme2p1_imm.cpp
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
    M clang/test/Sema/attr-arm-sve-vector-bits.c
    M clang/test/SemaCXX/attr-arm-sve-vector-bits.cpp

  Log Message:
  -----------
  [NFC][Clang][Tests] Remove +bf16 from AArch64 tests that don't strictly need the feature flag. (#205336)


  Commit: 14840af5d694f40dbc8b1733330da2db4000335c
      https://github.com/llvm/llvm-project/commit/14840af5d694f40dbc8b1733330da2db4000335c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/device-constructs.f90
    A flang/test/Semantics/OpenMP/if-clause-45-suggestion.f90
    M flang/test/Semantics/OpenMP/if-clause-45.f90
    A flang/test/Semantics/OpenMP/if-clause-50-suggestion.f90
    M flang/test/Semantics/OpenMP/if-clause-50.f90
    A flang/test/Semantics/OpenMP/if-clause-60.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Check that IF clause applies to at most one leaf (#205164)

This also allows placing the IF clause in the "allowedClauses" set for
all directives, instead of having it in "allowedOnceClauses" for some
directives and in "allowedClauses" for others.

The emitted diagnostic will show which constituent has multiple IF
clauses applying to it:
```
if.f90:4:35: error: At most one IF clause can apply to each directive constituent
    !$omp & if(target teams: x > 0) if(teams distribute: y > 0)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
if.f90:4:11: Previous IF clause applying to the TEAMS constituent
    !$omp & if(target teams: x > 0) if(teams distribute: y > 0)
            ^^^^^^^^^^^^^^^^^^^^^^^
```


  Commit: 34ed491f6375a39248f71a98eaab5810dfc1324e
      https://github.com/llvm/llvm-project/commit/34ed491f6375a39248f71a98eaab5810dfc1324e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/Delinearization/global_array_bounds.ll
    M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
    M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
    M llvm/test/Analysis/DependenceAnalysis/Constraints.ll
    M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
    M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
    M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
    M llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
    M llvm/test/Analysis/LoopAccessAnalysis/inbounds-gep-in-predicated-blocks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
    M llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    M llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
    M llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
    M llvm/test/Analysis/ScalarEvolution/limit-depth.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/mul-udiv-folds.ll
    M llvm/test/Analysis/ScalarEvolution/pr123550.ll
    M llvm/test/Analysis/ScalarEvolution/pr22641.ll
    M llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
    M llvm/test/Analysis/ScalarEvolution/sext-iv-2.ll
    M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
    M llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll
    M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/LoopInterchange/fixed-size-no-signed-wrap.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll

  Log Message:
  -----------
  [SCEV] Infer addrec nowrap flags during range analysis (#202964)

When we're computing the range of the addrec, we already have to reason
about whether it wraps, so we may as well determine the nowrap flags at
the same time.

This is more precise than the previous logic that took the addrec range
and checked whether adding a step to it does not wrap. For example, an
`{0,+,1}` addrec with a full range can still be non-wrapping.

Note that I removed some assertions in the SCEV printed that predicated
exit counts actually have predicates. Due to SCEV's query order
dependence, this can happen, also prior to this change, see for example
https://llvm.godbolt.org/z/cWK1MMEqv. While this indicates suboptimal
results, it's not a bug, and we should not assert.

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


  Commit: 2b91b5b61a218c102e75806f5d1381a9861977d1
      https://github.com/llvm/llvm-project/commit/2b91b5b61a218c102e75806f5d1381a9861977d1
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
    A llvm/test/CodeGen/AArch64/sve-mul-imm-add-adr.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [AArch64][SVE] Use ADD/ADR instead of MUL/MLA for x*N (#198566)

Avoid `MUL`/`MLA` for all-active multiplies by small constants when
cheaper `ADD`/`ADR` sequences are available.

Vector multiplication (int32_t/uint32_t base types) by 2, 3, 5, 9 can be
done with ADD (for 2) ADR (for 3,5,9).
Similarly, operations of the form a + x * {1,2,4,8} can use ADR.


  Commit: 36f12f975f395cab406f161086b6a808ea0440af
      https://github.com/llvm/llvm-project/commit/36f12f975f395cab406f161086b6a808ea0440af
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/test/Transforms/FIRToMemRef/slice-projected.mlir

  Log Message:
  -----------
  [FIR] Route embox + projected complex slice through shapeVec (#205042)

When the array_coor base is a fir.embox with a projected complex %re/%im
slice, take the shapeVec path instead of the descriptor (fir.box_dims)
path. The descriptor path iterates source-rank dims while querying the
rank-reduced embox result box, which miscompiles slices that collapse
dims (e.g. complex(:,k)%re). For embox-derived boxes the underlying
storage is contiguous, so the shape-derived layout is both correct and
the natural place to encode that static shape is available. Non-embox
boxes (rebox, assumed-shape) still go through fir.box_dims.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 98dc5c68a7672138e60e9869405aded6db10b31e
      https://github.com/llvm/llvm-project/commit/98dc5c68a7672138e60e9869405aded6db10b31e
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Introduce VPValue::user_empty (NFC) (#203518)


  Commit: e646fa6c1cebdddc4bdb81703c95ad5ef61c286d
      https://github.com/llvm/llvm-project/commit/e646fa6c1cebdddc4bdb81703c95ad5ef61c286d
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h

  Log Message:
  -----------
  [Allocator] Drop the fast-path null check via a sentinel End (#205485)

Follow-up to #203718. Store `End` as the slab end plus 1 (and 0 for an
empty or moved-from allocator). This removes one condition from the fast
path.

For lld/ELF SymbolTable.cpp (clang++ -O3), the inlined `make<T>()` fast
path loses its `test rax, rax; je` pair; the whole TU's .text shrinks
from 14037 to 13800 bytes.

Aided by Claude Opus 4.8


  Commit: 846793e2a57a39c90a4e57a61ea940127bbabf1a
      https://github.com/llvm/llvm-project/commit/846793e2a57a39c90a4e57a61ea940127bbabf1a
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 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/Lower/OpenMP/Utils.h
    M flang/lib/Semantics/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP][NFC] Hoist variant match-info construction into Semantics (#204387)

Replace the lowering-only `makeVariantMatchInfo` helper with a single
shared `semantics::omp::MakeVariantMatchInfo`. It builds the
VariantMatchInfo from a parsed context selector and returns the optional
non-constant user condition (as before). Update metadirective lowering
to use it and drop the duplicated Lower/OpenMP copy.

Selector features that variant selection cannot yet honour
(target_device selectors, and clause/extension trait properties) are not
match-info concerns, so they are kept out of `MakeVariantMatchInfo`.
Detection lives in a separate, pure helper
`FindUnsupportedSelectorFeature`; the caller diagnoses the feature in
its own terms (metadirective lowering emits a TODO) before building the
match info. `MakeVariantMatchInfo` checks the precondition. NFC for
metadirective.

Co-authored-by: Cursor

---------

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: a62cd2c465310718736956f24cd4d0d5f6cb27b7
      https://github.com/llvm/llvm-project/commit/a62cd2c465310718736956f24cd4d0d5f6cb27b7
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedNewArraySizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp

  Log Message:
  -----------
  [analyzer][NFC] Take BugReport descriptions as Twine instead of StringRef (#205527)

The constructors of `BugReport`, `BasicBugReport`, and
`PathSensitiveBugReport` previously took the description (and short
description) as `StringRef`. The base class always copies into a
`std::string` member regardless, so taking `const llvm::Twine &` is
strictly more flexible at no storage cost: callers can keep passing
string literals, `StringRef`, `std::string`, `SmallString::str()`, or
`formatv(...).str()` exactly as before, and now they can also pass a
`Twine` concatenation directly without first materializing a temporary
through `SmallString` + `raw_svector_ostream` or `+`/`formatv`.

Assisted-By: claude


  Commit: 09058457eeb62365e28e4ceb40654f2359569548
      https://github.com/llvm/llvm-project/commit/09058457eeb62365e28e4ceb40654f2359569548
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes 25ae6ce (#205501)

This fixes 25ae6ce4801f6f6addae5079323870d4191e7531.

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


  Commit: 94819d04c317d7d17e26a6938208efa856a97d24
      https://github.com/llvm/llvm-project/commit/94819d04c317d7d17e26a6938208efa856a97d24
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__configuration/language.h

  Log Message:
  -----------
  [libc++] Move constexpr/explicit macros to <__configuration/language.h> (#205535)

These macros are essentially a property of the language mode we're in,
so move them to `<__configuration/language.h>`.


  Commit: 1ad2d369d18da9cb65a0d518f5a1b8bd98577d3e
      https://github.com/llvm/llvm-project/commit/1ad2d369d18da9cb65a0d518f5a1b8bd98577d3e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineAddOfPMADDWD - use MaskedVectorIsZero directly instead of MaskedValueIsZero. NFC. (#205534)

We're setting all demanded bits and just want to know that the high elements in each pair are zero.


  Commit: 4de5455b77e177137c46876d6d4ae171d06b15fa
      https://github.com/llvm/llvm-project/commit/4de5455b77e177137c46876d6d4ae171d06b15fa
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/TailDuplication.cpp

  Log Message:
  -----------
  [NFC] use DenseMap/SmallPtrSet in CacheMetrics and TailDupli… (#205480)

…cation

Swap pointer-keyed std::unordered_map/std::set for their ADT equivalents
on hot paths.


  Commit: 1cf4a0cb7909cb7b9e0bf15757fc77dc9b02c796
      https://github.com/llvm/llvm-project/commit/1cf4a0cb7909cb7b9e0bf15757fc77dc9b02c796
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-task.f90
    A flang/test/Lower/OpenMP/parallel-reduction-task.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-reduction-task-modifier.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [flang][OpenMP] Lower task reduction modifier (#205124)

Adds Flang lowering and MLIR-to-LLVM IR translation support for the
OpenMP `task` modifier on reduction clauses for `parallel`,
`do`/`wsloop`, and `sections`.

Unsupported forms remain diagnosed/TODO-gated rather than silently
lowered.

Fixes #205123.


  Commit: bfac2845fefcfe829df7df4e32a3a3044ee101a5
      https://github.com/llvm/llvm-project/commit/bfac2845fefcfe829df7df4e32a3a3044ee101a5
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [NFC][analyzer] Remove the NodeBuilder from VisitArrayInitLoopExpr (#204354)

Part of my commit series to eliminate the class `NodeBuilder`.


  Commit: 30abd9ec2b8d8a5d95da18a0e190fff489604f27
      https://github.com/llvm/llvm-project/commit/30abd9ec2b8d8a5d95da18a0e190fff489604f27
  Author: Arda Serdar Pektezol <arda at pektezol.dev>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/docs/Passes.md
    R llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    R llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
    R llvm/test/Transforms/UnifyFunctionExitNodes/unreachable-blocks-status.ll

  Log Message:
  -----------
  [UnifyFunctionExitNodes] Remove the pass (#205519)

The mergereturn pass is not used by anything, so we can go ahead and
delete it.

Related discussion:
https://github.com/llvm/llvm-project/pull/204651#issuecomment-4787636904


  Commit: 977eb3f0ce6c89c0de7cdf82d6ff284cd5667dd5
      https://github.com/llvm/llvm-project/commit/977eb3f0ce6c89c0de7cdf82d6ff284cd5667dd5
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/test/Rewriter/objc-modern-getclass-proto.mm

  Log Message:
  -----------
  [clang][test] Use `FileCheck` in `Rewriter/objc-modern-getclass-proto.mm` (#204272)

The test had `CHECK` directives that were never executed because no
`RUN` line invoked `FileCheck` on the output.

The test also used a fragile runtime, which invoked the fragile rewriter
instead of the modern one the test was written for.

Switch to a non-fragile runtime so the modern rewriter runs as the test
intended.


  Commit: 83d97a53509b74a612148d7d366f8c3359237883
      https://github.com/llvm/llvm-project/commit/83d97a53509b74a612148d7d366f8c3359237883
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__configuration/utility.h

  Log Message:
  -----------
  [libc++] Move _LIBCPP_CONCAT{,3} to <__configuration/utility.h> (#205533)

The macro is already used in `<__configuration/attributes.h>` and just
happens to work because we include both headers.
`<__configuration/utility.h>` seems like the obvious place to put the
macros.


  Commit: fd1f64e915edcfa19a9e0f7f4ca4b6a4cc664e92
      https://github.com/llvm/llvm-project/commit/fd1f64e915edcfa19a9e0f7f4ca4b6a4cc664e92
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M offload/unittests/CMakeLists.txt

  Log Message:
  -----------
  [offload][unittest] Set rpath to make sure tests use the correct lib (#205542)

Depending on system setup, the unit tests could not find the just built
libLLVMOffload.so. Set the BUILD_RPATH to make sure they correctly use
the library from the current build.


  Commit: 432f9f8aeadb3819bead82ab26f32ca983f91084
      https://github.com/llvm/llvm-project/commit/432f9f8aeadb3819bead82ab26f32ca983f91084
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__configuration/platform.h

  Log Message:
  -----------
  [libc++] Move <features.h> include to <__configuration/platform.h> (#205548)

Including `<features.h>` is platform-specific configuration and should
therefore be in `<__configuration/platform.h>`.


  Commit: 09939ace888b407dc984a7fc6c980fd6064a75c1
      https://github.com/llvm/llvm-project/commit/09939ace888b407dc984a7fc6c980fd6064a75c1
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [NFC][analyzer] Remove the NodeBuilder from eagerly assume (#204371)

Part of my commit series to gradually eliminate the class `NodeBuilder`.
Admittedly this is one of the few places where the implementation with
the `NodeBuilder` is more concise than the new code.

This is caused by two factors:
1. This is an optional step in the analysis, so the "put source nodes in
destination unless we generate a child node from them" behavior of
`NodeBuilder` -- which is often completely useless -- was helpful on two
branches.
2. Making nodes with tags is very rare, so I intentionally did not
include support for tagging in `makeNodeWithBinding` -- but this is one
of the few places where tags are applied.


  Commit: 6b349a9d00b366a90dc9b79e2b5543fc8774b019
      https://github.com/llvm/llvm-project/commit/6b349a9d00b366a90dc9b79e2b5543fc8774b019
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Remove <features.h> include from <__config> (#205549)

The include was moved to `<__configuration/platform.h>` in #205548,
which was also supposed to remove the include in `<__config>`.


  Commit: 5e165a4896ebde3233e32c6df423c884939f3bd9
      https://github.com/llvm/llvm-project/commit/5e165a4896ebde3233e32c6df423c884939f3bd9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp

  Log Message:
  -----------
  [clang][ARM] Delete dead-code (nfc) (#205404)

Removes dead code that I accidentally introduced in #195825/. Thank you
@shafik for pointing this out!


  Commit: 4adb32bbca24fbcd247e0725992024d922a94303
      https://github.com/llvm/llvm-project/commit/4adb32bbca24fbcd247e0725992024d922a94303
  Author: Tony Guillot <tony.guillot at protonmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [Clang][Docs] Fixed typos of sentinel attribute (#205539)

I have previously documented the sentinel attribute but some typos have
been missed during the review process.


  Commit: d089c9add10d5604a397e9af6359a139393420fe
      https://github.com/llvm/llvm-project/commit/d089c9add10d5604a397e9af6359a139393420fe
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add additional load test for matchPMADDWD folds that fail with irregular source types (#205554)

Ensure #205391 doesn't crash with non-pow2/illegal types


  Commit: e68e8d35c91b4fd3ba0ae3ef12d79b41d92580b2
      https://github.com/llvm/llvm-project/commit/e68e8d35c91b4fd3ba0ae3ef12d79b41d92580b2
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/rewrite-parse-tree.cpp
    A flang/test/Lower/OpenMP/Todo/locator-call-affinity.f90
    A flang/test/Lower/OpenMP/Todo/locator-call-from.f90
    A flang/test/Lower/OpenMP/Todo/locator-call-map.f90
    A flang/test/Lower/OpenMP/Todo/locator-call-to.f90
    A flang/test/Lower/OpenMP/Todo/locator-reserved.f90
    M flang/test/Parser/OpenMP/allocate-align-tree.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/declare-variant.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/groupprivate.f90
    M flang/test/Parser/OpenMP/metadirective-dirspec.f90
    M flang/test/Parser/OpenMP/metadirective-flush.f90
    M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
    M flang/test/Parser/OpenMP/threadprivate.f90
    M flang/test/Semantics/OpenMP/affinity-invalid.f90
    M flang/test/Semantics/OpenMP/depend-substring.f90
    A flang/test/Semantics/OpenMP/reserved-locator.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Parsing and semantics of locators as part of OmpObject (#203910)

Allow function call references and reserved locator names as parts of
OmpObject. Function calls and array element accesses have the same
syntax, and the OmpObject parser will parse them as function calls. This
is then corrected (if needed) immediately after the name resolution is
complete.

There are no clause-specific semantic checks of proper locators.
Existing code will check if a proper locator is specified on a clause
that allows it.

Lowering of proper locators to MLIR is not implemented, and a TODO
message is emitted.


  Commit: 822212abb78ea6961bd098282b2fed93188f244f
      https://github.com/llvm/llvm-project/commit/822212abb78ea6961bd098282b2fed93188f244f
  Author: Nathan Corbyn <n_corbyn at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/framelayout-scavengingslot-stack-hazard.mir
    M llvm/test/CodeGen/AArch64/framelayout-scavengingslot.mir
    M llvm/test/CodeGen/AArch64/irg_sp_tagp.ll
    A llvm/test/CodeGen/AArch64/large-stack-offset-calcs.mir
    M llvm/test/CodeGen/AArch64/stack-guard-sve.ll
    M llvm/test/CodeGen/AArch64/swiftself-scavenger.ll

  Log Message:
  -----------
  [AArch64] Optimise materialisation of large stack offset calculations (#201856)


  Commit: 2ae9c99a738e78b8713e671b655ea3930439dd91
      https://github.com/llvm/llvm-project/commit/2ae9c99a738e78b8713e671b655ea3930439dd91
  Author: Lukas Sommer <lukas.sommer at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/absdiff.ll

  Log Message:
  -----------
  [AMDGPU] Promote uniform i16 ABS to i32 (#204526)

GlobalISel already expands uniform `i16` `G_ABS` to sign-extend to i32
and the native `s_abs` instruction.

This adds a similar expansion as DAGCombiner pattern, promoting uniform
`i16` `ABS` to `i32` that can use `s_abs`.

---------

Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>


  Commit: 3abbb6a92de7049503c1597550b319e1d4aa412e
      https://github.com/llvm/llvm-project/commit/3abbb6a92de7049503c1597550b319e1d4aa412e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] isHorizontalBinOp - constify hadd/sub pattern matcher to make it easier to reuse. (#205538)

Avoid performing vector splits / bitcasts inside the isHorizontalBinOp call.

This is to make it easier to reuse the pattern matcher for other uses
(e.g. X86ISD::VPMADDWD/VPMADDUBSW detection).


  Commit: 729f3bfbec19065c33593b95db251321dadb0e9c
      https://github.com/llvm/llvm-project/commit/729f3bfbec19065c33593b95db251321dadb0e9c
  Author: KavinSai-synthara <kavin.sai at synthara.ai>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    A llvm/test/CodeGen/ARM/ssat-offset.ll

  Log Message:
  -----------
  [ARM] Select ssat for saturating clamps with a non-zero offset (#203854)

### Summary

On ARM/Thumb2, a saturating clamp to a signed range that is not centered
on zero is *not* matched to `ssat`, even though it can be potentially
matched to `ssat`. The backend instead emits a long explicit
compare/select clamp.

This pattern is extremely common in quantized ML code: an int8
requantize is `clamp(accumulator + output_zero_point, -128, 127)`, and
whenever the output zero_point != 0, the instruction count regress from
one ssat to ~10 instructions.

The root cause is that InstCombine canonically **sinks the constant out
of the min/max** — `clamp(X + C, -128, 127)` becomes `clamp(X, -128-C,
127-C) + C` — and the backend's SSAT matcher
(`PerformMinMaxToSatCombine`) only handles a clamp whose bounds already
form a saturation range. The offset of the form (`[-128-C, 127-C]`,
width 256 = 2⁸) falls through to a generic clamp.

#### Reproducer

```c
#include <stdint.h>
int8_t requant_offset(int32_t acc) {   // output zero-point = 96
    int32_t v = (acc >> 8) + 96;
    if (v < -128) v = -128;
    if (v >  127) v =  127;
    return (int8_t)v;
}
int8_t requant_zero(int32_t acc) {      // output zero-point = 0  (for contrast)
    int32_t v = (acc >> 8);
    if (v < -128) v = -128;
    if (v >  127) v =  127;
    return (int8_t)v;
}
```

```
clang -O2 --target=thumbv7em-none-eabihf -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -S issue.c
```

**Actual** 
`requant_offset` (zero-point 96):
```asm
asrs   r1, r0, #8
cmn.w  r1, #224
mvn    r1, #223
it     gt
asrgt  r1, r0, #8
cmp    r1, #31
it     ge
movge  r1, #31
add.w  r0, r1, #96
sxtb   r0, r0
```

`requant_zero` (zero-point 0):
```asm
ssat   r0, #8, r0, asr #8
```

#### Expected

`requant_offset` should select `ssat`, e.g.:
```asm
movs   r1, #96
add.w  r0, r1, r0, asr #8
ssat   r0, #8, r0
subs   r0, #96
```

#### Why this is sound

A clamp whose width (hi − lo + 1) is a power of two is just an `ssat`
shifted off zero by constant C.

```
clamp(X, lo, hi) == ssat_k(X − C) + C,   C = lo + 2^(k-1)
```

e.g. `clamp(X, −224, 31)` == `clamp(X+96, (-225+96), (31+96)) - 96` ==
`ssat8(X + 96) − 96`

Assisted-by: Claude


  Commit: 225e22d184e20c9e2e6e4ba0d32b206a0c9b9439
      https://github.com/llvm/llvm-project/commit/225e22d184e20c9e2e6e4ba0d32b206a0c9b9439
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Use SourceInfo for opcode emitter helpers (#205550)

Instead of only using an `Expr*`. This makes more sense and we can later
use a decl as a source as well.


  Commit: 6136998a454e748a1feea11ed4a4f2b5f1ea3111
      https://github.com/llvm/llvm-project/commit/6136998a454e748a1feea11ed4a4f2b5f1ea3111
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/madd.ll

  Log Message:
  -----------
  [X86] matchPMADDWD - add support for larger source types (#205391)

Handle cases where the source vector type came from a vXi32 type wider
than 2 x the original vXi16 type

The matcher only bothers with the lower elements - it doesn't matter if
we're extracting from a wider vector

Fixes a number of SSE/AVX512 targets that failed to legalize to
recoverable vector widths


  Commit: 229e42155579d191ce114d1e067a2a05aba564e3
      https://github.com/llvm/llvm-project/commit/229e42155579d191ce114d1e067a2a05aba564e3
  Author: Jiaqi He <heturing at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaInputShape.cpp
    M mlir/test/Dialect/Tosa/tosa-input-shape.mlir

  Log Message:
  -----------
  [mlir][tosa] Handle function declarations in tosa input shape pass (#205359)

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

The `tosa-experimental-input-shape` pass currently does not handle
function declarations correctly. The pass may run on declarations, but
the current implementation assumes that every function has a body and
unconditionally accesses the entry block and the last block when
updating argument and result types.

This patch checks whether the function has a body before accessing body
blocks. For declarations, the pass updates the function signature input
types and preserves the original result types, since there is no return
operation from which result types can be inferred.

A regression test is added for the declaration case.


  Commit: a1cdfebb72880cb1b5039611cafee7ca3af7a368
      https://github.com/llvm/llvm-project/commit/a1cdfebb72880cb1b5039611cafee7ca3af7a368
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode] Work around virtual bases being present in APValues (#205553)

This happens in code called via `evaluateDestruction()`, where we
consume an `APValue` created by the current interpreter. APValues don't
have a notion of virtual bases right now, so the virtual bases simply
appear as regular ones.


  Commit: 2668971e14219205ddf6b1f753cf83f7cb22022a
      https://github.com/llvm/llvm-project/commit/2668971e14219205ddf6b1f753cf83f7cb22022a
  Author: Kunal Pathak <kunalspathak.github at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/andorbrcompare.ll
    M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
    M llvm/test/CodeGen/AArch64/arm64_32.ll
    A llvm/test/CodeGen/AArch64/br-cond-merging-cbz-tbnz.ll
    A llvm/test/CodeGen/AArch64/br-cond-merging-fccmp.ll
    M llvm/test/CodeGen/AArch64/br-cond-not-merge.ll
    M llvm/test/CodeGen/AArch64/fcvt-i256.ll
    M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
    M llvm/test/CodeGen/AArch64/machine_cse.ll
    M llvm/test/CodeGen/AArch64/peephole-and-tst.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/CodeGen/AArch64/ragreedy-csr.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
    M llvm/test/DebugInfo/AArch64/instr-ref-target-hooks.ll

  Log Message:
  -----------
  [AArch64][ISel] Enable profile-aware branch condition merging  (#201486)

AArch64 previously inherited the default {-1, -1, -1} for
`getJumpConditionMergingParams`, causing
`shouldKeepJumpConditionsTogether` in SelectionDAGBuilder to always
return false. This meant compound branch conditions (br (and/or cond1,
cond2)) were always split into separate basic blocks at the DAG level,
and profile data from BranchProbabilityInfo was never consulted for the
merge/split decision.

Override `getJumpConditionMergingParams` in AArch64TargetLowering with
tunable cl::opt parameters matching the X86 structure. Since `CCMP` is
part of the base AArch64 ISA, the `CCMP` bias is applied
unconditionally. Default values: `BaseCost=2, CcmpBias=6 (effective
threshold 8), LikelyBias=0, UnlikelyBias=-1`.

This enables three improvements:
1. Profile-guided merge/split decisions using BranchProbabilityInfo
2. Smarter compare ordering at the DAG level (e.g., placing large
immediates in CMP and small ones in CCMP to respect the 0-31 immediate
range)
3. Branch elimination in cases like (a == 5 || b == 32) where the
post-ISel CCMP pass previously could not merge due to immediate range
constraints

Godbolt:  https://godbolt.org/z/99d8cnKx8
(note: I am not sure why godbolt is not showing the compiler I saved,
but essentially the example shows the comparison of aarch64 clang vs.
gcc with `-O3` flags)

---------

Co-authored-by: Kunal Pathak <kupathak at fb.com>


  Commit: 1cf9b9556f4ad0a02f58016538f08339c85725a0
      https://github.com/llvm/llvm-project/commit/1cf9b9556f4ad0a02f58016538f08339c85725a0
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/infinite_loop_error_only.ll
    M llvm/tools/llubi/llubi.cpp

  Log Message:
  -----------
  [llubi] Always print out error message (#205573)

When `--verbose` is not specified, the error message and UB reason are
omitted. However, this information is still useful for test oracles. For
example, the fuzzer may skip the seed when it runs out of time.

BTW, the stack trace is always dumped. Not sure if it is intended or
not.


  Commit: b24a5f51aebda635c50b92d9245613234bdd5328
      https://github.com/llvm/llvm-project/commit/b24a5f51aebda635c50b92d9245613234bdd5328
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/test/CodeGen/AMDGPU/llvm.get.rounding.ll
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Implement G_GET/SET_ROUNDING (#205265)

Implement G_GET/SET_ROUNDING for the llvm.get.rounding and
llvm.set.rounding intrinsics.

The lowering is ported from the existing SelectionDAG handling, keeping
the structure close to the SDAG implementation.

Assisted by: Claude Opus 4.8


  Commit: 68192737824cd28410a4c02affde86971b8cb10d
      https://github.com/llvm/llvm-project/commit/68192737824cd28410a4c02affde86971b8cb10d
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp

  Log Message:
  -----------
  [LifetimeSafety] Cache lifetimebound macro lookup (#205250)

Cache lifetimebound macro spelling lookup used by fix-it suggestions.

Current cache strategy:

- During cache build, collect macro names that have ever been defined as
a lifetimebound attribute spelling.
- During lookup, only visit those cached macro names, find the active
definition at the fix-it location, and re-check that the active
definition still has lifetimebound spelling.
- If multiple matching macros are active at the fix-it location, use the
most recently defined one.

Performance:

| Case | Before 359bfe6 | 359bfe6| After Cached |

|-------------------------------------------------------------|----------------:|---------------:|-------------:|
| C++ no diagnostics (8k macros, 5k safe functions) | 42.5 ms | 44.2 ms
| 47.0 ms |
| C++ 10 diagnostics, 8k macros | 23.2 ms | 23.4 ms | 17.5 ms |
| C++ 200 diagnostics, macro passed via command line option | 24.8 ms |
24.6 ms | 29.3 ms |
| C++ 200 diagnostics, 8k macros | 26.3 ms | 41.7 ms | 27.9 ms |
| C++ stress: 1000 diagnostics, 20k macros, no matching macro
(simulating worst case scenario) | 40.8 ms | 386.7 ms | 78.9 ms |

AI Usage: Performance experiment assisted by Codex.
Follow up of https://github.com/llvm/llvm-project/pull/204045


  Commit: 779c908014f73aee3b228d24572845dc1178e85f
      https://github.com/llvm/llvm-project/commit/779c908014f73aee3b228d24572845dc1178e85f
  Author: Cheng Lingfei <53817093+clingfei at users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/i128-cmp.ll

  Log Message:
  -----------
  [AArch64] Recombine SETCCCARRY for legalized unsigned compares (#204504)

Type legalization can turn wide unsigned compares into SETCCCARRY nodes
fed by USUBO carry results, hiding the original high/low compare shape
from the existing CCMP conjunction/disjunction lowering.

Add an AArch64 DAG combine for SETCCCARRY that recognizes these
legalized wide-compare patterns and rebuilds them as SETCC plus AND/OR,
exposing them to the existing CCMP lowering.

This is separated from https://github.com/llvm/llvm-project/pull/181822.


  Commit: 916a974941fbac24889e9c2da1972bd221d0055e
      https://github.com/llvm/llvm-project/commit/916a974941fbac24889e9c2da1972bd221d0055e
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] reject negative strides for `vector.load`/`vector.store` (#204611)

This PR follows up #204309 and #204309.

It simply rejects negative strides for vector.load/vector.store :D


AI Disclaimer: I used AI for the tests.

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


  Commit: 25a6b5be6853b2c493ef392d41e43dd35ad4839a
      https://github.com/llvm/llvm-project/commit/25a6b5be6853b2c493ef392d41e43dd35ad4839a
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
    M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/ToolBase.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expect_list_expected.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expects_expected.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_multiple_scripts_expected.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/simple_prog.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/whole_file_test.dex
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/whole_file_test_expected.dex
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expect_list.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expects.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_multiple_scripts.cpp
    A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/whole_file.test

  Log Message:
  -----------
  [Dexter] Add ability to rewrite scripts to fill-in unknown values (#202799)

This patch adds a feature to Dexter that allows scripts to be passed to
Dexter with missing expected values (`null` values in YAML), which
Dexter will attempt to "fill-in" with expected values that match the
debugger's actual output. The result is written to a file with the same
name as the original test file, in the directory given by
--results-directory if one is present; all content outside of the Dexter
script itself is preserved exactly as-is.

NB: Each test in this patch has a corresponding "expected" file, which
is almost identical (including the `RUN` lines), and exists to be
`diff`'d against the output of Dexter's script generation.


  Commit: d63ecaa12cc1fa204b54e7c3b1520d004041e9b8
      https://github.com/llvm/llvm-project/commit/d63ecaa12cc1fa204b54e7c3b1520d004041e9b8
  Author: VladimirMedic <Vladimir.Medic at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objdump.rst
    A llvm/test/tools/llvm-objdump/X86/source-path.test
    M llvm/tools/llvm-objdump/ObjdumpOpts.td
    M llvm/tools/llvm-objdump/SourcePrinter.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.h

  Log Message:
  -----------
  [llvm-objdump] Add --substitute-path and --source-dir for --source (#201096)

When the code object was compiled on a different machine that does not
have the same directory structure, or the source code has been moved, we
are seeing a warning with the disassembler, stating that the files
embedded in the code object were not found on disk.
 
This patch introduces a command line options for llvm-objdump, which
provide alternate directory locations to locate the source files on
disk. These options are inspired by GDB commands _set directory_ and
_set substitute-path_.
--substitute-path — Takes two strings, _from_ and _to_, and do a simple
string replacement of from with to at the start of the directory part of
the source file name, then use that result instead of the original file
name to look up the sources. A rule applies only if _from_ ends at a
directory separator.
--source-dir — Add directories to the source search path. Directories
are searched in following order: original recorded path, source-dir +
relative recorded path or absolute path without root, source-dir +
basename.


  Commit: 2750294d90d6e76f49583eead7c9db2e8075149b
      https://github.com/llvm/llvm-project/commit/2750294d90d6e76f49583eead7c9db2e8075149b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__cxx03/__config
    M libcxx/include/__cxx03/__type_traits/datasizeof.h
    M libcxx/test/libcxx-03/type_traits/datasizeof.compile.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #106832 (#205547)


  Commit: 6d8d32a242d1ef792c4c08f9aebc7659a15a7c41
      https://github.com/llvm/llvm-project/commit/6d8d32a242d1ef792c4c08f9aebc7659a15a7c41
  Author: vitbur <vittorioburani at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    A llvm/test/MC/RISCV/corev/XCVbi-long-branch.s

  Log Message:
  -----------
  [RISCV][XCV] Relax long `cv.beqimm`/`cv.bneimm` branches (#205096)

`cv.beqimm` and `cv.bneimm` encode their target as a 13-bit signed
PC-relative offset (+/-4094 bytes). Branches beyond that range were
silently truncated by MC fixup application, producing wrong code with no
diagnostic. Add `PseudoLongCV_BEQIMM`/`PseudoLongCV_BNEIMM` and the
MC-layer relaxation flow (inverted short branch + JAL trampoline),
mirroring the standard B-type and Qualcomm Xqcibi vendor branches.

**Tests:** `xcvbi-branch-relax.ll` (uses `-filetype=obj | llvm-objdump`,
since MC-layer relaxation is only observable on object emission, not on
textual asm).

Split out of #204879 at review request (one fix per PR).

Part of a CORE-V (XCV) series; see RFC:
https://discourse.llvm.org/t/rfc-core-v-xcv-support-for-cv32e40p-clang-builtins-xcvsimd-intrinsics-and-generic-auto-selection/91111


  Commit: 3ae3fa4642b7e9acd7167014ce6ed395186f99f7
      https://github.com/llvm/llvm-project/commit/3ae3fa4642b7e9acd7167014ce6ed395186f99f7
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvm] Add nontemporal field to llvm.intr.masked.store (#205566)

Add `nontemporal` field to `llvm.intr.masked.store`. Since `nontemporal`
is a missing field for `llvm.intr.masked.store`, you can refer to
https://github.com/llvm/llvm-project/blob/e68e8d35c91b4fd3ba0ae3ef12d79b41d92580b2/llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll#L28.

---------

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


  Commit: a7f5b5550655a2af0fc1fe9da579e5706713195d
      https://github.com/llvm/llvm-project/commit/a7f5b5550655a2af0fc1fe9da579e5706713195d
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py

  Log Message:
  -----------
  [lldb-dap][test] Re-enable test_by_name_waitFor on Windows (#205570)

`test_by_name_waitFor` passes with `LLDB_USE_LLDB_SERVER=1`.
`test_by_partial_name_waitFor` hangs on exit. Skip if for now.

rdar://180515488


  Commit: 41b1d3cdaebb9b771d60f62b0dfb6a507c26a6a3
      https://github.com/llvm/llvm-project/commit/41b1d3cdaebb9b771d60f62b0dfb6a507c26a6a3
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-utils.cpp
    A flang/test/Semantics/OpenMP/target-enter-data-temp-descriptor-omp61.f90
    A flang/test/Semantics/OpenMP/target-enter-data-temp-descriptor.f90

  Log Message:
  -----------
  [Flang][OpenMP][Sema] Add OpenMP warning when mapping local descriptors to device on enter without a corresponding exit (#205580)

Reland https://github.com/llvm/llvm-project/pull/201060. Issues reported
in https://github.com/llvm/llvm-project/pull/203324 have now been
resolved.

Authored-by: agozillon <Andrew.Gozillon at amd.com>


  Commit: a6f8c9c427d8add6715b69ba41e1fff83500494f
      https://github.com/llvm/llvm-project/commit/a6f8c9c427d8add6715b69ba41e1fff83500494f
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Pre-commit test for live-out derivation requiring VPExpandSCEVRecipe. nfc (#204350)


  Commit: aea73b4ef88ed47e9237d6949563325d12c4c7ba
      https://github.com/llvm/llvm-project/commit/aea73b4ef88ed47e9237d6949563325d12c4c7ba
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libsycl/src/detail/global_objects.cpp
    M libsycl/src/detail/global_objects.hpp
    M libsycl/src/detail/offload/offload_topology.cpp
    M libsycl/src/detail/platform_impl.cpp
    M libsycl/src/detail/platform_impl.hpp
    M libsycl/src/detail/program_manager.cpp
    M libsycl/src/detail/program_manager.hpp
    M libsycl/src/device_selector.cpp
    M libsycl/unittests/CMakeLists.txt
    A libsycl/unittests/common/unittests_helper.hpp
    A libsycl/unittests/device_selector/CMakeLists.txt
    A libsycl/unittests/device_selector/get_device_preference.cpp
    M libsycl/unittests/mock/helpers.hpp

  Log Message:
  -----------
  [libsycl] add heuristics to prefer devices with compatible images (#203530)

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


  Commit: 62c0effca5cfeba39422a7342ba9bf816649bd79
      https://github.com/llvm/llvm-project/commit/62c0effca5cfeba39422a7342ba9bf816649bd79
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 916a974 (#205583)

This fixes 916a974941fbac24889e9c2da1972bd221d0055e.

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


  Commit: 6a15e2d75623860436271e52513cc2ca43991e70
      https://github.com/llvm/llvm-project/commit/6a15e2d75623860436271e52513cc2ca43991e70
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [Offload] Fix ordering with RPC teardown and global destructors (#205594)

Summary:
There's a bit of a chicken and egg problem for the RPC server if we want
to do something creative with the device's image for things like DWARF
dumping. The problem was that destructors can make RPC calls, but the
RPC server also needed the images to be valid. Simple fix is to just
split the destructor calling out and do it first so we can deinitialize
RPC with valid device images.


  Commit: 9adac330f2d134511461376bdbab31d0048bf802
      https://github.com/llvm/llvm-project/commit/9adac330f2d134511461376bdbab31d0048bf802
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M libcxx/include/__locale_dir/wbuffer_convert.h
    M libcxx/include/__locale_dir/wstring_convert.h
    M libcxx/test/extensions/libcxx/localization/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
    M libcxx/test/libcxx/localization/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++] Apply `[[nodiscard]]` to `wstring_convert`, `wbuffer_convert` (#205486)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html
- https://timsong-cpp.github.io/cppwp/n4950/depr.conversions.string
- https://timsong-cpp.github.io/cppwp/n4950/depr.conversions.buffer


  Commit: 55b45709a85ccce1fcc768a458179832b030218a
      https://github.com/llvm/llvm-project/commit/55b45709a85ccce1fcc768a458179832b030218a
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M bolt/runtime/common.h

  Log Message:
  -----------
  [BOLT] Increase BufSize in runtime/common.h (#204607)

During my work towards bolring the flang binary, I've encountered a
frequently occuring problem with running out of the buffer space.

The problem affects C++ programs with a decent number of very long
symbol names, which is inevitable when using template metaprogramming.
As one can clearly see, flang is one of such programs.

The proposed BufSize value is an effect of the trial-and-error process
aiming at finiding the smallest reasonable increase.


  Commit: 44409a06cffd8271bce7bf075ce4f4d4552c35ad
      https://github.com/llvm/llvm-project/commit/44409a06cffd8271bce7bf075ce4f4d4552c35ad
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/CMakeLists.txt
    A flang/cmake/caches/BOLT-PGO.cmake
    A flang/cmake/caches/BOLT.cmake
    A flang/cmake/caches/PGO-stage2-instrumented.cmake
    A flang/cmake/caches/PGO-stage2.cmake
    A flang/cmake/caches/PGO.cmake
    M flang/test/CMakeLists.txt
    M flang/test/Driver/offload-device.f90
    A flang/test/bolt.lit.cfg
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    A flang/test/pgo.lit.cfg
    A flang/test/test.lit.cfg
    M llvm/docs/AdvancedBuilds.rst

  Log Message:
  -----------
  [flang][cmake][perf-training] Optimize flang with PGO and BOLT (#198863)

This is an attempt to replicate similar fearture already available to
clang. The changes in this patch were made with an intent to reuse as
much of existing infrastructure as possible. Namely, two-stage build
arrangement, perf-helper.py script and the means for building of the
instrumented binaries have all been incorporated into this approach.

It was deliberately chosen to optimize clang along with flang as they
are mostly working together in the final toolchain.

See the `llvm/docs/AdvancedBuilds.rst` documentation for more details.

Note that the attempt to optimize flang has exceeded one of the BOLT
limitations. The size of one of the statically allocated buffers needed
to be extended in this patch.


  Commit: 768ad6158a33778e5a4616b448b3952e84fce45e
      https://github.com/llvm/llvm-project/commit/768ad6158a33778e5a4616b448b3952e84fce45e
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-wsloop-linear.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Don't use label prefixes on linear variable rewrite (#200900)

This is a follow-up to #194623. After that PR, matching specific label
prefixes became unnecessary. In fact, doing so could potentially lead
to missed linear variables in the rewrite, if they appear in basic
blocks with unexpected label prefixes.


  Commit: 618edfa7050ed521b29f500782f17a6ab4e01136
      https://github.com/llvm/llvm-project/commit/618edfa7050ed521b29f500782f17a6ab4e01136
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M libcxx/include/__ranges/transform_view.h
    R libcxx/test/libcxx/ranges/range.adaptors/range.transform/adaptor.nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.transform/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][ranges] Applied [[nodiscard]] to `transform_view` (#204014)

[[nodiscard]] should be applied to functions where discarding the return
value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.transform

Towards https://github.com/llvm/llvm-project/issues/172124

---------

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: f4a8eb0a6ea0dd268a23aa08cf0384c6f8542172
      https://github.com/llvm/llvm-project/commit/f4a8eb0a6ea0dd268a23aa08cf0384c6f8542172
  Author: EuphoricThinking <agata.momot at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M offload/liboffload/API/Memory.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/MemoryManager.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp

  Log Message:
  -----------
  [offload] add support for aligned allocations (#203353)

This patch is the first step towards introducing alignment support in
memory allocations using liboffload, in order to enable SYCL
implementation of aligned allocations.

At the level of device allocators, it does not modify the Level Zero
code except for forwarding the alignment parameter, since Level Zero
already allows for specifying the alignment in its device allocator
implementation. For AMD and CUDA, it checks whether the alignment passed
by the caller is supported by the given backend; the reasoning behind
this verification is described in the following paragraphs. At the API
level, it adds a new function olMemAllocAligned, which is expected to
work similarly to olMemAlloc, with the difference that the buffers
returned by olMemAllocAligned should be aligned to the alignment passed
by the user. At the level of the plugin interface internal abstractions,
it adds a new argument Alignment to existing functions and delegates
memory allocation between olMemAllocAligned and olMemAlloc
implementations by using a common helper function.

The goal of the anticipated series of patches is to implement handling
of the alignment in the memory manager at the plugin interface level. At
the first stage, presented in this patch, the information about the
passed alignment is used mainly for checking whether the buffer returned
by the device allocators meets the requirements. In the case of the
requested memory size exceeding the thresholds of allocations handled by
the memory manager, the request is forwarded directly to the device.
Otherwise, the memory manager is responsible for allocating memory in
full pages and pooling it according to the requested chunks. In the
first scenario, the requested size, which is greater than the
aforementioned threshold, is usually a multiple of the page size.
Therefore, any alignment smaller than the page size would be correct.

Neither CUDA nor HSA provides users with the ability to specify the
alignment of the allocated memory. Their APIs include the alignment as
one of the possible arguments only in functions that reserve virtual
address space. CUDA enables users only to check the allocation
granularity, which is usually synonymous with the page size. In the case
of HSA, if the memory is allocated using a pool, the user is able to
check not only the granularity, but also the alignment of the buffers
allocated using the given pool. However, these values - granularity and
alignment - are defined only if
HSA_AMD_MEMORY_POOL_INFO_RUNTIME_ALLOC_ALLOWED is set to true, which
should always be set since the current implementation of the memory pool
for the AMD plugin in liboffload uses only hsa_amd_memory_pool_ts for
allocations. Only Level Zero accepts the alignment parameter during the
memory allocation process, but manages returned pointers internally.
Since pooling is also implemented in the memory manager at the plugin
level, such a design in the Level Zero device allocator duplicates
pooling in the whole application.

In the final version, the memory manager at the plugin interface level
will handle memory pooling and the buffer alignment from different
devices instead of delegating memory management to device allocator
implementations, as this would simplify the Level Zero plugin design and
provide AMD and CUDA plugins with support for the alignment in memory
allocations, which is not natively included in their APIs.


  Commit: 7920821849ecc8ce929ba78aefc4589366db91aa
      https://github.com/llvm/llvm-project/commit/7920821849ecc8ce929ba78aefc4589366db91aa
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    M llvm/test/CodeGen/NVPTX/bug21465.ll
    M llvm/test/CodeGen/NVPTX/lower-args-alignment.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    A llvm/test/CodeGen/NVPTX/lower-byval-args-dbg.ll
    A llvm/test/CodeGen/NVPTX/lower-byval-args-idempotent.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/NVPTX/mark-kernel-ptrs-global.ll

  Log Message:
  -----------
  [NVPTX] Rewrite kernel signatures in param AS (#204192)

Rewrite the kernel signatures moving byval parameters directly into
entry parameter address space (similar to how ExpandVariadics handles
va_arg functions). This avoids the need for the somewhat hacky
nvvm_internal_addrspace_wrap intrinsic and enables better support for
parameter short pointers.


  Commit: a92d346119a4eb1a9c8055e29ffb40068c96bef9
      https://github.com/llvm/llvm-project/commit/a92d346119a4eb1a9c8055e29ffb40068c96bef9
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    R clang/test/AST/ast-dump-openmp-atomic.c
    R clang/test/AST/ast-dump-openmp-barrier.c
    R clang/test/AST/ast-dump-openmp-cancel.c
    R clang/test/AST/ast-dump-openmp-cancellation-point.c
    R clang/test/AST/ast-dump-openmp-critical.c
    R clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-distribute.c
    R clang/test/AST/ast-dump-openmp-flush.c
    R clang/test/AST/ast-dump-openmp-for-simd.c
    R clang/test/AST/ast-dump-openmp-for.c
    R clang/test/AST/ast-dump-openmp-master.c
    R clang/test/AST/ast-dump-openmp-ordered.c
    R clang/test/AST/ast-dump-openmp-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-parallel-for.c
    R clang/test/AST/ast-dump-openmp-parallel-sections.c
    R clang/test/AST/ast-dump-openmp-parallel.c
    R clang/test/AST/ast-dump-openmp-section.c
    R clang/test/AST/ast-dump-openmp-sections.c
    R clang/test/AST/ast-dump-openmp-simd.c
    R clang/test/AST/ast-dump-openmp-single.c
    R clang/test/AST/ast-dump-openmp-split.c
    R clang/test/AST/ast-dump-openmp-target-data.c
    R clang/test/AST/ast-dump-openmp-target-enter-data.c
    R clang/test/AST/ast-dump-openmp-target-exit-data.c
    R clang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-target-parallel-for.c
    R clang/test/AST/ast-dump-openmp-target-parallel.c
    R clang/test/AST/ast-dump-openmp-target-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute.c
    R clang/test/AST/ast-dump-openmp-target-teams.c
    R clang/test/AST/ast-dump-openmp-target-update.c
    R clang/test/AST/ast-dump-openmp-target.c
    R clang/test/AST/ast-dump-openmp-task.c
    R clang/test/AST/ast-dump-openmp-taskgroup.c
    R clang/test/AST/ast-dump-openmp-taskloop-simd.c
    R clang/test/AST/ast-dump-openmp-taskloop.c
    R clang/test/AST/ast-dump-openmp-taskwait.c
    R clang/test/AST/ast-dump-openmp-taskyield.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-teams-distribute.c
    R clang/test/AST/ast-dump-openmp-teams.c

  Log Message:
  -----------
  [OpenMP] Remove AST dump tests for non-variant clauses (#204493)

As was suggested during discussion of #200077, and supported by Johannes
in our discussion during his office hours today, this PR removes OpenMP
AST dump tests that do not test the `variant` clause. The full
motivation can be found in the description of the aforementioned PR, but
the short version is that they are a maintenance burden that hold off
improvements to `TextNodeDumper` for other parts of Clang, because they
match too many unrelated details.


  Commit: bc2c2a94f159ca25df560976b8fc149aa95ca827
      https://github.com/llvm/llvm-project/commit/bc2c2a94f159ca25df560976b8fc149aa95ca827
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp

  Log Message:
  -----------
  [LoopInterchange] Remove some early exits in transform phase (NFCI) (#205563)

This patch removes some unnecessary early exits from the transformation
phase in LoopInterchange. Some of them are simply removed because they
are trivially unsatisfiable. Others are replaced with assertions. These
conditions should be checked in the legality check phase, so it should
be safe to add those asserts.


  Commit: 8770aec62a7cd5ec0e7f99db41a8beec1861b97e
      https://github.com/llvm/llvm-project/commit/8770aec62a7cd5ec0e7f99db41a8beec1861b97e
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits-remove-cvref.cpp

  Log Message:
  -----------
  [clang-tidy] Extend `modernize-type-traits` to fold remove_cv_t<remove_reference_t<...>> into remove_cv_ref_t (#204789)


  Commit: 2b4bbc14e6c53d87d43d2a6047b32535440e96c8
      https://github.com/llvm/llvm-project/commit/2b4bbc14e6c53d87d43d2a6047b32535440e96c8
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Breakpoint/Breakpoint.h
    M lldb/source/Breakpoint/Breakpoint.cpp

  Log Message:
  -----------
  [lldb][NFC] Change type of Breakpoint's name list (#205429)

This is currently a `std::unordered_set<std::string>`. The downside of
this is that you need to have a `std::string` to perform a lookup of any
kind. This may require an allocation whenever we want to query the name
list. Even using `std::string_view` is not sufficient to perform a
lookup.

I propose that this instead be a `llvm::StringSet` which uses StringRefs
as its primary currency for insertions, lookups, and more.

---------

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


  Commit: f8bfc176bb513abf31da350b9a688ea5f3faadfe
      https://github.com/llvm/llvm-project/commit/f8bfc176bb513abf31da350b9a688ea5f3faadfe
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix get.rounding s_getreg lowering (#205601)

Use llvm.amdgcn.s.getreg instead of emitting S_GETREG_B32 directly so
instruction selection applies the required SReg_32 operand constraint.

This was done for setreg but missed for getreg.

Fixes https://github.com/llvm/llvm-project/pull/205265 when expensive
checks are enabled.


  Commit: f217862546d65cce10f774d0455c8e806a7b93f0
      https://github.com/llvm/llvm-project/commit/f217862546d65cce10f774d0455c8e806a7b93f0
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp

  Log Message:
  -----------
  [Instrumentor] Move common instruction IO functions into a class (#205460)

This commit moves several instruction-related IO functions into a class
instead of having them defined in the instrumentor namespace. We add the
BaseInstructionIO non-templated class because InstructionIO is a
templated class. Adding the common functions into InstructionIO would
force us to define them in the header.


  Commit: 52f312665807828e1804df0410e82a11c428cca1
      https://github.com/llvm/llvm-project/commit/52f312665807828e1804df0410e82a11c428cca1
  Author: Jeremy Kun <jkun at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
    M mlir/test/Conversion/ConvertToEmitC/func.mlir

  Log Message:
  -----------
  [mlir][emitc]: use converted result types when func.call has one result (#205191)

The lowering for `func.call` to emitc properly uses converted result
types when there are multiple return values from the called func, but
not when there is a single one.


  Commit: f1f5d9c88e9cba37ae033581be49d4ea202df24a
      https://github.com/llvm/llvm-project/commit/f1f5d9c88e9cba37ae033581be49d4ea202df24a
  Author: Alexey Gerenkov <alexey at espressif.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.h
    A llvm/test/CodeGen/Xtensa/null-streamer.ll

  Log Message:
  -----------
  [Xtensa] Implement XtensaNullTargetStreamer (#203819)

It fixes crash in Xtensa AsmParser::run() during
ModuleSummaryIndexAnalysis pass.


  Commit: de78b7e6678e0a1e0e84c646e4f98d5caed9ebdd
      https://github.com/llvm/llvm-project/commit/de78b7e6678e0a1e0e84c646e4f98d5caed9ebdd
  Author: David Green <david.green at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/fabs-fp128.ll

  Log Message:
  -----------
  Revert "[AArch64] Run cleanup one final time after peephole (#199711)" (#205633)

This reverts commit 448c3d54df7bcd5e5be2b5d051832ad00b4cc89c as it
causes
compile time regressions for little gain, and sounds like the dead
instructions
can be removed in a better way.


  Commit: 1514123374252f4ca8a9ed340abc80d8e42055dc
      https://github.com/llvm/llvm-project/commit/1514123374252f4ca8a9ed340abc80d8e42055dc
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/AST/Mangle.h
    M clang/lib/AST/Mangle.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CIR/CodeGen/trivially-recursive-skip.cpp

  Log Message:
  -----------
  [CIR] Skip trivially-recursive available_externally function bodies (#198363)

CIR was emitting available_externally bodies for glibc-style inline
wrappers whose sole call is back to the same asm-named symbol (via
__builtin_*).  LLVM then treats the function as non-terminating and
can fold away surrounding null checks — the same failure mode as
classic CodeGen PR9614 (basename-style if (cwd) paths).

Port isTriviallyRecursive / shouldEmitFunction from CodeGenModule,
including the isInlineBuiltinDeclaration exemption, and skip emitting
those definitions.  isTriviallyRecursive (and its
FunctionIsDirectlyRecursive visitor) lives on MangleContext, so both
classic CodeGen and CIRGen call getMangleContext().isTriviallyRecursive(FD).


  Commit: 847d3964cd87f4b1c026d5528a3318a6b3a34c4f
      https://github.com/llvm/llvm-project/commit/847d3964cd87f4b1c026d5528a3318a6b3a34c4f
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    A clang/test/Analysis/Scalable/PointerFlow/entity-name-no-conflict.cpp
    A clang/test/Analysis/Scalable/PointerFlow/multi-decl-contributor.cpp

  Log Message:
  -----------
  [SSAF] Properly handle contributors with multiple declarations (#204482)

A contributor entity can have multiple declarations all contributing
interesting facts. For example, a function declaration (not definition)
may have default arguments, which may provide pointer flow or unsafe
buffer usage facts. This commit groups declarations by their canonical
decls. The entity summary of a contributor will be collected from all
its decls.

In addition, this commit includes the following minor changes:
- Factor the common procedure of summary extraction and insertion into a
template function in SSAFAnalysesCommon.h.
- Convert the no-duplicate contributor assertion into a debug warning.
We need the release build to not crash.

rdar://179150798


  Commit: 2c4c2683092eb2773a361236910ecbf208af96bb
      https://github.com/llvm/llvm-project/commit/2c4c2683092eb2773a361236910ecbf208af96bb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/madd.ll
    M llvm/test/CodeGen/X86/shrink_vmul.ll

  Log Message:
  -----------
  [X86] combineMulToPMADDWD - match 256/512-bit SIGN_EXTEND nodes (#205606)

Now that the X86ISD::VPMADDWD handling is improving, we can remove some
of the limits that we had to prevent regressions


  Commit: e53c48b1c4e831482b51a460fdb62026e0652bb2
      https://github.com/llvm/llvm-project/commit/e53c48b1c4e831482b51a460fdb62026e0652bb2
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/usubsat.ll

  Log Message:
  -----------
  [AMDGPU] Lower uniform usubsat to SOP (#203155)

Prefer scalar (SALU) lowering for uniform `usubsat`, since usubsat(a, b)
= max(a, b) - b.
* i32: add a GCNPat matching uniform `usubsat` to S_MAX_U32 + S_SUB_I32
* i16: route uniform `usubsat` through `promoteUniformOpToI32` instead
of a TableGen pattern that hard-codes the 0xffff masks. This exposes the
zero-extends as real DAG nodes so KnownBits can fold the masks when the
high bits are already known zero; the promoted i32 usubsat then reuses
the scalar pattern. Promote-and-truncate is safe for usubsat because the
result always fits in the narrow type (unlike uaddsat).

Register USUBSAT with `setTargetDAGCombine` and the promotion dispatch,
return ZERO_EXTEND in `getExtOpcodeForPromotedOp`, and add it to
`isNarrowingProfitable` so divergent i16/i32 keep their native VALU
clamp form.

Co-authored by: Jeffrey Byrnes


  Commit: aa07daee80611a71c2afc763d3db76fd6dbab784
      https://github.com/llvm/llvm-project/commit/aa07daee80611a71c2afc763d3db76fd6dbab784
  Author: Jeremy Kun <jkun at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [mlir][bazel]: Remove GPU dialect deps from MemRefTransforms (#205624)

This change removes dead GPU dependencies (`GPUDialect` and
`NVGPUDialect`) from the `MemRefTransforms` target. These dependencies
are not needed by the transforms themselves and greatly increase the
build time (e.g., NVVMDialect.cpp alone requires two minutes to build).
This aligns the bazel build with the CMake configuration.


  Commit: 89ff26442d773dbf8d6dbd5b8908e4d9eef04ef2
      https://github.com/llvm/llvm-project/commit/89ff26442d773dbf8d6dbd5b8908e4d9eef04ef2
  Author: Fabian Parzefall <parzefall at meta.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/X86/patch-entries.test

  Log Message:
  -----------
  [BOLT] Replace partial instructions with traps in patched entries (#205211)

Overwriting a function entry with a jump is likely to not perfectly
align with the instruction stream. If the end of the patch does not
fall onto an instruction boundary, the bytes following the jump are
orphaned and will have nonsensical interpretations. This can leave
other tools confused, especially since these orphaned bytes can
decode to instructions that do not nicely rejoin the still intact
part of the instructions stream. Overwrite these bytes with traps
in the PatchEntry pass.

Fixes #198455.


  Commit: 5528a0e984c3d4d840af98001960ff345167d0cd
      https://github.com/llvm/llvm-project/commit/5528a0e984c3d4d840af98001960ff345167d0cd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/discarded-interleave-group.ll

  Log Message:
  -----------
  [VectorUtils] Discard predicates if no interleave groups are found. (#205424)

If no interleave groups are found, the predicates won't be used and
should be dropped. Update to use the new variant of getPtrStride which
returns the added predicates (added in
https://github.com/llvm/llvm-project/pull/203787).

This enables only committing the predicates if there are any interleave
groups.

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


  Commit: c46c34284d4a059050fca105ad65acb4f27bfca6
      https://github.com/llvm/llvm-project/commit/c46c34284d4a059050fca105ad65acb4f27bfca6
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M compiler-rt/lib/tysan/tysan_interceptors.cpp

  Log Message:
  -----------
  [tysan] Guard mallopt() use on SANITIZER_GLIBC instead of SANITIZER_LINUX (#203118)

mallopt() is a glibc extension, not provided by other Linux C libraries
such as musl, but its declaration and its use in
InitializeInterceptors() are gated on SANITIZER_LINUX. Linking the TySan
runtime for a musl target therefore fails:

  ld.lld: error: undefined symbol: mallopt
  >>> referenced by tysan_interceptors.cpp:215 in
  >>>   __tysan::InitializeInterceptors() in libclang_rt.tysan-hexagon.a


  Commit: 42ff45b865b1744e3f37a821bbcbc3d2ece1513c
      https://github.com/llvm/llvm-project/commit/42ff45b865b1744e3f37a821bbcbc3d2ece1513c
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M bolt/docs/conf.py
    M clang-tools-extra/docs/conf.py
    M clang/docs/conf.py
    R clang/docs/ghlinks.py
    M flang/docs/FlangDriver.md
    M flang/docs/conf.py
    M libc/docs/conf.py
    M libcxx/docs/conf.py
    M libunwind/docs/conf.py
    M lld/docs/conf.py
    M lldb/docs/_ext/lldb_setting.py
    M lldb/docs/conf.py
    M llvm/cmake/modules/AddSphinxTarget.cmake
    M llvm/docs/conf.py
    R llvm/docs/llvm_slug.py
    M openmp/docs/conf.py
    M orc-rt/docs/conf.py
    M polly/docs/conf.py
    M pyproject.toml
    A utils/docs/README.md
    A utils/docs/__main__.py
    A utils/docs/llvm_sphinx/__init__.py
    A utils/docs/llvm_sphinx/ext/__init__.py
    A utils/docs/llvm_sphinx/ext/ghlinks/__init__.py
    A utils/docs/llvm_sphinx/ext/ghlinks/test/conf.py
    A utils/docs/llvm_sphinx/ext/ghlinks/test/index.rst
    A utils/docs/llvm_sphinx/ext/ghlinks/test/markdown.md
    A utils/docs/llvm_sphinx/ext/ghlinks/test/rest.rst
    A utils/docs/llvm_sphinx/help.py

  Log Message:
  -----------
  [docs] Create utils/docs (#203962)

llvm-project is home to many sphinx documentation sites, each with
configuration quirks and bespoke extensions.

The sphinx config model makes sharing code somewhat difficult. There
are options like sphinx-multiproject, but some of our docs builds are
out of the source tree while some are done out of the binary tree, so
the multiproject configuration itself would need to be generated. It
also would impose more uniformity around extensions than required.

This change instead creates a python package at utils/docs/llvm_sphinx
and makes it available to all sphinx-build processes via PYTHONPATH.
Each conf.py does not modify its own sys.path because not all builds are
out of the source tree, so there isn't a stable relative path to use to
refer to the utils/docs/ directory.

Type checking via pyright in new package is pinned to being python 3.8
compatible.

The myst slug script from llvm/docs is promoted to be the default,
with a slight edit to targets needed in FlangDriver.md to adapt to the
change.

The ghlinks extension from clang gets lifted to be the first generic
extension, although it is still only used in clang currently. I used it
as an example of a general extension that might be useful for other
projects, but I also intend to add a new generic extension in a future
patch.

As part of the move ghlinks is refactored a bit:

* Rather than have a main function directly to run its tests, those
  tests are now run via the command-line entrypoint to the new package,
  e.g. `python utils/docs --test` will now replace
  `python clang/docs/ghlinks.py --test`. This makes the command-line
  more pithy (`python utils/docs/llvm_sphinx/ext/ghlinks --test` is a
  bit long), and makes the default behavior when running be to
  include utils/docs in the sys.path, so imports can be absolute and
  the behavior is as close to the CMake targets as possible.
* The static files that were previously written to a tempdir during
  testing are just committed directly in git. The assumption here is
  that the original version was taking pains to avoid polluting the
  clang/docs directory with test files that would confuse sphinx-build,
  and without that limitation the workaround can be removed.
* Some typing-related changes to make it strictly python 3.8 compatible.

Change-Id: Ie16de273f74973f163dbf7fe9d22d80a466d051f


  Commit: 7c6c2af56f4a446c9e5221049eb63527e4ac0a97
      https://github.com/llvm/llvm-project/commit/7c6c2af56f4a446c9e5221049eb63527e4ac0a97
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/src/__support/FPUtil/x86_64/fenv_x87_utils.h
    M libc/src/__support/macros/sanitizer.h
    M libc/src/sys/epoll/linux/epoll_pwait.cpp
    M libc/src/sys/epoll/linux/epoll_pwait2.cpp
    M libc/src/sys/epoll/linux/epoll_wait.cpp
    M libc/src/sys/socket/linux/recv.cpp
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/linux/recvmsg.cpp
    M libc/src/sys/socket/linux/socketpair.cpp
    M libc/src/unistd/linux/pipe.cpp
    M libc/src/unistd/linux/pipe2.cpp
    M libc/src/unistd/linux/pread.cpp
    M libc/src/unistd/linux/read.cpp
    M libc/test/src/string/memory_utils/memory_check_utils.h

  Log Message:
  -----------
  [libc] Prefix sanitizer macros with LIBC_ (#205002)

Since these macros leak into user code via libc/shared/math.h,
prefix them with LIBC_ to not cause collisions.

Change created with:

    rg -l MSAN_UNPOISON libc | xargs sed -i '' \
        -e 's/MSAN_UNPOISON/LIBC_MSAN_UNPOISON/g'
    rg -l ASAN_POISON_MEMORY_REGION libc | xargs sed -i '' -e \
        's/ASAN_POISON_MEMORY_REGION/LIBC_ASAN_POISON_MEMORY_REGION/g'
    rg -l ASAN_POISON_MEMORY_REGION libc | xargs sed -i '' -e \
        's/ASAN_POISON_MEMORY_REGION/LIBC_ASAN_POISON_MEMORY_REGION/g'

No behavior change.


  Commit: 4500e536f6e83e654e6abc7fe29ebd09f7ec5533
      https://github.com/llvm/llvm-project/commit/4500e536f6e83e654e6abc7fe29ebd09f7ec5533
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/pauth-lr-tail-call-fpdiff.ll
    M llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll

  Log Message:
  -----------
  [AArch64] Skip FrameDestroy DW_CFA_AARCH64_negate_ra_state_with_pc (#198677)

The toggle semantics of DW_CFA_AARCH64_negate_ra_state_with_pc are
evaluated over a linear stream of CFI opcodes, rather than along control
flow edges, making it impossible to faithfully represent the RA state
across all CFG paths for functions with non-trivial block layouts (for
example hot-cold-splitting, or doubly-shrinkwrapped functions with
multiple independent frames).

libunwind works around this by recording the signing address at the
FrameSetup site, and not validating that the CFI state has toggled back
to "unsigned" after authentication. We can therefore omit the
FrameDestroy emission, treating the marker solely as a marker for the
signing site. This holds so long as each function has at most one
signing location, which is currently guaranteed since shrinkwrapping
does not yet create functions with more than one frame.

DW_CFA_AARCH64_set_ra_state is the correct long-term fix, but cannot be
used exclusively due to unwinder compatability concerns.

See: https://github.com/ARM-software/abi-aa/issues/327
     https://github.com/ARM-software/abi-aa/pull/346

rdar://174074919


  Commit: ede168f6492a5a1fca60264b9c7d290693b9d8e2
      https://github.com/llvm/llvm-project/commit/ede168f6492a5a1fca60264b9c7d290693b9d8e2
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 30abd9ec2b8d (#205658)


  Commit: 657f38cbb57ecb5c6b17766147cd342b99700c6b
      https://github.com/llvm/llvm-project/commit/657f38cbb57ecb5c6b17766147cd342b99700c6b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn

  Log Message:
  -----------
  [gn] Fix oversight from cf6527a49669c796b (#205660)

Without this, the interception/interception.h include in
InstProfilingPlatformROCm.cpp isn't found.


  Commit: 1b44a9d9e1ae82ccbd16488d02c4ebd5d3a6be13
      https://github.com/llvm/llvm-project/commit/1b44a9d9e1ae82ccbd16488d02c4ebd5d3a6be13
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c997a13812c1 (#205659)


  Commit: c0cbb8ac9e51f9bf19ed2ef5428420d8ef18fac5
      https://github.com/llvm/llvm-project/commit/c0cbb8ac9e51f9bf19ed2ef5428420d8ef18fac5
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    R cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectRewriter.py
    M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/ToolBase.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expect_list_expected.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_expects_expected.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/rewrite_multiple_scripts_expected.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/simple_prog.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/whole_file_test.dex
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/Inputs/whole_file_test_expected.dex
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expect_list.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expects.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_multiple_scripts.cpp
    R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/rewriting/whole_file.test

  Log Message:
  -----------
  Revert "[Dexter] Add ability to rewrite scripts to fill-in unknown values" (#205657)

Reverts llvm/llvm-project#202799 to fix the failing
cross-project-tests::debuginfo-tests/dexter/feature_tests/scripts/rewriting/rewrite_expect_list.cpp
test and unblock pre-commit CI.


  Commit: ab3fc0b17b9e80f91694271b068566b388b7ae0f
      https://github.com/llvm/llvm-project/commit/ab3fc0b17b9e80f91694271b068566b388b7ae0f
  Author: Aditya Gupta <adityagupta1089 at users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/test/TableGen/CPtrWildcard.td

  Log Message:
  -----------
  [CodeGen] Add v2048bf16 vector type (#202386)

Define v2048bf16 vector type in ValueTypes.td. This is useful for
targets that support packed bf16 operations with large vector widths
(e.g. Google TPU).


  Commit: 83c0ccc6f95c900a504d27ffa1741951b487b290
      https://github.com/llvm/llvm-project/commit/83c0ccc6f95c900a504d27ffa1741951b487b290
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/src/__support/math/atan2f_float.h

  Log Message:
  -----------
  [libc][math] Fix MPI_OVER_2 constant in atan2f_float (#205621)

Fix a typo in the size-optimized float-float implementation of atan2f
where MPI_OVER_2 (-pi/2) was defined identically to PI_OVER_2 (pi/2).

This caused atan2f to return incorrect values (off by pi) on targets
where the float-float path is selected (e.g. baremetal ARM Cortex-M
with hardware FMA/floating-point support) for inputs requiring
reciprocal range reduction, such as atan2f(10.0f, 1.0f).


  Commit: c41ab104b001659431fa97b8c0bfcbac0273c452
      https://github.com/llvm/llvm-project/commit/c41ab104b001659431fa97b8c0bfcbac0273c452
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
    M mlir/test/Dialect/OpenACC/invalid-cg.mlir
    M mlir/test/Dialect/OpenACC/ops-cg.mlir

  Log Message:
  -----------
  [OpenACC] add acc::ReductionAccumulateArrayOp (#205617)

Add an OpenACC Dialect operation to accumulate elements of a (private)
array across threads. This operation only specifies the PointerLikeType
and an acc::DataBoundsOp to represent the accumulation of the array at a
high level. This will ultimately get lowered by "codegen".


  Commit: d1b9398bead54b0fe0ce785b822a214a7f3c00ed
      https://github.com/llvm/llvm-project/commit/d1b9398bead54b0fe0ce785b822a214a7f3c00ed
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp

  Log Message:
  -----------
  [mlir][xegpu] adding maybe_usused for unused variable/function when assertion is off (#205629)

address the warning brought by the PR
https://github.com/llvm/llvm-project/pull/203156


  Commit: fccfe44b80a11cf15f56467a974ef99bc0ebd8d3
      https://github.com/llvm/llvm-project/commit/fccfe44b80a11cf15f56467a974ef99bc0ebd8d3
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [SLP][NFC] Remove extra checks from analyzeRtStrideCandidate() (#205415)

These checks duplicate the functionality of the additional checks added
in #204013


  Commit: 1c9412432ff9f897d5fb096d31b945e50fbbb61d
      https://github.com/llvm/llvm-project/commit/1c9412432ff9f897d5fb096d31b945e50fbbb61d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [VPlan] Remove unused VPlan::getExitBlock(BasicBlock*) (NFC) (#205645)

Remove unused function.


  Commit: f6923f5d39c7fb0b2ca5bd799206abb7eb96d43e
      https://github.com/llvm/llvm-project/commit/f6923f5d39c7fb0b2ca5bd799206abb7eb96d43e
  Author: nvptm <pmathew at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/docs/Directives.md
    M flang/lib/Semantics/check-call.cpp
    A flang/test/Semantics/call03-ignore-tkr-c-relaxed.f90
    A flang/test/Semantics/call03-ignore-tkr-c-strict.f90

  Log Message:
  -----------
  [flang] Relax ignore_tkr(c) for assumed-type BIND(C) descriptor dummies (#205445)

Relax `F2023 15.5.2.5 p2` derived-type checks for assumed-type
ignore_tkr(c) dummies passed by descriptor to bind(C) procedures. This
will allow passing a derived type with a type-bound procedure or FINAL
or a parameterized derived type to a TYPE(*), dimension(..) bind(C)
dummy.


  Commit: 0ba95d65d8e27b7fedd953b1bda8a8a206191ce6
      https://github.com/llvm/llvm-project/commit/0ba95d65d8e27b7fedd953b1bda8a8a206191ce6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
    A llvm/test/Transforms/LoopVectorize/X86/outer-loop-non-power-of-2-type.ll

  Log Message:
  -----------
  [LV] Round outer-loop VPlan VF down to a power of two (#205646)

computeVPlanOuterloopVF computes the VF as max(1, RegSize / WidestType).
WidestType may not be a power of two, which resulted in a non-power-of-2
VF. Round down like in the inner loop path.


  Commit: fa538c0b3af533e296cbfc0dd018ef94cf3607ed
      https://github.com/llvm/llvm-project/commit/fa538c0b3af533e296cbfc0dd018ef94cf3607ed
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Core/Address.h
    M lldb/include/lldb/Core/AddressRange.h
    M lldb/include/lldb/Core/Declaration.h
    M lldb/include/lldb/Core/Mangled.h
    M lldb/include/lldb/Symbol/Block.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/include/lldb/Symbol/Variable.h
    M lldb/include/lldb/Symbol/VariableList.h
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Declaration.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Symbol/VariableList.cpp
    M lldb/source/Utility/FileSpecList.cpp

  Log Message:
  -----------
  [lldb] Remove unused MemorySize methods (NFC) (#205463)

These `MemorySize` methods are unused. There are two remaining which are
used: `FileSpec::MemorySize` and `ConstString::MemorySize`.


  Commit: 1338319d3cdd710ecdab9377c0aa1b61206fc4bd
      https://github.com/llvm/llvm-project/commit/1338319d3cdd710ecdab9377c0aa1b61206fc4bd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Sema/SemaAMDGPU.cpp

  Log Message:
  -----------
  clang: Replace getTargetID API with isProcessorName (#205653)

The "target ID" naming is an AMDGPUism. Replace the getTargetID query
with an isProcessorName predicate so the target reports whether the
string should be considered a match. This makes alias handling more
natural than checking for exact match, and avoids an unnecessary
parse of the target ID.

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


  Commit: c85e7156f83fc5654a6229ee69f88e83891adb4c
      https://github.com/llvm/llvm-project/commit/c85e7156f83fc5654a6229ee69f88e83891adb4c
  Author: Jeremy Kun <jkun at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [mlir][bazel]: only depend on needed LLVM translations in ExecutionEngine (#205619)

ExecutionEngine currently pulls in `AllToLLVMIRTranslations` which
includes heavy dependencies on GPU dialects (notably NVVMDialect.cpp
which takes a whopping 2 minutes to compile!), despite the
ExecutionEngine not doing anything GPU-specific.

This change reduces the dependencies to just the subset of LLVMIR
translations that ExecutionEngine actually uses: Builtin, LLVM dialect,
and OpenMP dialect.


  Commit: fc03af0ea17f7f3c5a3fff42be9d6a369dc0910d
      https://github.com/llvm/llvm-project/commit/fc03af0ea17f7f3c5a3fff42be9d6a369dc0910d
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 639c5a0 (#205273)

This fixes 639c5a014fad13c683b01c66a1474b7aa47ce7ee.

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


  Commit: 07d30c1fc9123c559caac2bc0194faa6d8d21758
      https://github.com/llvm/llvm-project/commit/07d30c1fc9123c559caac2bc0194faa6d8d21758
  Author: Piotr Balcer <piotr.balcer at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_private_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][Offload] Use argument pointer array in host kernels (#205355)

This is a follow-up to #194333, which changed liboffload's kernel launch
interface to take an array of pointers to arguments instead of a
contiguous argument buffer, but left the old path intact for OpenMP, to
be cleaned up iteratively in later changes.

This patch modifies the offload host kernels, and the OpenMP clang
codegen, to also use argument pointer arrays. The host was the only
plugin that did not support the new submission path. With it converted,
OpenMP can migrate to use the new path in all scenarios, after which
everything related to contiguous argument buffer and its construction
can be removed from plugin interface and the backends.

The change itself is fairly straightforward. The bulk of the diff is
automated test updates. In the runtime, the host kernel signature
becomes an array of pointers (void **), and the codegen is updated to
match. With each argument being a pointer, the kernel function now adds
one load to read the argument's value.

Assisted-by: Claude


  Commit: 0f9ffd5fdd7d6a6415e2a98352e6132528fa6b03
      https://github.com/llvm/llvm-project/commit/0f9ffd5fdd7d6a6415e2a98352e6132528fa6b03
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/AssumptionCache.cpp
    M llvm/test/Transforms/DropUnnecessaryAssumes/dereferenceable.ll

  Log Message:
  -----------
  [AssumptionCache] Fix removeAffectedValues() when value is repeated in AssumeInst (#205275)

If a value appears more than once in an AssumeInst (e.g., `ptr %arg1` in
`call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %arg1, i64 1),
"align"(ptr %arg1, i64 8) ]`) it will appear multiple times in the
result of findAffectedValues(). removeAffectedValues() may (depending on
how the results in AffectedValues.find_as(AV.Assume) are ordered),
nullify multiple values from AffectedValues.find_as(AV.Assume) in one
iteration of an outer for loop. The next iteration of that outer for
loop might then find a match only to a different AssumeInst, resulting
in an assertion failure.

This patch fixes the issue by counting the number of matching
ResultElems we expect to find.

This was a latent bug that was revealed by
https://github.com/llvm/llvm-project/pull/204432; the latter is not
itself buggy, but relies on AssumptionCache::removeAffectedValues().

---------

Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>


  Commit: b206777d06f8da99220ef48f33dcea80edb0ffcc
      https://github.com/llvm/llvm-project/commit/b206777d06f8da99220ef48f33dcea80edb0ffcc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M llvm/include/llvm/ADT/APInt.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/APInt.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [APInt] Consistently use the terms pdep/pext instead of expandBits/compressBits (#205112)

After some bikeshedding in #200570 - we decided on the terms pdep/pext


  Commit: 0b1ad4c065ab6aaeea0c7563fab8a0d59c4af639
      https://github.com/llvm/llvm-project/commit/0b1ad4c065ab6aaeea0c7563fab8a0d59c4af639
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/subtraction.c

  Log Message:
  -----------
  [CIR][AArch64] Migrate vsubl_high/vsubw_high NEON tests to subtraction.c (#205508)

### summary

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

This is a light patch and a follow up of :
https://github.com/llvm/llvm-project/pull/204088

All lowering logic have been implemented in this PR :
https://github.com/llvm/llvm-project/pull/204285 , I just need to
migrate these intrinsics.

This PR completed with the assistance of Claude Opus4.8

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


  Commit: 238dbabecf5fbe31bb9e8182f87b3d710cdbff7e
      https://github.com/llvm/llvm-project/commit/238dbabecf5fbe31bb9e8182f87b3d710cdbff7e
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  Revert "[Bazel] Fixes 639c5a0" (#205681)

Reverts llvm/llvm-project#205273.  639c5a0 was rolled back.


  Commit: d7a29a8e3372eb009e6d62b810f15977e0663969
      https://github.com/llvm/llvm-project/commit/d7a29a8e3372eb009e6d62b810f15977e0663969
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/cmake/caches/BOLT-PGO.cmake
    M flang/cmake/caches/BOLT.cmake
    M flang/cmake/caches/PGO-stage2.cmake
    M flang/cmake/caches/PGO.cmake
    M llvm/docs/AdvancedBuilds.rst

  Log Message:
  -----------
  [flang][cmake] Enable the runtimes in the CMake caches (#205642)

I've tried to introduce that in the PR #198863, but sadly, the buildbots
could not cope with this, so I decided to introduce it separately.

This patch also fixes the relevant places in the docs.


  Commit: 8c87cf1605d3cb9b0a24c728ac01c9637ae3dcac
      https://github.com/llvm/llvm-project/commit/8c87cf1605d3cb9b0a24c728ac01c9637ae3dcac
  Author: Yao Qi <qiyaoltc at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
    M lldb/unittests/ObjectContainer/ObjectContainerUniversalMachOTest.cpp

  Log Message:
  -----------
  [lldb][Mach-O] Bounds-check GetArchitectureAtIndex against m_fat_archs (#205289)

`ObjectContainerUniversalMachO::GetArchitectureAtIndex` used
`m_header.nfat_arch` (read directly from the file and untrusted, up to
0xFFFFFFFF) as the bound before indexing `m_fat_archs`. When ParseHeader
exhausts the data partway through and breaks early, `m_fat_archs.size()`
can be smaller than `nfat_arch`, so the indexed load is out of bounds.
Bound the check on the actual vector size instead.

Found by lldb-target-fuzzer.

---------

Co-authored-by: Alex Langford <nirvashtzero at gmail.com>


  Commit: 6bf6094866ff39afc255816ff69ec815f2fb1aea
      https://github.com/llvm/llvm-project/commit/6bf6094866ff39afc255816ff69ec815f2fb1aea
  Author: Hüseyin Dönmez <donnmez.huseyin at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Sema/builtin-abs-invalid.c

  Log Message:
  -----------
  [Sema] Fix ICE when passing vector types to `abs` (#205017)

fix for ICE in `Sema::CheckAbsoluteValueFunction`

We failed to reject non-scalar types. 

Fixes: #204777


  Commit: 3d2974a7b4539634377c7f83797adc9287da7c0d
      https://github.com/llvm/llvm-project/commit/3d2974a7b4539634377c7f83797adc9287da7c0d
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
    M llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
    M llvm/test/Instrumentation/Instrumentor/cast.ll
    M llvm/test/Instrumentation/Instrumentor/cast_crash.ll
    M llvm/test/Instrumentation/Instrumentor/default_config.json
    M llvm/test/Instrumentation/Instrumentor/default_rt.c
    M llvm/test/Instrumentation/Instrumentor/default_rt.h
    M llvm/test/Instrumentation/Instrumentor/generate_rt.ll
    M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
    A llvm/test/Instrumentation/Instrumentor/numeric_subtypeid.ll
    A llvm/test/Instrumentation/Instrumentor/numeric_subtypeid_config.json
    M llvm/test/Instrumentation/Instrumentor/rt_config.json

  Log Message:
  -----------
  [Instrumentor] Add subtype IDs to complement type IDs for vectors/arrays (#205466)

If the type of an argument passed to the instrumentation is a vector or
array, we still want to filter on the underlying type, and the
instrumentation might also need to know. Thus, we can now pass a subtype
ID, which is -1 except if it's a vector or array, then it's the element
type ID. Structs need to be handled differently.


  Commit: d4cf04ba17c833cfbab5a16aa2d21f7185a0c9ae
      https://github.com/llvm/llvm-project/commit/d4cf04ba17c833cfbab5a16aa2d21f7185a0c9ae
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  Revert "[LifetimeSafety] Fix liveness propagation for all origin flows (#205323)" (#205687)

Revert "[LifetimeSafety] Fix liveness propagation for all origin flows
(#205323)"

This reverts commit 8d2a578b2130742c8790f3dba5fb414962eafcd5.

Revert "[LifetimeSafety] Model GNU statement expressions (#204841)"

This reverts commit 361f3b24f2a8703eb7a32c1ae081f490888238f3.


  Commit: 6cc609bb250b21b47fc7d394b4019101e9983597
      https://github.com/llvm/llvm-project/commit/6cc609bb250b21b47fc7d394b4019101e9983597
  Author: Alexey Gerenkov <alexey at espressif.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    A llvm/test/CodeGen/Xtensa/trap.ll

  Log Message:
  -----------
  [Xtensa] Fix trap/debugtrap operations lowering. (#200872)

Fix debug operation lowering for Xtensa.

Co-authored-by: Andrei Safronov <safronov at espressif.com>


  Commit: b576ec61928671722c7bf7cf2df42862fd41b683
      https://github.com/llvm/llvm-project/commit/b576ec61928671722c7bf7cf2df42862fd41b683
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    A compiler-rt/lib/instrumentor-tools/CMakeLists.txt
    A compiler-rt/lib/instrumentor-tools/README.md
    A compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
    A compiler-rt/lib/instrumentor-tools/flop-counter/README.md
    A compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_config.json
    A compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
    A compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
    M compiler-rt/test/CMakeLists.txt
    A compiler-rt/test/instrumentor-tools/CMakeLists.txt
    A compiler-rt/test/instrumentor-tools/lit.cfg.py
    A compiler-rt/test/instrumentor-tools/lit.site.cfg.py.in
    A compiler-rt/test/instrumentor-tools/simple_flops.c
    A compiler-rt/test/instrumentor-tools/vector_flops.cpp

  Log Message:
  -----------
  [Instrumentor] Add runtime examples: [1/N] A flop counter (#205221)

This adds a instrumentor-tools folder into compiler RT to showcase
use cases of the instrumentor. The initial example is a program that,
via instrumentation, counts the number of flops performed. Call and
 intrinsic support will follow after #198042.

Partially developed by Claude (AI), tested and verified by me.


  Commit: 518040ac1d04b3960913b172c2a404e5b3cf8de6
      https://github.com/llvm/llvm-project/commit/518040ac1d04b3960913b172c2a404e5b3cf8de6
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/print-multi-selection-flags.c

  Log Message:
  -----------
  [RISCV][clang] Use fcf-protection flag in Multilib Selection (#205202)

This ensures that we can separate out multilibs that are or are not
built with control flow protection enabled.

The initial version of the patch claims all values of these flags are
incompatible. It might be the case that we could make this logic more
complex if some versions do become compatible.


  Commit: 66ed5f9cb7f6f09baec97652dfbd2b87de7d001f
      https://github.com/llvm/llvm-project/commit/66ed5f9cb7f6f09baec97652dfbd2b87de7d001f
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
    M lldb/source/Symbol/Symtab.cpp

  Log Message:
  -----------
  [lldb][NFC] Remove ConstString from Language::MethodNameVariant (#205688)

Language::MethodNameVariant is for when a given method name may have
several language-defined variants. For example, we may see an
objective-C method name with a category that should be searchable via
the name without the category.

The ObjCLanguage plugin computes these names without checking that they
are actually useful or even exist. Because these variant names are
stored in ConstString, they will live forever even if they are never
used.


  Commit: 86ecfffe8ad988f3f6c6a4bb6c1717f13afd32a0
      https://github.com/llvm/llvm-project/commit/86ecfffe8ad988f3f6c6a4bb6c1717f13afd32a0
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/PCH/pch-debuginfo-vtable.cpp

  Log Message:
  -----------
  [Clang] Don't suppress vtable emission for classes with -fmodules-debuginfo (#204662)

847f9cb0e868 made `Sema::DefineUsedVTables` skip
`Consumer.HandleVTable()` when `Class->shouldEmitInExternalSource()` is
true. This works for named C++20 modules as they have an object file,
but does not hold for -fmodules-debuginfo / -fpch-debuginfo.

This patch additionally gates that on `Class->isInNamedModule()`. This
is the same pattern used by the rest of codegen for this situation.

Needing to check this everywhere is a bit unfortunate. It would be good
to eventually refactor this class of checks to have clearer semantics
around named modules, debug info, and -fmodules-codgen.

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

Assisted-by: Claude Code: opus-4-8


  Commit: c6a17f1bfd7607229aba71d0de92db95335b8ce7
      https://github.com/llvm/llvm-project/commit/c6a17f1bfd7607229aba71d0de92db95335b8ce7
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt

  Log Message:
  -----------
  [Instrumentor][FIX] Ensure CXX headers are available (#205693)

Try to address failure in #205221, which results in <atomic> not found.
This is CMake code copied from other compiler-rt projects using
<atomic>.


  Commit: b26636154374424e3d2ded25e853dbcc975640de
      https://github.com/llvm/llvm-project/commit/b26636154374424e3d2ded25e853dbcc975640de
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    R compiler-rt/lib/instrumentor-tools/CMakeLists.txt
    R compiler-rt/lib/instrumentor-tools/README.md
    R compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
    R compiler-rt/lib/instrumentor-tools/flop-counter/README.md
    R compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_config.json
    R compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
    R compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
    M compiler-rt/test/CMakeLists.txt
    R compiler-rt/test/instrumentor-tools/CMakeLists.txt
    R compiler-rt/test/instrumentor-tools/lit.cfg.py
    R compiler-rt/test/instrumentor-tools/lit.site.cfg.py.in
    R compiler-rt/test/instrumentor-tools/simple_flops.c
    R compiler-rt/test/instrumentor-tools/vector_flops.cpp

  Log Message:
  -----------
  Revert "[Instrumentor] Add runtime examples: [1/N] A flop counter (#205221)" (#205696)


  Commit: c4249350f2488b6434e5b88cdc72b00436dcbefc
      https://github.com/llvm/llvm-project/commit/c4249350f2488b6434e5b88cdc72b00436dcbefc
  Author: Jan Korous <jkorous at apple.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M .github/new-prs-labeler.yml
    A clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/index.rst
    A clang/docs/ScalableStaticAnalysis/index.rst
    A clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/SummaryExtractionInternals.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/index.rst
    R clang/docs/ScalableStaticAnalysisFramework/index.rst
    R clang/docs/ScalableStaticAnalysisFramework/user-docs/SummaryExtraction.rst
    M clang/docs/index.rst
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    A clang/include/clang/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/BuiltinAnchorSources.def
    A clang/include/clang/ScalableStaticAnalysis/Core/ASTEntityMapping.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntitySummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/TUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityId.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityIdTable.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityLinkage.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/SummaryName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/LUSummaryConsumer.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryData.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataStore.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataTraits.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Support/ErrorBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Support/FormatProviders.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/EntitySummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummaryBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisBase.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisResult.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisTraits.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/DerivedAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/SummaryAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/WPASuite.h
    A clang/include/clang/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.h
    A clang/include/clang/ScalableStaticAnalysis/SSAFBuiltinForceLinker.h
    A clang/include/clang/ScalableStaticAnalysis/SSAFForceLinker.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/SourceEditEmitter.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformation.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationReportEmitter.h
    A clang/include/clang/ScalableStaticAnalysis/Tool/Utils.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisBase.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisDriver.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisResult.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisTraits.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SSAFForceLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/SourceEditEmitter.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/Transformation.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/TransformationRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SourceTransformation/TransformationReportEmitter.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h
    M clang/include/module.modulemap
    M clang/lib/CMakeLists.txt
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphJSONFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.h
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    A clang/lib/ScalableStaticAnalysis/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Core/ASTEntityMapping.cpp
    A clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/BuildNamespace.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityId.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityIdTable.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityLinkage.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/SummaryName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/ModelStringConversions.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/TUSummary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/WPASuite.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/SummaryData/LUSummaryConsumer.cpp
    A clang/lib/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Support/ErrorBuilder.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryBuilder.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Frontend/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/AnalysisResults.h
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/PairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/TagsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Tool/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Tool/Utils.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/Artifact.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/AnalysisResults.h
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/PairsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/SourceTransformation/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/SourceTransformation/TransformationRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
    M clang/tools/clang-ssaf-analyzer/CMakeLists.txt
    M clang/tools/clang-ssaf-analyzer/SSAFAnalyzer.cpp
    M clang/tools/clang-ssaf-format/CMakeLists.txt
    M clang/tools/clang-ssaf-format/SSAFFormat.cpp
    M clang/tools/clang-ssaf-linker/CMakeLists.txt
    M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
    M clang/unittests/CMakeLists.txt
    A clang/unittests/ScalableStaticAnalysis/ASTEntityMappingTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphExtractorTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowWPATest.cpp
    A clang/unittests/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    A clang/unittests/ScalableStaticAnalysis/BuildNamespaceTest.cpp
    A clang/unittests/ScalableStaticAnalysis/CMakeLists.txt
    A clang/unittests/ScalableStaticAnalysis/EntityIdTableTest.cpp
    A clang/unittests/ScalableStaticAnalysis/EntityIdTest.cpp
    A clang/unittests/ScalableStaticAnalysis/EntityLinkageTest.cpp
    A clang/unittests/ScalableStaticAnalysis/EntityLinkerTest.cpp
    A clang/unittests/ScalableStaticAnalysis/EntityNameTest.cpp
    A clang/unittests/ScalableStaticAnalysis/ErrorBuilderTest.cpp
    A clang/unittests/ScalableStaticAnalysis/FindDecl.h
    A clang/unittests/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    A clang/unittests/ScalableStaticAnalysis/LUSummaryTest.cpp
    A clang/unittests/ScalableStaticAnalysis/ModelStringConversionsTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Registries/FancyAnalysisData.cpp
    A clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.cpp
    A clang/unittests/ScalableStaticAnalysis/Registries/MockSerializationFormat.h
    A clang/unittests/ScalableStaticAnalysis/Registries/MockSummaryExtractor1.cpp
    A clang/unittests/ScalableStaticAnalysis/Registries/MockSummaryExtractor2.cpp
    A clang/unittests/ScalableStaticAnalysis/Registries/MockTUSummaryBuilder.h
    A clang/unittests/ScalableStaticAnalysis/Registries/SerializationFormatRegistryTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Registries/SummaryExtractorRegistryTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/JSONFormatTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/JSONFormatTest.h
    A clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/LUSummaryTest.cpp
    A clang/unittests/ScalableStaticAnalysis/Serialization/JSONFormatTest/TUSummaryTest.cpp
    A clang/unittests/ScalableStaticAnalysis/SourceTransformation/EmitterTest.cpp
    A clang/unittests/ScalableStaticAnalysis/SourceTransformation/RegistryTest.cpp
    A clang/unittests/ScalableStaticAnalysis/SummaryData/SummaryDataTest.cpp
    A clang/unittests/ScalableStaticAnalysis/SummaryNameTest.cpp
    A clang/unittests/ScalableStaticAnalysis/TUSummaryBuilderTest.cpp
    A clang/unittests/ScalableStaticAnalysis/TestFixture.cpp
    A clang/unittests/ScalableStaticAnalysis/TestFixture.h
    A clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/AnalysisDriverTest.cpp
    A clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/ASTEntityMappingTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/BuildNamespaceTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
    R clang/unittests/ScalableStaticAnalysisFramework/EntityIdTableTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/EntityIdTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/EntityLinkageTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/EntityNameTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/ErrorBuilderTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h
    R clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/ModelStringConversionsTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/MockTUSummaryBuilder.h
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/SerializationFormatRegistryTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.h
    R clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/SourceTransformation/EmitterTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/SourceTransformation/RegistryTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/SummaryNameTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
    R clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/FrontendTool/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Analyses/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Core/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Frontend/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/SourceTransformation/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysis/Tool/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Frontend/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/SourceTransformation/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Tool/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-ssaf-analyzer/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-ssaf-format/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-ssaf-linker/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysis/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel

  Log Message:
  -----------
  [clang][ssaf] Shorten directory name to ScalableStaticAnalysis (#204697)

The directory name ScalableStaticAnalysisFramework produces build paths
that exceed Windows' MAX_PATH limit (260 chars) on downstream CI bots.

The clang-ssaf-format / clang-ssaf-linker tool names and SSAF-prefixed
source filenames are unchanged.

Assisted-By: Claude Opus 4.7

---------

Co-authored-by: Aviral Goel <goel.aviral at gmail.com>
Co-authored-by: Aviral Goel <aviralg at users.noreply.github.com>


  Commit: 8a531c3608c722ad529be448d6ecef06ba107228
      https://github.com/llvm/llvm-project/commit/8a531c3608c722ad529be448d6ecef06ba107228
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/support/aix.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/linux.h
    M libcxx/include/__locale_dir/support/newlib.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/module.modulemap.in
    A libcxx/include/text_encoding
    M libcxx/include/version
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android23.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/modules/std.compat.cppm.in
    M libcxx/modules/std.cppm.in
    M libcxx/modules/std/text_encoding.inc
    M libcxx/src/CMakeLists.txt
    M libcxx/src/support/win32/locale_win32.cpp
    A libcxx/src/text_encoding.cpp
    M libcxx/test/libcxx/localization/nodiscard.verify.cpp
    A libcxx/test/libcxx/text/text_encoding/environment.android.pass.cpp
    A libcxx/test/libcxx/text/text_encoding/environment.pass.cpp
    A libcxx/test/libcxx/text/text_encoding/environment.windows.pass.cpp
    A libcxx/test/libcxx/text/text_encoding/nodiscard.verify.cpp
    A libcxx/test/libcxx/text/text_encoding/text_encoding.ctor/assert.id.pass.cpp
    A libcxx/test/libcxx/text/text_encoding/text_encoding.ctor/assert.string_view.pass.cpp
    A libcxx/test/libcxx/text/text_encoding/text_encoding.members/environment.delete.verify.cpp
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    A libcxx/test/std/language.support/support.limits/support.limits.general/text_encoding.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    A libcxx/test/std/localization/locales/locale/locale.members/encoding.pass.cpp
    A libcxx/test/std/text/text_encoding/test_text_encoding.h
    A libcxx/test/std/text/text_encoding/text_encoding.ctor/default.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.ctor/id.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.ctor/string_view.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.eq/equal.id.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.eq/equal.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.hash/enabled_hash.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.hash/hash.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/aliases.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/aliases_view.compile.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/environment.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/id.compile.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/literal.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/begin.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/empty.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/end.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/front.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/index.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/iterator.pass.cpp
    A libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/operator-bool.pass.cpp
    A libcxx/test/std/text/text_encoding/trivially_copyable.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/header_information.py
    M libcxx/utils/libcxx/test/features/availability.py

  Log Message:
  -----------
  [libc++] Implement P1885R12: `<text_encoding>` (#141312)

Resolves #105373, resolves #118371 and resolves #105332

- Implements `<text_encoding>`
- Adds availability macros for LLVM 23.
- The data is stored in three tables:
  - One giant string split by null-terminators to represent the aliases
- An index table which stores indexes into the string, each entry
representing the first character of an alias
- Text encoding data, which stores an index to the index table, the MIB,
and the number of aliases the encoding has.

Storing it in the above manner allows us to make significant savings in
binary file size and required runtime storage for the data.

As required by the LLVM Project's AI use policy:
- The implementation for `__get_locale_encoding(const char*)` for
Windows has been developed with the assistance of AI.

---------

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 2ce6fc677fdb7a7c04b71bb1734ba856d62e7d79
      https://github.com/llvm/llvm-project/commit/2ce6fc677fdb7a7c04b71bb1734ba856d62e7d79
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DiagnosticInfoTest.cpp

  Log Message:
  -----------
  [IR] Fix invalid debug metadata diagnostic kind (#205648)

This type is only ever passed to LLVMContext::diagnose directly, and
there are no downcasts to this type, so classof is effectively dead, but
we should fix this oversight.

Fixes #205340


  Commit: b37b10d5217b992180ee0a61f343b3edb4cc083e
      https://github.com/llvm/llvm-project/commit/b37b10d5217b992180ee0a61f343b3edb4cc083e
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    A clang/test/Driver/sycl-print-internal-defines.cpp

  Log Message:
  -----------
  [Driver][SYCL] Treat stdin as C++ when -fsycl is active (#204968)

1723b7a30145 added a frontend check that rejects C inputs when SYCL mode
is active (since SYCL requires C++). The stdin path in BuildInputs
hardcoded TY_C regardless of driver mode, so `-fsycl -dM -E -` would
pass -x c to cc1 and trigger the new diagnostic.

Fix: use TY_CXX for stdin when IsSYCL.

Also, upstream a downstream test that fails due to 1723b7a30145.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 635ed0edc68c3ea2556b773b3e9f5fffc57aa303
      https://github.com/llvm/llvm-project/commit/635ed0edc68c3ea2556b773b3e9f5fffc57aa303
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/stat/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/stat/kernel_statx_types.h
    A libc/src/__support/OSUtil/linux/stat/stat_via_statx.h
    M libc/src/sys/stat/linux/CMakeLists.txt
    M libc/src/sys/stat/linux/fstat.cpp
    R libc/src/sys/stat/linux/kernel_statx.h
    M libc/src/sys/stat/linux/lstat.cpp
    M libc/src/sys/stat/linux/stat.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][stat] Move internal statx type definition into OSUtil/linux (#203975)

This PR refactors the internally defined `statx` buffer to a shareable
location so other LLVM-libc linux entrypoints may call `statx` without
concern for name conflicts around `linux/stat.h`.

Specifically, this PR moves `libc/src/sys/stat/linux/kernel_statx.h` to
`libc/src/__support/OSUtil/linux/stat/` and splits it into two files,
`kernel_statx_types.h` + `stat_via_statx.h`.

This will be used by `realpath`.


  Commit: f4a149172b51165487b71144c3fd7275da1809a1
      https://github.com/llvm/llvm-project/commit/f4a149172b51165487b71144c3fd7275da1809a1
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    M llvm/lib/Target/TargetMachine.cpp
    A llvm/test/CodeGen/X86/large-implicit-section.ll

  Log Message:
  -----------
  [x86] Handle implicit sections when determining if a global is large (#204247)

Just like explicit sections.

We were seeing globals with implicit sections marked large under the
medium code model.

Assisted-by: Gemini


  Commit: 89ac672f5b9242e040598eedb7d240c97a8da44b
      https://github.com/llvm/llvm-project/commit/89ac672f5b9242e040598eedb7d240c97a8da44b
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M libclc/clc/lib/nvptx/CMakeLists.txt
    R libclc/clc/lib/nvptx/relational/clc_isinf.cl

  Log Message:
  -----------
  [libclc] Delete wrong implementation nvptx clc_isinf (#205699)

The file calls __nv_isinf which return 1 for true on vector input, while
the generic clc_isinf which return -1 for true on vector input. Using
nvptx clc_isinf in OpenCL isinf violates OpenCL spec.

Found the issue in https://github.com/intel/llvm/pull/22413


  Commit: 39ed392c4e890d6261e80dcbd98ebf3487c012bc
      https://github.com/llvm/llvm-project/commit/39ed392c4e890d6261e80dcbd98ebf3487c012bc
  Author: Kito Cheng <kito.cheng at sifive.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/RISCV/rvp-srl-bitcast-bv.ll

  Log Message:
  -----------
  [DAG] Fix illegal type in srl(bitcast(build_vector)) fold (#205074)

The fold

```
  (srl (bitcast (build_vector e1, ..., eN)), (N-1) * eltsize) -> (zext eN)
```

added in #181412 built the result through a narrow element integer type,
which
can be illegal (e.g. i16 on RV32 with the P extension, where `<2 x i16>`
is
legal). When the fold runs in the last DAG combine that illegal type
hits the
"Unexpected illegal type!" assert.

Build the result directly in the result type `VT` and mask off the high
bits
instead:

```
  (and (zext/trunc eN to VT), (1 << eltsize) - 1)
```

`VT` is always legal, so no illegal type is created and the fold no
longer needs
to be gated on legalization.

Assisted-by: Opus 4.8

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 4efc6ef95cb041fae7e8fd60c4281b355418e747
      https://github.com/llvm/llvm-project/commit/4efc6ef95cb041fae7e8fd60c4281b355418e747
  Author: Kito Cheng <kito.cheng at sifive.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    A llvm/test/CodeGen/RISCV/option-arch-experimental.ll

  Log Message:
  -----------
  [RISCV] Emit .option arch extensions without the "experimental-" prefix (#205471)

We currently emit the "experimental-" prefix in .option arch, e.g.
`.option arch, +experimental-zicfiss`, but the assembler can't parse
that back.

There are two ways to fix this:

1. Teach the assembler to accept `.option arch, +experimental-zicfiss`.
2. Emit `.option arch, +zicfiss` instead of `.option arch,
+experimental-zicfiss`.

This patch takes the second approach, which better fits the .option arch
syntax we defined. Experimental extensions are still guarded by
`-menable-experimental-extensions`.


  Commit: 1fadc09c1985a6f3bb0ff993fc876384797116a3
      https://github.com/llvm/llvm-project/commit/1fadc09c1985a6f3bb0ff993fc876384797116a3
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Fix order remapping in layout transpose (#205212)

LayoutAttr::transposeDims and LayoutAttr::isTransposeOf mishandled the
`order` field when transposing a layout. The `order` field is
fundamentally different from the size-valued fields (sg_layout, sg_data,
inst_data, lane_layout, lane_data): its values are dimension indices
(order[0] is the fastest-varying dim), not per-position sizes. The two
require different transpose rules:
    - Size fields — reindex by position: new[i] = orig[perm[i]]
- order — relabel values through the inverse permutation: newOrder[i] =
inversePerm[origOrder[i]]

Both functions incorrectly applied the size-field rule to `order`.
Because the bug was applied consistently in both places, it stayed
hidden for trivial/symmetric (e.g. 2D [1,0]) permutations, where the two
rules happen to coincide. It only surfaces for non-trivial permutations
such as the 3D [1,0,2] produced by a broadcast→transpose chain.
   
   Assist-by-Claude

---------

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


  Commit: 05daa3d135f8a23e6875340938402db2c52f3688
      https://github.com/llvm/llvm-project/commit/05daa3d135f8a23e6875340938402db2c52f3688
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/complex.rst
    M libc/include/complex.yaml
    M libc/src/complex/CMakeLists.txt
    A libc/src/complex/carg.h
    A libc/src/complex/cargf.h
    M libc/src/complex/generic/CMakeLists.txt
    A libc/src/complex/generic/carg.cpp
    A libc/src/complex/generic/cargf.cpp
    A libc/test/src/complex/CArgTest.h
    M libc/test/src/complex/CMakeLists.txt
    A libc/test/src/complex/carg_test.cpp
    A libc/test/src/complex/cargf_test.cpp

  Log Message:
  -----------
  [libc][complex] Add cargf and carg functions to libc complex math (#204087)

This PR adds carg and cargf function to libc complex and also add test
cases to cover some special inputs.

---------

Signed-off-by: jinge90 <ge.jin at intel.com>


  Commit: 1f713c05e87e470cbdb5c5eee5bcbc0d46ba342b
      https://github.com/llvm/llvm-project/commit/1f713c05e87e470cbdb5c5eee5bcbc0d46ba342b
  Author: TPPPP <TPPPP72 at outlook.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/SemaCXX/gh147127.cpp

  Log Message:
  -----------
  [Clang] Fixed an assertion in constant evaluation when using a defaulted comparison operator in a union (#198830)

Fixes an assertion failure by decoupling `IsTrivialMemoryOperation` from
assignment operators.

fix #147127


  Commit: 85a94e312513301805adb4c73c1e8a5581097a94
      https://github.com/llvm/llvm-project/commit/85a94e312513301805adb4c73c1e8a5581097a94
  Author: I <1091761+wx257osn2 at users.noreply.github.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  [Clang] Transform SubstNonTypeTemplateParmExpr replacements in a constant-evaluated context (#196791)

Fixes #175831.

When transforming a `SubstNonTypeTemplateParmExpr`,
`TreeTransform::TransformSubstNonTypeTemplateParmExpr` calls
`Sema::CheckTemplateArgument` so that any sema annotations (such as
implicit casts) that were stripped from the replacement are recovered.
This is done in whatever evaluation context the node happens to appear
in after substitutions.

Since the normalization of constraints, a `SubstNonTypeTemplateParmExpr`
can end up inside an unevaluated operand, so the replacement gets
rebuilt in an unevaluated context.
Entities it refers to are then not odr-used: for example, when a call
materializes a by-value function parameter of class type, the copy
constructor is never marked odr-used and its definition is never
instantiated.
The constant evaluation performed by `CheckTemplateArgument` afterwards
then fails for otherwise valid arguments.
This caused rejects-valid regressions on real code such as mp-units.

This PR inserts a constant-evaluated context in
`TransformSubstNonTypeTemplateParmExpr`, so that the replacement is
rebuilt and re-checked on the context, regardless of where normalization
has placed it.

--

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>


  Commit: a218ee3ef4d36d9907dd829d0283ae27bb03e97c
      https://github.com/llvm/llvm-project/commit/a218ee3ef4d36d9907dd829d0283ae27bb03e97c
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Core/ModuleSpec.h
    M lldb/include/lldb/Target/DynamicLoader.h
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
    A lldb/test/API/functionalities/postmortem/elf-core/elf-dyld-nt-file-mismatch.yaml

  Log Message:
  -----------
  Fix ProcessElfCore::FindModuleUUID() so it work with symlinks. (#205235)

ProcessElfCore was reading the NT_FILE list and using that to help
FindModuleUUID to provide UUID information when loading core files. The
NT_FILE list contains resolved paths only, while the
DynamicLoaderPOSIXDYLD plug-in was using paths found in the r_debug
structure which contains a linked list of all of the shared libraries in
a process. The issue was these paths could be symlinks which would cause
ProcessELFCore::FindModuleUUID(...) to fail because the paths wouldn't
match up. This led to the ProcessELFCore often not being able to provide
UUIDs for shared libraries and cause the incorrect binaries to be loaded
from the current machine even when the shared library UUIDs don't match.

The solution was to add the ability for a ModuleSpec to contain a load
address for the shared library. This allows ProcessELFCore to uniquely
identify a library regardless of the name used in NT_FILE. We can now
correctly supply the UUID from the .gnu-build-id to any binaries which
use symlinks when linking, but have differing resolved paths to the
libraries.

The process virtual function for finding a UUID was changed from:

virtual lldb_private::UUID FindModuleUUID(const llvm::StringRef path);

to:

        virtual bool FindModuleUUID(ModuleSpec &spec);

to allow Process::FindModuleUUID to rely on other data in the ModuleSpec
since the path isn't enough.

We will be able to use the ModuleSpec's load address for creating a
module from a ModuleSpec, but that isn't in this PR.


  Commit: bd1acfcb5d05341bacec042386edef34b987e195
      https://github.com/llvm/llvm-project/commit/bd1acfcb5d05341bacec042386edef34b987e195
  Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-orphan-conflict.prof
    A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-orphan-conflict.ll

  Log Message:
  -----------
  [SampleProfileMatcher] Sample profile duplication to avoid stale CFG profile matching conflicts (#202460)

Stale profile matching may map multiple different IR anchors into one
profile anchor because of the common function basename. One example is
`foo(int)` and `foo<bar>(float)` can both be mapped to `foo()` if
`foo()` is the only function that has a profile. And this creates
conflicting CFG matching for `foo(int)` and `foo<bar>(float)` when they
each runs stale profile matching. The CFG matching results will be
overwritten among the conflicting functions. And it will trigger the
following assertation failure:

https://github.com/llvm/llvm-project/blob/7087094b05a1bba64a99474cc501328919e11b4a/llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp#L332-L333

This patch tries to detect this conflict during the stale CG matching,
and create duplicated profiles to avoid CFG matching conflicts.


  Commit: 1827faef2ae5668dff8f14080ddaae143d7bb17d
      https://github.com/llvm/llvm-project/commit/1827faef2ae5668dff8f14080ddaae143d7bb17d
  Author: Zhiheng Xie <xiezhiheng at huawei.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/aarch64-hip12.c
    M llvm/lib/Target/AArch64/AArch64Processors.td

  Log Message:
  -----------
  [AArch64] Add missing SubtargetFeature for hip12 core (#205246)

The initial patch for the hip12 core had omitted several subtarget
features:

  FeatureFP16FML, FeatureFlagM, FeaturePredRes, FeatureSB, FeatureSSBS,
  FeatureCCIDX, FeatureRandGen.


  Commit: f9953d49dc4f2c8f747d8cbf2ed44bfdc1258b96
      https://github.com/llvm/llvm-project/commit/f9953d49dc4f2c8f747d8cbf2ed44bfdc1258b96
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/lib/Parser/executable-parsers.cpp
    M flang/test/Semantics/cuf23.cuf

  Log Message:
  -----------
  [flang][cuda] Accept cuf kernel do without scalar (#205705)

The base compiler accept `!$cuf kernel do()` instead of raising an
error. Update the parser to accept the same syntax.
`!$cuf kernel do()` is equivalent to `!$cuf kernel do`


  Commit: 53fb8492c26a832f9c8df300f64376eaaa5b78bc
      https://github.com/llvm/llvm-project/commit/53fb8492c26a832f9c8df300f64376eaaa5b78bc
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/test/AST/ByteCode/evaluate-dtor-codegen.cpp

  Log Message:
  -----------
  [clang][bytecode] Ignore indeterminate APValues (#205555)

They don't produce a value and for us, that means we just need to ignore
them and not initialize anything.


  Commit: 2fe65489978870631729ccb5c242c77f80f01a99
      https://github.com/llvm/llvm-project/commit/2fe65489978870631729ccb5c242c77f80f01a99
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/cuf30.cuf

  Log Message:
  -----------
  [flang][cuda] Add NYI message for CUDA dynamic parallelism (#205628)


  Commit: c0e80b94eefd29c7c1b0ae868e5d5092109a1d17
      https://github.com/llvm/llvm-project/commit/c0e80b94eefd29c7c1b0ae868e5d5092109a1d17
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A clang-tools-extra/test/clang-doc/Inputs/array-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/Inputs/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/array-type.cpp
    A clang-tools-extra/test/clang-doc/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/json/array-type.cpp
    A clang-tools-extra/test/clang-doc/json/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/json/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/json/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/json/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/nested-pointer-qualifiers.cpp

  Log Message:
  -----------
  [clang-doc] Test more language constructs (#205585)

We're missing several different language constructs in our tests. This
patch simply adds the basic tests and captures the output without trying
to fix or adjust any behavior, and can be considered a sort of precommit
test for future fixes to the various documentation components.


  Commit: 765f0d14fe14a8394abf23afbdc6d6d657f6459d
      https://github.com/llvm/llvm-project/commit/765f0d14fe14a8394abf23afbdc6d6d657f6459d
  Author: Hood Chatham <roberthoodchatham at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/test/CodeGen/WebAssembly/builtins-table-externref.c
    M clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
    M clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
    M clang/test/CodeGen/WebAssembly/wasm-externref.c
    A clang/test/CodeGen/WebAssembly/wasm-funcref-to-ptr-error.c
    M clang/test/CodeGen/WebAssembly/wasm-funcref.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGenCXX/wasm-reftypes-mangle.cpp
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyCallLowering.cpp
    M llvm/lib/Target/WebAssembly/Utils/WasmAddressSpaces.h
    M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    R llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/GlobalISel/irtranslator/args.ll
    M llvm/test/CodeGen/WebAssembly/GlobalISel/irtranslator/call-basics.ll
    M llvm/test/CodeGen/WebAssembly/GlobalISel/irtranslator/ret-basics.ll
    A llvm/test/CodeGen/WebAssembly/GlobalISel/reference-types-fallback.ll
    M llvm/test/CodeGen/WebAssembly/externref-globalget.ll
    M llvm/test/CodeGen/WebAssembly/externref-globalset.ll
    M llvm/test/CodeGen/WebAssembly/externref-inttoptr.ll
    M llvm/test/CodeGen/WebAssembly/externref-ptrtoint.ll
    M llvm/test/CodeGen/WebAssembly/externref-tableget.ll
    M llvm/test/CodeGen/WebAssembly/externref-tableset.ll
    M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
    M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
    M llvm/test/CodeGen/WebAssembly/funcref-call.ll
    M llvm/test/CodeGen/WebAssembly/funcref-globalget.ll
    M llvm/test/CodeGen/WebAssembly/funcref-globalset.ll
    A llvm/test/CodeGen/WebAssembly/funcref-ptr-conversion.ll
    M llvm/test/CodeGen/WebAssembly/funcref-table_call.ll
    M llvm/test/CodeGen/WebAssembly/funcref-tableget.ll
    M llvm/test/CodeGen/WebAssembly/funcref-tableset.ll
    A llvm/test/CodeGen/WebAssembly/funcref-to-ptr-error.ll
    A llvm/test/CodeGen/WebAssembly/ref-null-zeroinitializer.ll
    M llvm/test/CodeGen/WebAssembly/ref-null.ll
    M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
    M llvm/test/CodeGen/WebAssembly/select-reftype.ll
    M llvm/test/CodeGen/WebAssembly/table-copy.ll
    M llvm/test/CodeGen/WebAssembly/table-fill.ll
    M llvm/test/CodeGen/WebAssembly/table-grow.ll
    M llvm/test/CodeGen/WebAssembly/table-size.ll
    M llvm/test/CodeGen/WebAssembly/table-types.ll
    A llvm/test/Transforms/SLPVectorizer/WebAssembly/externref-no-vectorize.ll
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn

  Log Message:
  -----------
  [WebAssembly] Represent reference types as TargetExtType (#203165)

Originally #71540 by Paolo Matos, I picked it up and finished it.
Resolves https://github.com/llvm/llvm-project/issues/69894.

Model WebAssembly externref and funcref as target("wasm.externref") /
target("wasm.funcref") TargetExtTypes instead of pointers in
non-integral address spaces 10 and 20.

The entire WebAssemblyLowerRefTypesIntPtrConv can be removed.

This breaks the GlobalISel handling for reference types, I just disabled
GlobalISel handling for functions that use them.

I added intrinsics for `wasm.ptr.to_funcref` and `wasm.funcref.to_ptr`.
ptr.to_funcref does a table.get from the indirect function pointer
table. As a special case, 0 is converted to the null funcref rather than
doing table.get on 0. `wasm.funcref.to_ptr` is only handled when we call
it immediately, otherwise it will fail to lower. We could dynamically
put the funcref into the table to make it work but that would require a
stack of spilled funcrefs and isn't worth the effort.

In the process of looking into this, I noticed that clang used to allow
casting from funcref to function pointer but if the cast result escaped
it would hit `Cannot select: FUNCREF_TO_PTR` in the backend. I added a
diagnostic that says "a funcref can only be converted to a pointer to be
directly called" to make this a little cleaner.

cc @QuantumSegfault

---------

Co-authored-by: Paulo Matos <pmatos at igalia.com>


  Commit: 374df9f56e9b45e8eef7dc20cf23b73082bb4daa
      https://github.com/llvm/llvm-project/commit/374df9f56e9b45e8eef7dc20cf23b73082bb4daa
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/subreg-liveness-fix-subreg-to-reg-implicit-def.mir

  Log Message:
  -----------
  [NewPM][AArch64] Port AArch64SRLTDefineSuperRegs pass to NewPassManager (#202803)

Standard port for the AArch64SRLTDefineSuperRegs pass.

Assisted by Gemini


  Commit: 1ece64c7c497e691f505cdba8be5a5ceff4694da
      https://github.com/llvm/llvm-project/commit/1ece64c7c497e691f505cdba8be5a5ceff4694da
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/test/CodeGen/WebAssembly/wasm-funcref-to-ptr-error.c

  Log Message:
  -----------
  Fix test from #203165 when no wasm target is configured (#205722)

Fix test from #203165 when no wasm target is configured


  Commit: 101b2cdd2266d683ed8d9ff58cac8d70ff5b816e
      https://github.com/llvm/llvm-project/commit/101b2cdd2266d683ed8d9ff58cac8d70ff5b816e
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names-utils.h
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/OpenMP/declare-reduction-overbroad-lookup.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-mixed-merged.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-only-defined-op.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-only-merged.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-only-renamed.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-only.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-reexport-merged.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-reexport-remerge.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-shadow-merged.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-shadow.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix declare reduction lookup for USE...ONLY imports

CheckSymbolSupportsType walked every module in the global scope to find
declare-reduction declarations. That accepted reductions from modules
that were never USE'd, or were excluded via USE...ONLY, and it still
rejected some valid imports such as a renamed operator.

Replace the global scan with FindUserReduction(), which resolves the
reduction the way name resolution resolves the operator. It checks a
directly visible reduction first, then follows the operator's USE
associations and merged-generic sources to the declaring modules,
re-deriving the source module's mangled name for renamed operators. The
search recurses through re-exporting (facade) modules and is type-aware,
so an operator that carries reductions for several types resolves to the
one supporting the requested type. A locally declared reduction is
authoritative and shadows reductions reachable through the operator.

Consolidate the duplicated GetReductionFortranId() (formerly static in
both resolve-names.cpp and mod-file.cpp) into a shared utility, fixing a
latent bug where defined operators were not correctly reverse-mapped.

This corrects the semantic check only. The local lowering ICE for a
user-defined operator declare reduction was fixed separately in
https://github.com/llvm/llvm-project/issues/204299. The cross-module
cases this change additionally accepts (USE-associated, renamed, or
merged operators) now emit a clean "not yet implemented" diagnostic in
lowering. Completing their lowering is a follow-up.

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

Assisted-by: Claude Opus 4.8.


  Commit: dd499f88bf4d304baf0db1d6d4d84ad5bea8d7ad
      https://github.com/llvm/llvm-project/commit/dd499f88bf4d304baf0db1d6d4d84ad5bea8d7ad
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/fpseudo-probe-for-profiling.f90
    A flang/test/Integration/pseudo-probe-for-profiling.f90

  Log Message:
  -----------
  [Flang][Driver]Add support for option '-fpseudo-probe-for-profiling' in flang (#205046)

Added support for option `-fpseudo-probe-for-profiling` in flang.

- When the option `-fpseudo-probe-for-profiling` is passed, the compiler
sets the` PseudoProbeForProfiling` flag and triggers the
`SampleProfileProbePass`. This pass inserts `llvm.pseudoprobe(..)`
intrinsic calls and `!llvm.pseudo_probe_desc` metadata into the IR.


  Commit: a6e3bf89bf3d55136a6b10d7269eead564f6b96f
      https://github.com/llvm/llvm-project/commit/a6e3bf89bf3d55136a6b10d7269eead564f6b96f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpHelpers.h

  Log Message:
  -----------
  [clang][bytecode] Pass AccessKinds to Check{Constant,Mutable} (#205720)

So we can pass them on do `diagnoseNonConstVariable`.

This doesn't make a difference right now but is needed for a future
commit.


  Commit: d77731fa765b90b16131027e402d3d93b4a1aa40
      https://github.com/llvm/llvm-project/commit/d77731fa765b90b16131027e402d3d93b4a1aa40
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2026-06-25 (Thu, 25 Jun 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/green-dragon/lldb-windows.groovy
    M .clang-format-ignore
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/actions/push-container/action.yml
    M .github/new-issues-labeler.yml
    M .github/new-prs-labeler.yml
    M .github/workflows/bazel-checks.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/docs.yml
    M .github/workflows/hlsl-test-all.yaml
    M .github/workflows/ids-check.yml
    M .github/workflows/issue-release-workflow.yml
    R .github/workflows/issue-subscriber.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libcxx-run-benchmarks.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-lint.yml
    R .github/workflows/pr-subscriber.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/prune-branches.yml
    M .github/workflows/prune-unused-branches.py
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/spirv-tests.yml
    A .github/workflows/subscriber.yml
    M .github/workflows/sycl-tests.yml
    A .github/workflows/test-suite.yml
    A .github/workflows/test-suite/aarch64.cmake
    A .github/workflows/test-suite/configure-and-build.sh
    A .github/workflows/test-suite/llvm.cmake
    A .github/workflows/test-suite/riscv64.cmake
    A .github/workflows/test-suite/x86_64.cmake
    M .github/workflows/unprivileged-download-artifact/action.yml
    M .github/workflows/upload-release-artifact/action.yml
    M .gitignore
    A bolt/docs/BOLTAArch64OptimizationStatus.rst
    M bolt/docs/CMakeLists.txt
    M bolt/docs/conf.py
    M bolt/docs/doxygen.cfg.in
    M bolt/docs/index.rst
    M bolt/docs/profiles.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/DataflowAnalysis.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/DataReader.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    A bolt/test/AArch64/constant-island-reproducible.s
    M bolt/test/AArch64/instrument-no-fini.s
    A bolt/test/AArch64/use-old-text-zero-padding.c
    A bolt/test/AArch64/veneer-erratum-843419.s
    M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
    A bolt/test/X86/dwarf4-cross-cu-ranges.test
    M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
    A bolt/test/X86/dwarf5-dwp-tsan-data-race.test
    M bolt/test/X86/heatmap-preagg.test
    M bolt/test/X86/instrument-no-fini.s
    A bolt/test/X86/instrument-static-pie.s
    M bolt/test/X86/nolbr.s
    M bolt/test/X86/patch-entries.test
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/pre-aggregated-records.s
    A bolt/test/binary-analysis/AArch64/cfg-warning.s
    M bolt/test/eh-frame-hdr.test
    M bolt/test/lit.cfg.py
    A bolt/test/merge-fdata-no-lbr-event-multi.test
    A bolt/test/merge-fdata-no-lbr-event.test
    M bolt/test/perf2bolt/lit.local.cfg
    A bolt/test/perf2bolt/perf_brstack.test
    M bolt/test/perf2bolt/perf_test.test
    M bolt/test/runtime/X86/instrument-wrong-target.s
    A bolt/test/runtime/setup-race.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/heatmap/heatmap.cpp
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/Core/MemoryMaps.cpp
    M bolt/unittests/Profile/CMakeLists.txt
    M bolt/unittests/Profile/DataAggregator.cpp
    A bolt/unittests/Profile/PerfScripts.cpp
    M bolt/unittests/Profile/PerfSpeEvents.cpp
    A clang-tools-extra/Maintainers.md
    R clang-tools-extra/Maintainers.rst
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.h
    M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
    M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
    M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantNestedIfCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantNestedIfCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
    M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.cpp
    M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.h
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
    M clang-tools-extra/clangd/Headers.h
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/ProjectModules.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/StdLib.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolID.h
    M clang-tools-extra/clangd/index/dex/Token.h
    M clang-tools-extra/clangd/index/dex/Trigram.h
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/test/background-index.test
    M clang-tools-extra/clangd/test/did-change-configuration-params.test
    M clang-tools-extra/clangd/test/include-cleaner-batch-fix.test
    A clang-tools-extra/clangd/test/modules_config_remove_flags.test
    M clang-tools-extra/clangd/test/path-mappings.test
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/docs/CMakeLists.txt
    A clang-tools-extra/docs/Maintainers.md
    R clang-tools-extra/docs/Maintainers.rst
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/static-initialization-cycle.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-nested-if.rst
    M clang-tools-extra/docs/conf.py
    M clang-tools-extra/docs/doxygen.cfg.in
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    M clang-tools-extra/test/.gitattributes
    A clang-tools-extra/test/clang-doc/Inputs/array-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/Inputs/function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/array-type.cpp
    A clang-tools-extra/test/clang-doc/class-partial-specialization.cpp
    A clang-tools-extra/test/clang-doc/compact.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    A clang-tools-extra/test/clang-doc/function-pointer-type.cpp
    M clang-tools-extra/test/clang-doc/index.cpp
    A clang-tools-extra/test/clang-doc/json/array-type.cpp
    A clang-tools-extra/test/clang-doc/json/class-partial-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-requires.cpp
    M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-template.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp
    M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    A clang-tools-extra/test/clang-doc/json/function-pointer-type.cpp
    M clang-tools-extra/test/clang-doc/json/function-requires.cpp
    M clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
    M clang-tools-extra/test/clang-doc/json/inheritance.cpp
    A clang-tools-extra/test/clang-doc/json/member-function-pointer-type.cpp
    M clang-tools-extra/test/clang-doc/json/method-template.cpp
    M clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
    A clang-tools-extra/test/clang-doc/json/nested-pointer-qualifiers.cpp
    A clang-tools-extra/test/clang-doc/member-function-pointer-type.cpp
    A clang-tools-extra/test/clang-doc/nested-pointer-qualifiers.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/algorithm
    A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/iterator
    M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
    M clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-inline-asm.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-bitfield.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx17.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison-cxx98.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/missing-end-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
    M clang-tools-extra/test/clang-tidy/checkers/fuchsia/statically-constructed-objects.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/loop-convert/structures.h
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/crlf.cpp.expected
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-default-member-init/non-visible-references.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-crlf.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits-remove-cvref.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references-notes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-non-visible-references.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
    M clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/redundant-nested-if/common.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements-same-line.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-attributes.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-allow-bool-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx17-allow-bool-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx17.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx23.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-cxx26.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if-notes.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-nested-if.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-mac-libcxx.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/remarks.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    R clang/.clang-format-ignore
    M clang/CMakeLists.txt
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/xml/comment-xml-schema.rng
    M clang/cmake/caches/Fuchsia-stage2.cmake
    A clang/cmake/caches/generic-allow-shared-imports.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross-dist.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-defaults-dist.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dist.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib-dist.cmake
    M clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
    M clang/docs/CMakeLists.txt
    M clang/docs/ClangSYCLLinker.rst
    M clang/docs/ConstantInterpreter.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LifetimeSafety.rst
    M clang/docs/Multilib.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SafeStack.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/index.rst
    A clang/docs/ScalableStaticAnalysis/index.rst
    A clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/SummaryExtractionInternals.rst
    R clang/docs/ScalableStaticAnalysisFramework/developer-docs/index.rst
    R clang/docs/ScalableStaticAnalysisFramework/index.rst
    R clang/docs/ScalableStaticAnalysisFramework/user-docs/SummaryExtraction.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/developer-docs/IPA.rst
    M clang/docs/conf.py
    M clang/docs/doxygen.cfg.in
    R clang/docs/ghlinks.py
    M clang/docs/index.rst
    M clang/docs/tools/dump_ast_matchers.py
    M clang/include/clang-c/BuildSystem.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTTypeTraits.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/BaseSubobject.h
    M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
    M clang/include/clang/AST/CharUnits.h
    M clang/include/clang/AST/Comment.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DeclarationName.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/Mangle.h
    A clang/include/clang/AST/MatrixUtils.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/AST/TypeOrdering.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/Analysis/CFG.h
    M clang/include/clang/Analysis/CallGraph.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/Formula.h
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/Analysis/RetainSummaryManager.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    A clang/include/clang/Basic/BuiltinsAVR.def
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DirectoryEntry.h
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/FileManager.h
    R clang/include/clang/Basic/FileSystemStatCache.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/LangStandards.def
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/OpenCLOptions.h
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/PragmaKinds.h
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_sifive_vector.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    A clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
    A clang/include/clang/CIR/InitAllDialects.h
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    M clang/include/clang/Config/config.h.cmake
    M clang/include/clang/DependencyScanning/DependencyGraph.h
    M clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/Compilation.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Interpreter/IncrementalExecutor.h
    M clang/include/clang/Interpreter/Value.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/OptionUtils.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    A clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/BuiltinAnchorSources.def
    A clang/include/clang/ScalableStaticAnalysis/Core/ASTEntityMapping.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntitySummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/TUSummaryEncoding.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityId.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityIdTable.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityLinkage.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/EntityName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/PrivateFieldNames.def
    A clang/include/clang/ScalableStaticAnalysis/Core/Model/SummaryName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormat.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/LUSummaryConsumer.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryData.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataStore.h
    A clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataTraits.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Support/ErrorBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/Support/FormatProviders.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/EntitySummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummary.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummaryBuilder.h
    A clang/include/clang/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisBase.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisResult.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisTraits.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/DerivedAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/SummaryAnalysis.h
    A clang/include/clang/ScalableStaticAnalysis/Core/WholeProgramAnalysis/WPASuite.h
    A clang/include/clang/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.h
    A clang/include/clang/ScalableStaticAnalysis/SSAFBuiltinForceLinker.h
    A clang/include/clang/ScalableStaticAnalysis/SSAFForceLinker.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/SourceEditEmitter.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformation.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationReportEmitter.h
    A clang/include/clang/ScalableStaticAnalysis/Tool/Utils.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisBase.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisDriver.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisResult.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisTraits.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/SSAFForceLinker.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/include/clang/Sema/SemaCUDA.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenCL.h
    M clang/include/clang/Sema/Weak.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/Checker.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/AttrImpl.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.h
    M clang/lib/AST/ByteCode/Floating.h
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/InitMap.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/FormatString.cpp
    M clang/lib/AST/ItaniumCXXABI.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/ScanfFormatString.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/FormulaSerialization.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/DarwinSDKInfo.cpp
    M clang/lib/Basic/FileManager.cpp
    R clang/lib/Basic/FileSystemStatCache.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.cpp
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CIR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    A clang/lib/CIR/Dialect/IR/CIROpenCLAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/AMDGPU.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/NVPTX.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
    M clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    A clang/lib/CIR/RegisterAllDialects.cpp
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGObjCMacConstantLiteralUtil.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
    M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    A clang/lib/CodeGen/TargetBuiltins/AVR.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AIX.h
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.h
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.h
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.h
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Haiku.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hexagon.h
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSP430.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/Managarm.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OHOS.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.h
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.h
    M clang/lib/Driver/ToolChains/Serenity.cpp
    M clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/Solaris.h
    M clang/lib/Driver/ToolChains/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/ToolChains/XCore.cpp
    M clang/lib/Driver/ToolChains/XCore.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/ToolChains/ZOS.h
    M clang/lib/Driver/Types.cpp
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/FrontendTool/CMakeLists.txt
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_hip_libdevice_declares.h
    M clang/lib/Headers/__clang_hip_runtime_wrapper.h
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/arm64intr.h
    M clang/lib/Headers/avx512fintrin.h
    M clang/lib/Headers/avx512vlvnniintrin.h
    M clang/lib/Headers/avx512vnniintrin.h
    M clang/lib/Headers/avxvnniintrin.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/nvptxintrin.h
    A clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Headers/spirvintrin.h
    M clang/lib/Headers/wasm_simd128.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/InterpreterValuePrinter.cpp
    M clang/lib/Interpreter/Value.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Options/OptionUtils.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseTentative.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/CallGraph/CallGraphJSONFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/SSAFAnalysesCommon.h
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    A clang/lib/ScalableStaticAnalysis/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Core/ASTEntityMapping.cpp
    A clang/lib/ScalableStaticAnalysis/Core/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/BuildNamespace.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityId.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityIdTable.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityLinkage.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/EntityName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Model/SummaryName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/ModelStringConversions.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/Artifact.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/TUSummary.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/WPASuite.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Serialization/SerializationFormatRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/SummaryData/LUSummaryConsumer.cpp
    A clang/lib/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/Support/ErrorBuilder.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/ExtractorRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryBuilder.cpp
    A clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisName.cpp
    A clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Frontend/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/AnalysisResults.h
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/PairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/TagsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/Tool/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysis/Tool/Utils.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    R clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/AnalysisResults.h
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/PairsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
    R clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
    R clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaBase.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenCL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.h
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedNewArraySizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Yaml.h
    M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    R clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
    A clang/lib/StaticAnalyzer/Core/PrettyStackTraceStackFrame.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Core/WorkList.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/CompilationDatabase.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
    M clang/lib/Tooling/Tooling.cpp
    A clang/test/APINotes/Inputs/Headers/WhereParametersMapElement.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersMethodWhereSequence.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersMissingName.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersParser.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersScalar.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersUnknownWhereKey.apinotes
    A clang/test/APINotes/Inputs/Headers/WhereParametersWhereSequence.apinotes
    A clang/test/APINotes/Inputs/WhereParametersConvertDiag/APINotes.apinotes
    A clang/test/APINotes/Inputs/WhereParametersConvertDiag/WhereParametersConvertDiag.h
    M clang/test/APINotes/module-cache.m
    A clang/test/APINotes/where-parameters-convert-diags.cpp
    A clang/test/APINotes/where-parameters-yaml.test
    A clang/test/AST/ByteCode/blocks.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/builtins.c
    M clang/test/AST/ByteCode/c.c
    A clang/test/AST/ByteCode/codegen-cxx2a.cpp
    M clang/test/AST/ByteCode/codegen.c
    M clang/test/AST/ByteCode/codegen.cpp
    A clang/test/AST/ByteCode/command-line-options.cpp
    M clang/test/AST/ByteCode/complex.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    A clang/test/AST/ByteCode/dynamic-cast.cpp
    A clang/test/AST/ByteCode/evaluate-dtor-codegen.cpp
    M clang/test/AST/ByteCode/extern.cpp
    M clang/test/AST/ByteCode/intap.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    A clang/test/AST/ByteCode/libcxx/getfield-nonrecord.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/ByteCode/switch-case-steps.cpp
    M clang/test/AST/ByteCode/unions.cpp
    M clang/test/AST/HLSL/ConstantBuffers-AST-error.hlsl
    A clang/test/AST/HLSL/StructPassing-AST.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/matrix-constructors.hlsl
    M clang/test/AST/HLSL/matrix_layout_attr.hlsl
    M clang/test/AST/HLSL/semantic-output-struct-shadow.hlsl
    M clang/test/AST/HLSL/semantic-output-struct.hlsl
    M clang/test/AST/ast-dump-aarch64-mte.c
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-linkage-internal.cpp
    M clang/test/AST/ast-dump-linkage.cpp
    R clang/test/AST/ast-dump-openmp-atomic.c
    R clang/test/AST/ast-dump-openmp-barrier.c
    R clang/test/AST/ast-dump-openmp-cancel.c
    R clang/test/AST/ast-dump-openmp-cancellation-point.c
    R clang/test/AST/ast-dump-openmp-critical.c
    R clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-distribute.c
    R clang/test/AST/ast-dump-openmp-flush.c
    R clang/test/AST/ast-dump-openmp-for-simd.c
    R clang/test/AST/ast-dump-openmp-for.c
    R clang/test/AST/ast-dump-openmp-master.c
    R clang/test/AST/ast-dump-openmp-ordered.c
    R clang/test/AST/ast-dump-openmp-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-parallel-for.c
    R clang/test/AST/ast-dump-openmp-parallel-sections.c
    R clang/test/AST/ast-dump-openmp-parallel.c
    R clang/test/AST/ast-dump-openmp-section.c
    R clang/test/AST/ast-dump-openmp-sections.c
    R clang/test/AST/ast-dump-openmp-simd.c
    R clang/test/AST/ast-dump-openmp-single.c
    R clang/test/AST/ast-dump-openmp-split.c
    R clang/test/AST/ast-dump-openmp-target-data.c
    R clang/test/AST/ast-dump-openmp-target-enter-data.c
    R clang/test/AST/ast-dump-openmp-target-exit-data.c
    R clang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-target-parallel-for.c
    R clang/test/AST/ast-dump-openmp-target-parallel.c
    R clang/test/AST/ast-dump-openmp-target-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-target-teams-distribute.c
    R clang/test/AST/ast-dump-openmp-target-teams.c
    R clang/test/AST/ast-dump-openmp-target-update.c
    R clang/test/AST/ast-dump-openmp-target.c
    R clang/test/AST/ast-dump-openmp-task.c
    R clang/test/AST/ast-dump-openmp-taskgroup.c
    R clang/test/AST/ast-dump-openmp-taskloop-simd.c
    R clang/test/AST/ast-dump-openmp-taskloop.c
    R clang/test/AST/ast-dump-openmp-taskwait.c
    R clang/test/AST/ast-dump-openmp-taskyield.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
    R clang/test/AST/ast-dump-openmp-teams-distribute-simd.c
    R clang/test/AST/ast-dump-openmp-teams-distribute.c
    R clang/test/AST/ast-dump-openmp-teams.c
    A clang/test/AST/ast-dump-riscv-rvv-fixed-length-mask-types.c
    M clang/test/AST/ast-dump-templates-pattern.cpp
    A clang/test/AST/ast-print-amdgcn-predicate.c
    A clang/test/AST/attributed-type-dedup-address-space.c
    A clang/test/AST/attributed-type-dedup-annotate-type-args.c
    A clang/test/AST/attributed-type-dedup-annotate-type.m
    A clang/test/AST/attributed-type-dedup-nullability.m
    A clang/test/AST/attributed-type-dedup-objc-ownership.m
    A clang/test/AST/attributed-type-dedup-pcs.c
    A clang/test/AST/attributed-type-dedup-swift-attr.m
    A clang/test/AST/builtin-name-registration.c
    A clang/test/AST/dependent-assignment-classification.cpp
    A clang/test/AST/pr198903.cpp
    A clang/test/AST/tyloctype_alignment.cpp
    A clang/test/AST/undocumented-attrs.cpp
    A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
    A clang/test/ASTMerge/class-template-spec/test.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
    A clang/test/Analysis/Checkers/WebKit/nodelete-lazy-initialize.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-edges.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-id.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-empty.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-no-key.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-odd-count.json
    M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
    A clang/test/Analysis/Scalable/PointerFlow/entity-name-no-conflict.cpp
    A clang/test/Analysis/Scalable/PointerFlow/external-inline-function-in-multi-tu.test
    A clang/test/Analysis/Scalable/PointerFlow/lref-to-rref-cast.test
    A clang/test/Analysis/Scalable/PointerFlow/multi-decl-contributor.cpp
    A clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-epls.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-id.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-empty.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-no-key.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-odd-count.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
    M clang/test/Analysis/Scalable/call-graph.cpp
    A clang/test/Analysis/Scalable/cli-errors-compilation-unit-id.cpp
    M clang/test/Analysis/Scalable/command-line-interface.cpp
    M clang/test/Analysis/Scalable/downgradable-errors.cpp
    M clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp
    M clang/test/Analysis/Scalable/help.cpp
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json
    M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-lu-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-tu-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-wpa-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/unknown-type.json
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
    M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/id-table.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/linkage.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/summary-data.test
    A clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-syntax.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/mismatched-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-json-extension.txt
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/id-table.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/io.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/linkage.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/permissions.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/round-trip.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/summary-data.test
    A clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/mismatched-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
    A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
    M clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
    M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
    M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
    M clang/test/Analysis/analyzer-enabled-checkers.c
    A clang/test/Analysis/array-of-structs-initializer.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bstring.cpp
    M clang/test/Analysis/bstring_UninitRead.c
    M clang/test/Analysis/cstring-uninitread-notes.c
    A clang/test/Analysis/ctu/constraintsatisfaction.cpp
    M clang/test/Analysis/cxx23-assume-attribute.cpp
    M clang/test/Analysis/infeasible-crash.c
    M clang/test/Analysis/initialization.c
    M clang/test/Analysis/initialization.cpp
    A clang/test/Analysis/lifetime-end-simple-cfg-output.cpp
    A clang/test/Analysis/malloc-sizeof-fp.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/placement-new.cpp
    A clang/test/Analysis/pr169302.cpp
    M clang/test/Analysis/pr22954.c
    A clang/test/Analysis/pthreadlock-notes.c
    M clang/test/Analysis/std-c-library-functions-arg-constraints-tracking-notes.c
    M clang/test/Analysis/std-c-library-functions-arg-constraints.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/uninit-const.c
    M clang/test/Analysis/uninit-vals.m
    M clang/test/Analysis/wstring.c
    M clang/test/C/C23/n3037.c
    M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
    M clang/test/CIR/CodeGen/abstract-cond.c
    A clang/test/CIR/CodeGen/agg-atomic-cast.cpp
    M clang/test/CIR/CodeGen/agg-expr-lvalue.c
    M clang/test/CIR/CodeGen/agg-init-constexpr.cpp
    M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    M clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array-dtor.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/assign-operator.cpp
    M clang/test/CIR/CodeGen/assume-attr.cpp
    A clang/test/CIR/CodeGen/atomic-libcall.c
    M clang/test/CIR/CodeGen/atomic-thread-fence.c
    M clang/test/CIR/CodeGen/atomic.c
    M clang/test/CIR/CodeGen/base-to-derived.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/binassign.c
    A clang/test/CIR/CodeGen/bind-temporary-lvalue.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    A clang/test/CIR/CodeGen/bitfield-postinc.cpp
    M clang/test/CIR/CodeGen/bitfield-union.c
    M clang/test/CIR/CodeGen/bitfields.c
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/bitfields_be.c
    M clang/test/CIR/CodeGen/builtins-x86.c
    M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast-cxx20.cpp
    M clang/test/CIR/CodeGen/cast.c
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/choose-expr.cpp
    M clang/test/CIR/CodeGen/class.cpp
    M clang/test/CIR/CodeGen/cleanup-automatic-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    A clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-out.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-within.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-tmp-with-exception.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-tmp.cpp
    A clang/test/CIR/CodeGen/cleanup-throw-from-cleanup.cpp
    M clang/test/CIR/CodeGen/cleanup-throwing-dtor.cpp
    M clang/test/CIR/CodeGen/cleanup.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/comma.c
    M clang/test/CIR/CodeGen/complex-atomic-cast.c
    M clang/test/CIR/CodeGen/complex-builtins.cpp
    M clang/test/CIR/CodeGen/complex-cast.cpp
    M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
    M clang/test/CIR/CodeGen/complex-mul-div.cpp
    M clang/test/CIR/CodeGen/complex-plus-minus.cpp
    M clang/test/CIR/CodeGen/complex-unary.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    A clang/test/CIR/CodeGen/compound_literal.c
    M clang/test/CIR/CodeGen/compound_literal.cpp
    M clang/test/CIR/CodeGen/concept-specialization.cpp
    A clang/test/CIR/CodeGen/const-array-floating-point.c
    A clang/test/CIR/CodeGen/const-label-addr.c
    M clang/test/CIR/CodeGen/constant-expr.cpp
    M clang/test/CIR/CodeGen/constant-inits.cpp
    A clang/test/CIR/CodeGen/constexpr-ptr-offset.cpp
    M clang/test/CIR/CodeGen/copy-constructor.cpp
    A clang/test/CIR/CodeGen/coro-exceptions.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/count-of.c
    M clang/test/CIR/CodeGen/ctor-alias-prev-decl.cpp
    M clang/test/CIR/CodeGen/ctor-alias.cpp
    M clang/test/CIR/CodeGen/ctor-null-init.cpp
    M clang/test/CIR/CodeGen/ctor-try-body.cpp
    M clang/test/CIR/CodeGen/ctor.cpp
    M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
    A clang/test/CIR/CodeGen/cxx-construct-lvalue.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    M clang/test/CIR/CodeGen/cxx-default-init.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
    M clang/test/CIR/CodeGen/cxx-traits.cpp
    M clang/test/CIR/CodeGen/cxx23-explicit-object-member.cpp
    M clang/test/CIR/CodeGen/defaultarg.cpp
    M clang/test/CIR/CodeGen/deferred-fn-defs.cpp
    M clang/test/CIR/CodeGen/delegating-ctor-exceptions.cpp
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    M clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
    M clang/test/CIR/CodeGen/delete-array-unsized-dtor.cpp
    M clang/test/CIR/CodeGen/delete-array.cpp
    M clang/test/CIR/CodeGen/delete-destroying.cpp
    M clang/test/CIR/CodeGen/delete.cpp
    M clang/test/CIR/CodeGen/derived-to-base.cpp
    M clang/test/CIR/CodeGen/destructors.cpp
    M clang/test/CIR/CodeGen/dtor-alias-prev-decl.cpp
    M clang/test/CIR/CodeGen/dtor-alias.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/dumb-record.cpp
    M clang/test/CIR/CodeGen/dynamic-cast.cpp
    M clang/test/CIR/CodeGen/embed-expr.c
    M clang/test/CIR/CodeGen/empty-union.c
    M clang/test/CIR/CodeGen/empty-union.cpp
    M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
    M clang/test/CIR/CodeGen/fixed-point-literal.c
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/test/CIR/CodeGen/forward-decls.cpp
    A clang/test/CIR/CodeGen/func-linkage-weak-import.c
    M clang/test/CIR/CodeGen/generic-selection.c
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    A clang/test/CIR/CodeGen/global-pointer-array-fast-lowering.cpp
    A clang/test/CIR/CodeGen/global-temp-dtor.cpp
    M clang/test/CIR/CodeGen/gnu-null.cpp
    M clang/test/CIR/CodeGen/gnu-ptr-math.c
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/implicit-return-zero.c
    M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/init-list-lvalue.cpp
    M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
    M clang/test/CIR/CodeGen/inline-asm.c
    M clang/test/CIR/CodeGen/inline-cxx-func.cpp
    A clang/test/CIR/CodeGen/inline-extern-force-codegen.c
    A clang/test/CIR/CodeGen/inline-forward-decl.c
    M clang/test/CIR/CodeGen/instantiate-init.cpp
    M clang/test/CIR/CodeGen/kr-func-promote.c
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/label.c
    M clang/test/CIR/CodeGen/lambda-decomp-decl-captures.cpp
    M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    M clang/test/CIR/CodeGen/launder.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
    M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/mem-expr-fn.cpp
    M clang/test/CIR/CodeGen/member-functions.cpp
    A clang/test/CIR/CodeGen/member-pointer-null-init.cpp
    M clang/test/CIR/CodeGen/mms-bitfields.c
    M clang/test/CIR/CodeGen/multi-vtable.cpp
    M clang/test/CIR/CodeGen/new-array-in-ternary.cpp
    M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/new-delete.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    M clang/test/CIR/CodeGen/noexcept.cpp
    M clang/test/CIR/CodeGen/non-scalar-lval-return.cpp
    M clang/test/CIR/CodeGen/non-type-template-param.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/opaque.c
    M clang/test/CIR/CodeGen/opaque.cpp
    M clang/test/CIR/CodeGen/openmp_default_simd_align.c
    M clang/test/CIR/CodeGen/pack-indexing.cpp
    M clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/pass-object-size.c
    M clang/test/CIR/CodeGen/placement-new.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
    M clang/test/CIR/CodeGen/record-type-metadata.cpp
    M clang/test/CIR/CodeGen/record-with-padded-union.cpp
    M clang/test/CIR/CodeGen/record-zero-init-padding.c
    M clang/test/CIR/CodeGen/replace-global.cpp
    M clang/test/CIR/CodeGen/requires-expr.cpp
    M clang/test/CIR/CodeGen/self-assign.c
    M clang/test/CIR/CodeGen/self-ref-temporaries.cpp
    M clang/test/CIR/CodeGen/size-of-vla.cpp
    M clang/test/CIR/CodeGen/source-loc.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    M clang/test/CIR/CodeGen/static-local-arm-guard.cpp
    A clang/test/CIR/CodeGen/static-local-nested-reference.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/static-members.cpp
    M clang/test/CIR/CodeGen/stmt-expr.cpp
    A clang/test/CIR/CodeGen/string-literal-high-bytes.c
    M clang/test/CIR/CodeGen/string-literals.cpp
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/struct.c
    M clang/test/CIR/CodeGen/struct.cpp
    A clang/test/CIR/CodeGen/switch-cleanup.cpp
    A clang/test/CIR/CodeGen/switch-pre-case-stmts.cpp
    M clang/test/CIR/CodeGen/switch.cpp
    M clang/test/CIR/CodeGen/switch_flat_op.cpp
    M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
    M clang/test/CIR/CodeGen/template-specialization.cpp
    M clang/test/CIR/CodeGen/temporary-materialization-adjust.cpp
    M clang/test/CIR/CodeGen/temporary-materialization.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/thread-local-in-func.cpp
    M clang/test/CIR/CodeGen/three-way-cmp.cpp
    M clang/test/CIR/CodeGen/throws.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
    A clang/test/CIR/CodeGen/trivially-recursive-skip.cpp
    M clang/test/CIR/CodeGen/try-catch-all-with-cleanup.cpp
    M clang/test/CIR/CodeGen/try-catch-non-trivial-copy.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    M clang/test/CIR/CodeGen/try-no-throwing-calls.cpp
    M clang/test/CIR/CodeGen/typedef.c
    A clang/test/CIR/CodeGen/unary-expr-or-type-trait-32bit.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/union-agg-init.c
    M clang/test/CIR/CodeGen/union-agg-init.cpp
    M clang/test/CIR/CodeGen/union.c
    M clang/test/CIR/CodeGen/union.cpp
    M clang/test/CIR/CodeGen/var-arg-aggregate.c
    M clang/test/CIR/CodeGen/var_arg.c
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGen/variable-template-specialization.cpp
    M clang/test/CIR/CodeGen/vbase.cpp
    A clang/test/CIR/CodeGen/vector-binop-overflow.cpp
    A clang/test/CIR/CodeGen/vector-convert-to-bool.c
    M clang/test/CIR/CodeGen/vector-ext-element.cpp
    M clang/test/CIR/CodeGen/vector-ext.cpp
    M clang/test/CIR/CodeGen/vector.cpp
    M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
    M clang/test/CIR/CodeGen/virtual-fn-calls-eh.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    M clang/test/CIR/CodeGen/vla-pointer-arith.c
    M clang/test/CIR/CodeGen/vla.c
    M clang/test/CIR/CodeGen/vtable-emission.cpp
    M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
    M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
    M clang/test/CIR/CodeGen/vtt.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
    M clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bcopy.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit-cast.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
    A clang/test/CIR/CodeGenBuiltins/builtin-nontemporal.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
    M clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-bitwise.c
    M clang/test/CIR/CodeGenBuiltins/builtin-setjmp-longjmp.c
    M clang/test/CIR/CodeGenBuiltins/builtin-signbit.c
    A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    A clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    M clang/test/CIR/CodeGenCUDA/device-printf.cu
    M clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenCXX/global-refs.cpp
    M clang/test/CIR/CodeGenCXX/lvalue-nttp.cpp
    M clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
    M clang/test/CIR/CodeGenCXX/new-array-init.cpp
    M clang/test/CIR/CodeGenCXX/simple-reinterpret-const-cast.cpp
    M clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
    M clang/test/CIR/CodeGenCXX/typeid.cpp
    M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CIR/CodeGenCXX/vtable-virt-thunk-adj.cpp
    M clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    A clang/test/CIR/CodeGenHIP/device-var-registration.hip
    M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-read.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
    M clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c
    A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
    M clang/test/CIR/CodeGenOpenCL/as_type.cl
    M clang/test/CIR/CodeGenOpenCL/vector.cl
    M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
    M clang/test/CIR/CodeGenOpenMP/parallel.c
    M clang/test/CIR/IR/alloca.cir
    M clang/test/CIR/IR/array-ctor.cir
    M clang/test/CIR/IR/array-dtor.cir
    M clang/test/CIR/IR/array.cir
    M clang/test/CIR/IR/binassign.cir
    M clang/test/CIR/IR/bitfield_info.cir
    A clang/test/CIR/IR/builtin-int-cast.cir
    M clang/test/CIR/IR/cmp.cir
    M clang/test/CIR/IR/construct-catch-param.cir
    M clang/test/CIR/IR/copy.cir
    M clang/test/CIR/IR/dynamic-cast.cir
    M clang/test/CIR/IR/func-attrs.cir
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/IR/global-init.cir
    M clang/test/CIR/IR/indirect-br.cir
    M clang/test/CIR/IR/inline-asm.cir
    M clang/test/CIR/IR/invalid-addrspace.cir
    M clang/test/CIR/IR/invalid-array-structor.cir
    A clang/test/CIR/IR/invalid-bit.cir
    A clang/test/CIR/IR/invalid-builtin-int-cast.cir
    M clang/test/CIR/IR/invalid-cast.cir
    M clang/test/CIR/IR/invalid-complex.cir
    M clang/test/CIR/IR/invalid-const-record.cir
    M clang/test/CIR/IR/invalid-construct-catch-param.cir
    M clang/test/CIR/IR/invalid-data-member.cir
    M clang/test/CIR/IR/invalid-delete-array.cir
    M clang/test/CIR/IR/invalid-dyn-cast.cir
    A clang/test/CIR/IR/invalid-lifetime.cir
    A clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/invalid-struct.cir
    M clang/test/CIR/IR/invalid-throw.cir
    M clang/test/CIR/IR/invalid-try-catch.cir
    M clang/test/CIR/IR/invalid-type-info.cir
    M clang/test/CIR/IR/invalid-vtable.cir
    A clang/test/CIR/IR/lifetime.cir
    M clang/test/CIR/IR/method-attr.cir
    A clang/test/CIR/IR/openacc.cir
    A clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/resume-flat.cir
    M clang/test/CIR/IR/struct.cir
    M clang/test/CIR/IR/throw.cir
    M clang/test/CIR/IR/unary.cir
    M clang/test/CIR/IR/vector.cir
    M clang/test/CIR/IR/vtable-addrpt.cir
    M clang/test/CIR/IR/vtable-attr.cir
    M clang/test/CIR/IR/vtt-addrpoint.cir
    M clang/test/CIR/Lowering/address-space.cir
    M clang/test/CIR/Lowering/alloca.cir
    M clang/test/CIR/Lowering/binop-bool.cir
    M clang/test/CIR/Lowering/binop-fp.cir
    M clang/test/CIR/Lowering/binop-signed-int.cir
    M clang/test/CIR/Lowering/binop-unsigned-int.cir
    A clang/test/CIR/Lowering/builtin-int-cast.cir
    A clang/test/CIR/Lowering/call-llvm-intrinsic.cir
    M clang/test/CIR/Lowering/cast.cir
    A clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    A clang/test/CIR/Lowering/const-array-of-pointers.cir
    M clang/test/CIR/Lowering/goto.cir
    M clang/test/CIR/Lowering/inline-asm.cir
    A clang/test/CIR/Lowering/lifetime.cir
    M clang/test/CIR/Lowering/omp-target-map.cir
    M clang/test/CIR/Lowering/resume-flat.cir
    M clang/test/CIR/Lowering/struct.cir
    M clang/test/CIR/Lowering/switch.cir
    M clang/test/CIR/Lowering/vtt-addrpoint.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
    A clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-after-ignore.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-return.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/extend-unsigned-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
    A clang/test/CIR/Transforms/builtin-int-cast-fold.cir
    M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
    M clang/test/CIR/Transforms/canonicalize.cir
    M clang/test/CIR/Transforms/complex-create-fold.cir
    M clang/test/CIR/Transforms/complex-imag-fold.cir
    M clang/test/CIR/Transforms/complex-real-fold.cir
    M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
    M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
    M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
    M clang/test/CIR/Transforms/flatten-try-op.cir
    M clang/test/CIR/Transforms/goto_solver.cir
    M clang/test/CIR/Transforms/hoist-allocas.cir
    M clang/test/CIR/Transforms/mem2reg.cir
    M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
    M clang/test/CIR/Transforms/scope.cir
    M clang/test/CIR/Transforms/switch-fold.cir
    M clang/test/CIR/Transforms/switch.cir
    M clang/test/CIR/Transforms/ternary-fold.cir
    M clang/test/CIR/Transforms/ternary.cir
    M clang/test/CIR/Transforms/vector-extract-fold.cir
    M clang/test/CIR/func-simple.cpp
    M clang/test/CMakeLists.txt
    A clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/class/class.friend/p6.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
    M clang/test/CXX/dcl/dcl.fct/p17.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp
    A clang/test/CXX/lex/lex.header/p2.cpp
    M clang/test/CXX/module/cpp.pre/module_decl.cpp
    M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    M clang/test/ClangScanDeps/modules-context-hash.c
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
    M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-lane-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-ldst-intrinsics.c
    M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
    A clang/test/CodeGen/AArch64/f16f32dot-intrinsics.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/ls64-inline-asm.c
    A clang/test/CodeGen/AArch64/mskernel-interlocked.c
    M clang/test/CodeGen/AArch64/neon-2velem.c
    R clang/test/CodeGen/AArch64/neon-across.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-luti.c
    M clang/test/CodeGen/AArch64/neon-misc-constrained.c
    M clang/test/CodeGen/AArch64/neon-misc.c
    M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    A clang/test/CodeGen/AArch64/neon/add.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    A clang/test/CodeGen/AArch64/neon/conversion-fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c
    M clang/test/CodeGen/AArch64/neon/getset.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    A clang/test/CodeGen/AArch64/neon/subtraction.c
    A clang/test/CodeGen/AArch64/neon/widen.c
    R clang/test/CodeGen/AArch64/poly-add.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
    A clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_fp_int_cvtn_x2.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2_int_fp_cvt.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    M clang/test/CodeGen/Inputs/stdbit.h
    M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
    M clang/test/CodeGen/LoongArch/lasx/builtin.c
    M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
    A clang/test/CodeGen/PowerPC/pragma-comment-copyright-modules.cpp
    A clang/test/CodeGen/PowerPC/pragma-comment.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/bitint.c
    M clang/test/CodeGen/RISCV/riscv-cf-protection.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    A clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e4m3.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e5m2.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_s.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_u.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_s.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_u.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
    M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    A clang/test/CodeGen/SystemZ/zos-abi.c
    A clang/test/CodeGen/SystemZ/zos-abi.cpp
    M clang/test/CodeGen/WebAssembly/builtins-table-externref.c
    M clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
    M clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
    M clang/test/CodeGen/WebAssembly/wasm-arguments.c
    M clang/test/CodeGen/WebAssembly/wasm-externref.c
    A clang/test/CodeGen/WebAssembly/wasm-funcref-to-ptr-error.c
    M clang/test/CodeGen/WebAssembly/wasm-funcref.c
    A clang/test/CodeGen/WebAssembly/wasm-swiftasynccall.c
    M clang/test/CodeGen/X86/avx-cxx-record.cpp
    M clang/test/CodeGen/X86/avx2-builtins.c
    M clang/test/CodeGen/X86/avx512f-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/avx512f-builtins.c
    M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
    M clang/test/CodeGen/X86/avx512vl-builtins.c
    M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
    M clang/test/CodeGen/X86/avx512vlvnni-builtins.c
    M clang/test/CodeGen/X86/avx512vnni-builtins.c
    M clang/test/CodeGen/X86/avxvnni-builtins.c
    M clang/test/CodeGen/X86/bmi2-builtins.c
    A clang/test/CodeGen/X86/mskernel-interlocked.c
    M clang/test/CodeGen/X86/sse41-builtins.c
    M clang/test/CodeGen/allow-ubsan-check.c
    R clang/test/CodeGen/amdgpu-abi-struct-coerce.c
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGen/amdgpu-variadic-call.c
    M clang/test/CodeGen/arm-bf16-reinterpret-intrinsics.c
    M clang/test/CodeGen/arm-cmse-attr.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/arm64-mte.c
    M clang/test/CodeGen/arm_neon_intrinsics.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
    M clang/test/CodeGen/attr-counted-by-for-pointers.c
    A clang/test/CodeGen/attr-counted-by-issue200014.c
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/avr/avr-builtins.c
    A clang/test/CodeGen/builtin-clear-padding-codegen.c
    A clang/test/CodeGen/builtin-masked-addrspace.c
    M clang/test/CodeGen/builtin-masked.c
    A clang/test/CodeGen/builtin-stdc-memreverse8.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-nvptx-native-half-type.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/cfi-check-fail2-nomerge.c
    M clang/test/CodeGen/construction-vtable-visibility.cpp
    M clang/test/CodeGen/convergent-functions.cpp
    M clang/test/CodeGen/epilog-unwind.c
    M clang/test/CodeGen/glibc_ptr_align.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/link-builtin-bitcode.c
    M clang/test/CodeGen/lto-newpm-pipeline.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/math-libcalls-tbaa.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/pointer-arithmetic-align.c
    A clang/test/CodeGen/prefetch-poison-arg.c
    M clang/test/CodeGen/promoted-complex-div.c
    M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/split-lto-unit-input.cpp
    M clang/test/CodeGen/stack-clash-protection.c
    M clang/test/CodeGen/svboolx2_t.cpp
    M clang/test/CodeGen/svboolx4_t.cpp
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/target-data.c
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    M clang/test/CodeGen/transparent-union-type.c
    A clang/test/CodeGen/ubsan-aggregate-null-align-bounds.c
    R clang/test/CodeGen/ubsan-aggregate-null-align.c
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGen/unique-internal-linkage-names.c
    M clang/test/CodeGen/unique-internal-linkage-names.cpp
    A clang/test/CodeGen/winx64-eh-unwind-egpr.c
    A clang/test/CodeGen/wrapv.c
    M clang/test/CodeGen/zero-call-used-regs.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/device-vtable.cu
    A clang/test/CodeGenCUDA/implicit-hd-dtor-trap-stub-hip.hip
    A clang/test/CodeGenCUDA/implicit-hd-explicit-inst-hip.hip
    A clang/test/CodeGenCUDA/implicit-hd-overload-ambig-hip.hip
    M clang/test/CodeGenCUDA/managed-var.cu
    M clang/test/CodeGenCUDA/record-layout.cu
    M clang/test/CodeGenCXX/PR26569.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
    A clang/test/CodeGenCXX/aarch64-mangle-sme-attrs-ms.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-fixed-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-sve-fixedtypeinfo.cpp
    M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
    M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
    M clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
    A clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
    M clang/test/CodeGenCXX/cfi-cross-dso.cpp
    A clang/test/CodeGenCXX/cl-pathmap.cpp
    M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
    M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
    M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
    A clang/test/CodeGenCXX/cxx20-nttp-object-layout.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/dso-local-executable.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/internal-linkage.cpp
    M clang/test/CodeGenCXX/key-function-vtable.cpp
    M clang/test/CodeGenCXX/mangle-ms-md5.cpp
    M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
    M clang/test/CodeGenCXX/mangle-subst-std.cpp
    M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/modules-vtable.cppm
    M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
    M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
    A clang/test/CodeGenCXX/noreturn-init-stmt.cpp
    M clang/test/CodeGenCXX/pr70585.cppm
    M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/type-metadata.cpp
    M clang/test/CodeGenCXX/type_visibility.cpp
    M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
    M clang/test/CodeGenCXX/virt-template-vtable.cpp
    M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-align-address-space.cpp
    M clang/test/CodeGenCXX/vtable-align.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-available-externally.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
    M clang/test/CodeGenCXX/vtable-constexpr.cpp
    M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
    M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
    M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
    M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
    M clang/test/CodeGenCXX/vtable-key-function.cpp
    M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
    M clang/test/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenCXX/wasm-reftypes-mangle.cpp
    M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
    A clang/test/CodeGenCoroutines/coro-cwg2935.cpp
    M clang/test/CodeGenCoroutines/coro-gro4.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-03.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
    M clang/test/CodeGenCoroutines/pr65018.cpp
    M clang/test/CodeGenDirectX/Builtins/dot2add.c
    M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
    M clang/test/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    A clang/test/CodeGenHIP/offload-pgo-sections.hip
    A clang/test/CodeGenHIP/profile-coverage-mapping.hip
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    M clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/OutArgLifetime.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/BoolMatrix.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
    A clang/test/CodeGenHLSL/Inputs/a.hlsl
    A clang/test/CodeGenHLSL/Inputs/b.hlsl
    M clang/test/CodeGenHLSL/Operators/logical-not.hlsl
    A clang/test/CodeGenHLSL/SysInputs/c.hlsl
    M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
    M clang/test/CodeGenHLSL/builtins/BoolSwizzles.hlsl
    A clang/test/CodeGenHLSL/builtins/InterlockedAdd.hlsl
    A clang/test/CodeGenHLSL/builtins/QuadReadAcrossDiagonal.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2-overloads_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-coarse.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
    M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/splitdouble_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
    A clang/test/CodeGenHLSL/cbuffer-matrix-layout-keyword.hlsl
    M clang/test/CodeGenHLSL/cbuffer_copy_layout.hlsl
    M clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
    M clang/test/CodeGenHLSL/convergence/do.while.hlsl
    M clang/test/CodeGenHLSL/convergence/entry.point.hlsl
    M clang/test/CodeGenHLSL/convergence/for.hlsl
    M clang/test/CodeGenHLSL/convergence/global_array.hlsl
    M clang/test/CodeGenHLSL/convergence/while.hlsl
    M clang/test/CodeGenHLSL/debug/source-language.hlsl
    A clang/test/CodeGenHLSL/dx-source-metadata-disabled.hlsl
    A clang/test/CodeGenHLSL/dx-source-metadata-includes.hlsl
    A clang/test/CodeGenHLSL/dx-source-metadata-mailformed-command-line.hlsl
    A clang/test/CodeGenHLSL/dx-source-metadata.hlsl
    M clang/test/CodeGenHLSL/lit.local.cfg
    A clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
    A clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
    A clang/test/CodeGenHLSL/preserve-interface.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
    A clang/test/CodeGenHLSL/resources/ConstantBufferT.hlsl
    M clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-GetDimensions.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer-empty-struct-array.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
    M clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
    M clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl
    A clang/test/CodeGenHLSL/resources/res-array-global-to-local.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local1.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local3.hlsl
    M clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
    A clang/test/CodeGenHLSL/resources/resources-in-structs-array-to-local.hlsl
    M clang/test/CodeGenHLSL/resources/resources-in-structs-array.hlsl
    M clang/test/CodeGenHLSL/resources/resources-in-structs-inheritance.hlsl
    M clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
    M clang/test/CodeGenHLSL/this-assignment.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/as_type.cl
    M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1251-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
    M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/preserve_vec3.cl
    M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
    R clang/test/CodeGenSYCL/filescope_asm.c
    A clang/test/CodeGenSYCL/filescope_asm.cpp
    M clang/test/DebugInfo/CXX/line.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
    M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
    A clang/test/DebugInfo/Generic/attr-btf_type_tag-typedef-no-ptr.c
    M clang/test/DebugInfo/Generic/cfi-icall-generalize-debuginfo.c
    M clang/test/DebugInfo/Generic/macro.c
    M clang/test/DebugInfo/Generic/sysroot-sdk.c
    M clang/test/DebugInfo/Generic/ubsan-function-debuginfo.c
    R clang/test/Driver/Inputs/SYCL/bar.ll
    R clang/test/Driver/Inputs/SYCL/baz.ll
    R clang/test/Driver/Inputs/SYCL/foo.ll
    R clang/test/Driver/Inputs/SYCL/libLLVMSYCL.ll
    A clang/test/Driver/Inputs/empty.h
    A clang/test/Driver/Inputs/module.modulemap
    A clang/test/Driver/Inputs/multilib_msvc_tree/bin/.keep
    A clang/test/Driver/Inputs/multilib_msvc_tree/include/x86_64-pc-windows-msvc/.keep
    A clang/test/Driver/Inputs/multilib_msvc_tree/include/x86_64-pc-windows-msvc/debug/.keep
    A clang/test/Driver/Inputs/multilib_msvc_tree/include/x86_64-pc-windows-msvc/noexcept/.keep
    A clang/test/Driver/Inputs/multilib_msvc_tree/include/x86_64-pc-windows-msvc/release/.keep
    A clang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_12-5-generic.bc
    M clang/test/Driver/aarch64-cortex-a35.c
    M clang/test/Driver/aarch64-cortex-a53.c
    M clang/test/Driver/aarch64-cortex-a55.c
    M clang/test/Driver/aarch64-cortex-a57.c
    M clang/test/Driver/aarch64-cortex-a72.c
    M clang/test/Driver/aarch64-cortex-a73.c
    M clang/test/Driver/aarch64-cortex-a75.c
    M clang/test/Driver/aarch64-cortex-a76.c
    M clang/test/Driver/aarch64-fp16.c
    A clang/test/Driver/aarch64-hip12.c
    M clang/test/Driver/aarch64-march.c
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Driver/aarch64-oryon-1.c
    M clang/test/Driver/aarch64-thunderx2t99.c
    M clang/test/Driver/aarch64-thunderx3t110.c
    M clang/test/Driver/aarch64-v81a.c
    M clang/test/Driver/aarch64-v83a.c
    M clang/test/Driver/aarch64-v84a.c
    M clang/test/Driver/aarch64-v8a.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/amdgpu-validate-sanitize.cl
    A clang/test/Driver/amdgpu-xnack-sramecc-flags.c
    A clang/test/Driver/cl-deterministic.c
    M clang/test/Driver/cl-options.c
    A clang/test/Driver/cl-pathmap.c
    M clang/test/Driver/cl-x86-flags.c
    R clang/test/Driver/clang-offload-bundler-asserts-on.c
    A clang/test/Driver/clang-offload-bundler-multi-compress.c
    R clang/test/Driver/clang-offload-bundler-standardize.c
    R clang/test/Driver/clang-offload-bundler-zlib.c
    R clang/test/Driver/clang-offload-bundler-zstd.c
    R clang/test/Driver/clang-offload-bundler.c
    M clang/test/Driver/clang_wrapv_opts.c
    M clang/test/Driver/crash-diagnostics-dir-3.c
    M clang/test/Driver/crash-diagnostics-dir.c
    A clang/test/Driver/crash-diagnostics-modules.c
    A clang/test/Driver/crash-diagnostics-tar.c
    M clang/test/Driver/crash-ir-repro.cpp
    M clang/test/Driver/crash-report-clang-cl.cpp
    M clang/test/Driver/crash-report-crashfile.m
    M clang/test/Driver/crash-report-header.h
    M clang/test/Driver/crash-report-modules.m
    M clang/test/Driver/crash-report-multi-arch.c
    M clang/test/Driver/crash-report-null.test
    M clang/test/Driver/crash-report-spaces.c
    M clang/test/Driver/crash-report-with-asserts.c
    M clang/test/Driver/crash-report.cpp
    M clang/test/Driver/driverkit-path.c
    A clang/test/Driver/driverkit26-boundary.c
    M clang/test/Driver/dxc_debug.hlsl
    A clang/test/Driver/dxc_fspv_preserve_interface.hlsl
    A clang/test/Driver/dxc_section_emission.hlsl
    R clang/test/Driver/fat-archive-unbundle-ext.c
    M clang/test/Driver/femit-dwarf-unwind.c
    M clang/test/Driver/femit-dwarf-unwind.s
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/fsanitize-realtime.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/hexagon-toolchain-picolibc.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-include-path.hip
    M clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-offload-compress-zlib.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/hip-options.hip
    M clang/test/Driver/hip-phases.hip
    A clang/test/Driver/hip-profile-rocm-runtime.hip
    M clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-runtime-libs-linux.hip
    M clang/test/Driver/hip-sanitize-options.hip
    M clang/test/Driver/hip-save-temps.hip
    M clang/test/Driver/hip-spirv-backend-bindings.c
    M clang/test/Driver/hip-spirv-backend-opt.c
    M clang/test/Driver/hip-spirv-backend-phases.c
    M clang/test/Driver/hip-spirv-linker-crash.c
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-device-only.hip
    M clang/test/Driver/hip-toolchain-features.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
    M clang/test/Driver/hip-toolchain-rdc-separate.hip
    M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    M clang/test/Driver/hip-unbundle-preproc.hipi
    M clang/test/Driver/hip-version.hip
    M clang/test/Driver/hipspv-toolchain-rdc-separate.hip
    M clang/test/Driver/hipspv-toolchain-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/invalid-target-id.cl
    R clang/test/Driver/link-device-code.test
    R clang/test/Driver/linker-wrapper-canonical-prefixes.c
    R clang/test/Driver/linker-wrapper-hip-amdgcnspirv.c
    R clang/test/Driver/linker-wrapper-hip-no-rdc.c
    R clang/test/Driver/linker-wrapper-image.c
    R clang/test/Driver/linker-wrapper-llvm-help.c
    R clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/lld-repro.c
    M clang/test/Driver/lto.c
    M clang/test/Driver/modules-driver-dep-graph-stdlib-modules.cpp
    M clang/test/Driver/modules-driver-import-std.cpp
    M clang/test/Driver/msvc-link.c
    A clang/test/Driver/msvc-multilib.yaml
    R clang/test/Driver/nvlink-wrapper.c
    M clang/test/Driver/objc-constant-literals.m
    A clang/test/Driver/offload-darwin-host.hip
    M clang/test/Driver/offload-target.c
    M clang/test/Driver/opencl.cl
    A clang/test/Driver/openmp-Xopenmp-target-forward-args.c
    M clang/test/Driver/openmp-offload-gpu.c
    A clang/test/Driver/print-enabled-extensions/aarch64-hip12.c
    M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/ps4-ps5-toolchain.c
    M clang/test/Driver/ps5-linker.c
    A clang/test/Driver/riscv-mtune-tune-features.c
    A clang/test/Driver/riscv-zilsd-word-align.c
    M clang/test/Driver/rocm-detect-lib-llvm.hip
    M clang/test/Driver/rocm-detect.hip
    A clang/test/Driver/simple-darwin.c
    M clang/test/Driver/spirv-amd-toolchain.c
    M clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/split-debug.c
    M clang/test/Driver/stack-protector-guard.c
    M clang/test/Driver/sycl-link-spirv-target.cpp
    M clang/test/Driver/sycl-offload-jit-unix.cpp
    M clang/test/Driver/sycl-offload-jit.cpp
    A clang/test/Driver/sycl-print-internal-defines.cpp
    M clang/test/Driver/sycl-windows.cpp
    M clang/test/Driver/sycl.cpp
    M clang/test/Driver/target-id.cl
    M clang/test/Driver/unknown-std.cl
    M clang/test/Driver/wasm-toolchain.c
    A clang/test/Driver/winx64-eh-unwind.c
    M clang/test/Driver/x86-march.c
    M clang/test/Driver/x86-target-features.c
    A clang/test/Driver/zos-err-options.c
    M clang/test/Format/lit.local.cfg
    M clang/test/Frontend/spirv-target-validation.c
    A clang/test/Frontend/sycl-c-input-error.cpp
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/Headers/__clang_hip_libdevice_declares.cpp
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/__cpuidex_conflict.c
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c
    A clang/test/Headers/hip-constexpr-cmath.hip
    M clang/test/Headers/openmp-device-functions-bool.c
    M clang/test/Headers/openmp_device_math_isnan.cpp
    M clang/test/Headers/wasm.c
    A clang/test/Index/Inputs/CommentXML/invalid-concept-01.xml
    A clang/test/Index/Inputs/CommentXML/valid-concept-01.xml
    A clang/test/Index/Inputs/CommentXML/valid-concept-02.xml
    M clang/test/Index/comment-xml-schema.c
    M clang/test/Index/index-builtin-sve.cpp
    A clang/test/Index/print-type-predefined-sugar.cpp
    M clang/test/InstallAPI/binary-attributes.test
    M clang/test/InstallAPI/diagnostics-zippered.test
    M clang/test/InstallAPI/directory-scanning-dylib.test
    M clang/test/InstallAPI/directory-scanning-frameworks.test
    M clang/test/InstallAPI/directory-scanning-subdirectories.test
    M clang/test/InstallAPI/exclusive-passes-zippered.test
    M clang/test/InstallAPI/extra-exclude-headers.test
    M clang/test/InstallAPI/forwarded-search-paths.test
    M clang/test/InstallAPI/umbrella-headers-unix.test
    M clang/test/InstallAPI/umbrella-headers.test
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/target-invalid-cpu-note/x86.c
    M clang/test/Modules/add-remove-private.m
    A clang/test/Modules/asm-stmt-odr.cppm
    M clang/test/Modules/build-session-validation-relocated-modules.c
    M clang/test/Modules/crash-vfs-headermaps.m
    M clang/test/Modules/crash-vfs-include-pch.m
    M clang/test/Modules/crash-vfs-ivfsoverlay.m
    M clang/test/Modules/crash-vfs-path-emptydir-entries.m
    M clang/test/Modules/crash-vfs-path-symlink-component.m
    M clang/test/Modules/crash-vfs-path-symlink-topheader.m
    M clang/test/Modules/crash-vfs-path-traversal.m
    M clang/test/Modules/crash-vfs-relative-incdir.m
    M clang/test/Modules/crash-vfs-relative-overlay.m
    M clang/test/Modules/crash-vfs-run-reproducer.m
    M clang/test/Modules/crash-vfs-umbrella-frameworks.m
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/Modules/debug-info-moduleimport.m
    M clang/test/Modules/dependent-module-different-location.m
    M clang/test/Modules/implicit-invalidate-common.c
    M clang/test/Modules/include-relative.c
    A clang/test/Modules/pr195905.cppm
    M clang/test/Modules/relative-import-path.c
    M clang/test/Modules/safe_buffers_optout.cpp
    A clang/test/Modules/template-default-args-2.cpp
    A clang/test/Modules/template-default-args-3.cpp
    M clang/test/Modules/vtable-windows.cppm
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-canonical-prefixes.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-amdgcnspirv.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc-amdgcnspirv.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-llvm-help.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
    A clang/test/OffloadTools/clang-linker-wrapper/lit.local.cfg
    A clang/test/OffloadTools/clang-linker-wrapper/openmp-spirv.cpp
    A clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
    A clang/test/OffloadTools/clang-offload-bundler/asserts-on.c
    A clang/test/OffloadTools/clang-offload-bundler/basic.c
    A clang/test/OffloadTools/clang-offload-bundler/fat-archive-unbundle-ext.c
    A clang/test/OffloadTools/clang-offload-bundler/standardize.c
    A clang/test/OffloadTools/clang-offload-bundler/zlib.c
    A clang/test/OffloadTools/clang-offload-bundler/zstd.c
    A clang/test/OffloadTools/clang-sycl-linker/archive-extras.ll
    A clang/test/OffloadTools/clang-sycl-linker/basic.ll
    A clang/test/OffloadTools/clang-sycl-linker/link.ll
    A clang/test/OffloadTools/clang-sycl-linker/options.ll
    A clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
    A clang/test/OffloadTools/clang-sycl-linker/triple.ll
    A clang/test/OffloadTools/clang-sycl-linker/weak-symbols.ll
    A clang/test/OpenMP/amdgpu-arch-compat.c
    M clang/test/OpenMP/bug54082.c
    M clang/test/OpenMP/bug60602.cpp
    A clang/test/OpenMP/collapse_extern_ref_crash.cpp
    A clang/test/OpenMP/critical-dso-local.cpp
    M clang/test/OpenMP/critical_codegen.cpp
    M clang/test/OpenMP/critical_codegen_attr.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    A clang/test/OpenMP/for_reduction_class_identity_codegen.cpp
    A clang/test/OpenMP/for_reduction_class_identity_messages.cpp
    A clang/test/OpenMP/interop_prefer_type_brace_ast_print.cpp
    A clang/test/OpenMP/interop_prefer_type_brace_messages.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    R clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_03.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_private_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    A clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    A clang/test/PCH/friend-template-spec-redecl.cpp
    A clang/test/PCH/pch-debuginfo-vtable.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-complex.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files-2.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    A clang/test/ParserHLSL/hlsl_is_array_attr.hlsl
    A clang/test/ParserHLSL/hlsl_is_array_attr_error.hlsl
    A clang/test/ParserOpenACC/directive-scope-setup.cpp
    R clang/test/ParserOpenACC/gh197858.cpp
    A clang/test/Preprocessor/avr-builtins.c
    A clang/test/Preprocessor/cl-pathmap.c
    A clang/test/Preprocessor/hardlink-include-names.c
    M clang/test/Preprocessor/hexagon-predefines.c
    A clang/test/Preprocessor/init-datetime-macros-nowarns.c
    A clang/test/Preprocessor/init-datetime-macros-warns.c
    R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep

  Log Message:
  -----------
  Merge branch 'main' into users/spavloff/snan


Compare: https://github.com/llvm/llvm-project/compare/736202f375d1...d77731fa765b

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