[all-commits] [llvm/llvm-project] 15b9ee: [libc++] Drop char8_t instantiation from string be...

Alexander Richardson via All-commits all-commits at lists.llvm.org
Tue Aug 4 22:22:06 PDT 2026


  Branch: refs/heads/users/arichardson/spr/risc-v-use-an-optional-offset-operand-instead-of-zero-offset-instaliases
  Home:   https://github.com/llvm/llvm-project
  Commit: 15b9ee4ee263e8c6c98e89ed7b33ff35cf540255
      https://github.com/llvm/llvm-project/commit/15b9ee4ee263e8c6c98e89ed7b33ff35cf540255
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/string.bench.cpp

  Log Message:
  -----------
  [libc++] Drop char8_t instantiation from string benchmarks (#212283)

The string benchmarks instantiated every benchmark for char, char8_t and
wchar_t. char8_t exercises the same code paths as char, so drop it to
get roughly a 30% speedup on this benchmark time.


  Commit: 583a958f83d813da3e2d9e801304d58de2493b62
      https://github.com/llvm/llvm-project/commit/583a958f83d813da3e2d9e801304d58de2493b62
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h

  Log Message:
  -----------
  [libc++] Reduce sequence container benchmark size ladder (#212281)

The sequence containers were registered for 32, 1024 and 8192. This
patch drops the mid-size point to get roughly a 30% speedup when running
the benchmarks.


  Commit: 2db82ed13cce7d09a32053030965e404ca63cfcf
      https://github.com/llvm/llvm-project/commit/2db82ed13cce7d09a32053030965e404ca63cfcf
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M mlir/test/CMakeLists.txt
    M mlir/test/Unit/lit.site.cfg.py.in
    M mlir/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [mlir] Make lit site configs relocatable (#212406)

Follow the same pattern as all the other test suites where the PATHS
option to configure_lit_site_cfg and the path() function in the lit site
config are used to make site configs relocatable.


  Commit: 266f2b372453463b6ff8d281d4c9fbdb640eaa1a
      https://github.com/llvm/llvm-project/commit/266f2b372453463b6ff8d281d4c9fbdb640eaa1a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

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

  Log Message:
  -----------
  [gn] port 65e373abbb7b (#212548)


  Commit: 65418144ffa87d65d99d649b215f6376b6fad4a7
      https://github.com/llvm/llvm-project/commit/65418144ffa87d65d99d649b215f6376b6fad4a7
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/call-decisions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/partial-reduce-usabs.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/single-scalar-cast.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-memory-op-decisions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/find-last.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/print-attributes.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/scalarize-irregular-type-memops.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/simplify-reverse-reverse.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions-tail-folded.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-widen-struct-return.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected

  Log Message:
  -----------
  [NFC][VPlan] Print element type for vector[-end]-pointer recipes (#212332)


  Commit: 833951e349498bbe81721620ca549699117f7040
      https://github.com/llvm/llvm-project/commit/833951e349498bbe81721620ca549699117f7040
  Author: Pranav Kant <prka at google.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/test/Instrumentation/Instrumentor/inline_runtime.ll

  Log Message:
  -----------
  [test] Use temp directory for output (#212379)

Test was added in #208072

Some test environment run tests in a readonly directory. Writing is only
allowed in temp directory.


  Commit: db534dccb2ea151cf8ac1b4f92a656402e71c968
      https://github.com/llvm/llvm-project/commit/db534dccb2ea151cf8ac1b4f92a656402e71c968
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libc/src/__support/GPU/utils.h

  Log Message:
  -----------
  [libc] Fix Global addrspace (#212531)


  Commit: a0a18e45b16e82000c7cb8a1e39469ac8897ab0a
      https://github.com/llvm/llvm-project/commit/a0a18e45b16e82000c7cb8a1e39469ac8897ab0a
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
    A llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll

  Log Message:
  -----------
  [NFC][VPlan] Add initial tests for future VPlan-based stride MV (#182594)

I tried to include both the features that current
LoopAccessAnalysis-based transformation supports (e.g., trunc/sext of
stride) but also cases where the current implementation behaves poorly,
e.g., https://godbolt.org/z/h31c3zKxK; as well as some other potentially
interesting scenarios I could imagine.

The are two test files with the same content. One is for VPlan dump
change of the future transformation alone (I'll update
`-vplan-print-after` in the next PR), another is for the full vectorizer
pipeline. The latter has two `RUN:` lines:
* No multiversioning, so the next PR diff can show the transformation
itself
* Stride multiversionin performed in LAA, so that we can compare next
PR's
VPlan-based transformation vs old behavior.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    R llvm/test/Transforms/SimplifyCFG/switch-default-fold-weight-overflow.ll

  Log Message:
  -----------
  Revert "[SimplifyCFG] Fix branch-weight overflow when folding switch case into default" (#212540)


  Commit: 98568f6567999d03e15a611b3fed1abcfab2f123
      https://github.com/llvm/llvm-project/commit/98568f6567999d03e15a611b3fed1abcfab2f123
  Author: adams381 <adams at nvidia.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    A clang/test/CIR/Transforms/abi-lowering/x86_64-int-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-indirect.cir

  Log Message:
  -----------
  [CIR] Accept __int128 in x86_64 calling-convention lowering (#211142)

The x86_64 calling-convention bridge rejected every integer wider than 64
bits, so a function taking or returning `__int128` hit `errorNYI` even though
its ABI treatment is simple.

On x86_64 `__int128` is Direct and passes in a pair of integer registers,
matching an i128 argument or return in classic CodeGen. `isSupportedType` now
accepts non-bitint integers of width 128 alongside the register-sized widths.
A struct holding a single `__int128` is exactly two eightbytes, so it reaches
the aggregate path and is Direct-coerced to i128; a struct spanning more than
two eightbytes stays Indirect (byval/sret).

`_BitInt` stays rejected pending its register-pair coercion and padding
handling, including `_BitInt(128)`. Non-C intermediate widths (65..127) stay
rejected too: the scalar Direct branch would pass them through unchanged,
without the register-pair coercion they would need.


  Commit: 7ac6b9ff31dbd3a028585ccd18d8a7a290303d58
      https://github.com/llvm/llvm-project/commit/7ac6b9ff31dbd3a028585ccd18d8a7a290303d58
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Process/wasm/RegisterContextWasm.cpp
    M lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
    M lldb/source/Plugins/Process/wasm/ThreadWasm.h

  Log Message:
  -----------
  [lldb] Report the unwound PC for WebAssembly caller frames (#212326)

RegisterContextWasm delegated the PC register read to
GDBRemoteRegisterContext, which reports the live innermost PC for every
frame. Resolving a variable whose DWARF location is a location list in a
caller frame therefore chose the entry using the innermost frame's PC
instead of the caller's, so the variable read back as unavailable even
though its location covered the caller's PC.

Return the program counter the WebAssembly unwinder recorded for the
frame (from qWasmCallStack) when reading a caller frame's PC, so the
location list entry uses the correct frame.


  Commit: d4d007b581bef93d6b7cee4bf9d621804826a9d6
      https://github.com/llvm/llvm-project/commit/d4d007b581bef93d6b7cee4bf9d621804826a9d6
  Author: Jinseok Kim <always.starving0 at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M compiler-rt/lib/asan/asan_poisoning.cpp

  Log Message:
  -----------
  [asan][NFC] Fix comments in asan_poisoning.cpp (#212449)

Remove duplicated wording and fix typos in comments.

Signed-off-by: Jinseok Kim <always.starving0 at gmail.com>


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

  Changed paths:
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Split R600 feature bitmask into separate enum from amdgcn (#212484)


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

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

  Log Message:
  -----------
  [SimplifyCFG] Handle degenerate conditional branch (#212552)

IR before entering the function:
```
define void @func(i1 %cond) {
entry:
  br i1 %cond, label %exit, label %exit

exit:                                             ; preds = %entry, %entry
  %phi = phi i1 [ false, %entry ], [ false, %entry ]
  tail call void @llvm.assume(i1 %phi)
  ret void
}
```
The original code only removes one edge. There is still an edge from
entry to exit, triggering the `Deleted edge still exists in the CFG`
assertion.

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


  Commit: ee25d3ec23a8b612ae3fa3eed8f8b88b00f582df
      https://github.com/llvm/llvm-project/commit/ee25d3ec23a8b612ae3fa3eed8f8b88b00f582df
  Author: Faijul Amin <md.faijul.amin at intel.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/legalization/signed-narrow-int.ll

  Log Message:
  -----------
  [SPIRV] Preserve sign-sensitive width record across G_TRUNC replacement (#211626)

**Summary**
Follow-up to #203661. When the `G_TRUNC` handler in `SPIRVPreLegalizer`
collapses source and destination to the same widened width, it calls
`MRI.replaceRegWith(DstReg, MaskedReg)` and drops the original
`G_TRUNC`. The `SignSensitiveInfo.OrigWidth` map, however, was still
keyed on `DstReg`, so `widenSignSensitiveOps` no longer found the narrow
original width and skipped the `shl/ashr` sign extension for signed
users of the truncated value.
Rekey `OrigWidth` from `DstReg` to `MaskedReg` before the
`replaceRegWith` so signed ops fed by the truncated value still receive
`G_SEXT_INREG` on the widened type.

**Test plan**
New test case is added to
`llvm/test/CodeGen/SPIRV/legalization/signed-narrow-int.ll`: `trunc i8 →
i4` feeding `icmp slt` — src and dst both widen to `i8`, exercising the
same-width `replaceRegWith` path. Checks that the widened `i8` compare
is preceded by matching `OpShiftLeftLogical / OpShiftRightArithmetic`
pairs on both operands.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/PostRASchedulerList.cpp
    M llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
    M llvm/lib/Target/AMDGPU/R600Packetizer.cpp
    M llvm/lib/Target/ARM/ARMParallelDSP.cpp
    M llvm/lib/Target/ARM/MVETailPredication.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCGenScalarMASSEntries.cpp
    M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
    M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
    M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
    M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll

  Log Message:
  -----------
  [CodeGen] Stop requiring analyses that no pass reads (#212430)

Remove analysis requirements whose pass never calls getAnalysis for
them, and MachineSchedContext::MDT, which no scheduler reads. Also remove
addPreserved calls subsumed by setPreservesCFG (MachineDominatorTree and
MachineLoopInfo are CFG-only analyses) and a now-unpaired INITIALIZE_PASS_DEPENDENCY.

The PowerPC, Hexagon and R600 pipelines each drop a MachineDominatorTree
construction.

Aided by Claude Opus 5


  Commit: 0db95253f93987e4c37594883208a42d3ebee563
      https://github.com/llvm/llvm-project/commit/0db95253f93987e4c37594883208a42d3ebee563
  Author: Taimuraz Kaitmazov <5769345+atassis at users.noreply.github.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/test/ClangScanDeps/logging-two-threads.c

  Log Message:
  -----------
  [clang][ClangScanDeps] Relax logging-two-threads for duplicate module validation (#210587)

`ClangScanDeps/logging-two-threads.c` is flaky. It asserts each module's
timestamp is written exactly once, but under
`-fmodules-validate-once-per-build-session` two workers scanning
different TUs can both notice the shared module is unvalidated this
session and each validate and record it before the other's write lands,
so its timestamp is written once or twice depending on the interleaving.

The double write is harmless: the timestamp field is atomic and both
workers store the same session time. Only the exact-count assertion was
wrong.

Relax the test to the real invariant: the shared module A is written
once or twice and the single-TU module B exactly once. Module compile
and pcm write stay exactly once (the in-memory cache builds each module
once) and the per-module event ordering is still checked by the sequence
blocks.

The redundant validation itself (two workers validating the same module)
is a separate, pre-existing issue noted by the validation-lock TODO in
`ModuleCache.h`; I plan to look at that separately.

AI assistance: drafted with AI help; reviewed and validated by me.


  Commit: 6d59a24272b7d0ffbf5c04b8878dfcc08c0bc0d9
      https://github.com/llvm/llvm-project/commit/6d59a24272b7d0ffbf5c04b8878dfcc08c0bc0d9
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3p.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p.txt

  Log Message:
  -----------
  [AMDGPU] Generate literal32 operand for packed fp32 instructions (#212530)

Literal32 operand is supported for gfx1250+ for v_pk_*_f32


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

  Changed paths:
    M clang/lib/CodeGen/Targets/PPC.cpp
    R clang/test/CodeGen/ppc64-float-abi-attr.c
    A clang/test/CodeGen/ppc64-long-double-type-attr.c
    M llvm/docs/LangRef.md
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/Assembler/module-flags-long-double-type.ll
    A llvm/test/Bitcode/upgrade-ppc-float-abi.ll
    M llvm/test/CodeGen/PowerPC/gnu-attribute.ll
    A llvm/test/Linker/module-flags-long-double-type.ll
    A llvm/test/Verifier/module-flags-long-double-type.ll

  Log Message:
  -----------
  PowerPC: Rename "float-abi" module flag to "long-double-type" (#210817)

PPC was emitting a "float-abi" module flag for indicating the type of
long double. The "float ABI" naming is already widely taken by soft vs. 
hard float controls (e.g., the clang flag is called -mfloat-abi), so this 
shouldn't have  taken it. This should also not be PPC specific; x86 has 
the same problem. Rename  the flag to the more specific 
long-double-type,  and  add appropriate verification and documentation 
(which was also missing).  Also  changes the value names to match the IR 
type names.

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


  Commit: 3919897e1b1b2c4f4327e9a8a9eebfb91bc75616
      https://github.com/llvm/llvm-project/commit/3919897e1b1b2c4f4327e9a8a9eebfb91bc75616
  Author: Srividya Sundaram <srividya.sundaram at intel.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.h
    R clang/test/Driver/Inputs/spirv64-sycl/lib/spirv64-unknown-unknown/libclang_rt.builtins.bc
    R clang/test/Driver/sycl-device-lib-spirv64.cpp
    M clang/test/Driver/sycl-offload-jit-unix.cpp
    M clang/test/Driver/sycl-offload-jit-xarch.cpp
    M clang/test/Driver/sycl-offload-jit.cpp
    M clang/test/Driver/sycl-print-internal-defines.cpp
    M clang/test/Driver/sycl-rtlib-sysroot-mismatch.cpp
    M clang/test/Driver/sycl-std-default.cpp
    M clang/test/Driver/sycl-windows.cpp
    M clang/test/Driver/sycl.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Driver][SYCL] Add compile-time device library linking for SPIR-V targets" (#212550)

Reverts llvm/llvm-project#196656
The CI does not yet build compiler-rt with SPIR-V support, so
libclang_rt.builtins.bc is absent on that bot. This change made the
missing file a hard error, breaking all libsycl functional tests that
compile with -fsycl.

Re-landing after CI is updated to build compiler-rt for SPIR-V.


  Commit: 1a2691c3d3ff24dc5dc52a80b3e1ed3f8ee1706a
      https://github.com/llvm/llvm-project/commit/1a2691c3d3ff24dc5dc52a80b3e1ed3f8ee1706a
  Author: Abhinav Gaba <abhinav.gaba at intel.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    A clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
    M offload/test/mapping/declare_mapper_nested_mappers.cpp
    M offload/test/mapping/declare_mapper_target.cpp
    M offload/test/mapping/declare_mapper_target_data.cpp
    M offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
    M offload/test/mapping/declare_mapper_target_update.cpp
    A offload/test/mapping/mapper_enter_data_always_present_ptee.c
    A offload/test/mapping/mapper_map_always_from.c
    A offload/test/mapping/mapper_map_always_to_enter_data.c
    A offload/test/mapping/mapper_map_mbr_ptee_then_present_mbr_ptee.c
    A offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
    A offload/test/mapping/mapper_map_present_ptee.c
    A offload/test/mapping/mapper_map_ptee_only.c
    A offload/test/mapping/mapper_map_ptee_only_2_ptr_indirections.c
    A offload/test/mapping/mapper_map_ptee_only_2_ptr_indirections_array.c
    A offload/test/mapping/mapper_map_ptee_only_2ndlevel.c
    A offload/test/mapping/mapper_map_ptee_only_2ndlevel_array.c
    A offload/test/mapping/mapper_map_ptee_only_always_array.c
    A offload/test/mapping/mapper_map_ptee_only_array.c
    A offload/test/mapping/mapper_map_ptee_then_present_absent_mbr.c
    A offload/test/mapping/mapper_map_ptr_ptee_nomapper_del_ptee.c
    A offload/test/mapping/mapper_map_ptr_ptee_nomapper_del_ptr.c
    A offload/test/mapping/mapper_target_update_present_ptee.c
    A offload/test/mapping/multiple_deletes_within_one_struct.c
    A offload/test/offloading/fortran/mapper-map-always-to-enter-data.f90

  Log Message:
  -----------
  [NFC][OpenMP] Add mapper-specific tests exercising pointee section mapping. (#204269)

* Add a few tests for when a mapper does something like `map(s.p[0:10])`
where `p` is a pointer.
* Add a few tests that require propagation of bits like `present/always`
into a mapper.
* Fix a few tests that were expecting `p` to be mapped when the mapper
only said `map(s.p[0:10])`.

The output of a few tests is different from what we expect. They have
been annotated with FIXMEs, and the expected output for when the
follow-up changes in this stack to propagate the map-type-modifier bits
and using attach-style mapping for mappers get merged.

---------

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


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor.f90

  Log Message:
  -----------
  [flang][cuda] Add option to set priority to the CUDA Fortran constructor (#212561)


  Commit: 8aceb2f64b33f3c70b712ccd464774fa7d620d19
      https://github.com/llvm/llvm-project/commit/8aceb2f64b33f3c70b712ccd464774fa7d620d19
  Author: Alexander Johnston <14348472+Alexander-Johnston at users.noreply.github.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/InterlockedXor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedXor.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
    A clang/test/SemaHLSL/BuiltIns/InterlockedXor-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implement HLSL InterlockedXor (#209254)

Follows existing HLSL InterlockedOp implementations to provide
InterlockedXor in HLSL, with DirectX and SPIRV support.

https://github.com/llvm/llvm-project/issues/99127


  Commit: 6bf2f466c1a77c1e97175dc14a11564133a0638b
      https://github.com/llvm/llvm-project/commit/6bf2f466c1a77c1e97175dc14a11564133a0638b
  Author: Petr Kurapov <petr.kurapov at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/MIR2Vec.cpp
    A llvm/test/CodeGen/MIR2Vec/empty-machine-function.mir

  Log Message:
  -----------
  [MIR2Vec] Handle machine functions with no basic blocks (#212294)

depth_first() asserts on an empty MachineFunction, since getEntryNode()
dereferences the block list sentinel via front(). Return the zero vector
instead, as IR2Vec does for declarations.


  Commit: 26643a89ddf98e48e986d25ceb10f673735bc7d7
      https://github.com/llvm/llvm-project/commit/26643a89ddf98e48e986d25ceb10f673735bc7d7
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/Headers/ptrauth.h

  Log Message:
  -----------
  [PAC][Headers] Fix incorrect comment in ptrauth.h (#207265)

The discriminator which is used to sign pointers to v-tables
is not always zero.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.wave64.err.ll

  Log Message:
  -----------
  [AMDGPU] Fix llvm.amdgcn.ballot with return width != wavefront size (#211493)

Before wave mask was emitted directly in the requested return type,
which failed to select for i32 ballots on wave64 (and vice versa)

Compute the mask at the wavefront width and then zext or trunc it to the
result type


  Commit: e146c04973fc3faf6dbf74bacdf8d62553f6fed5
      https://github.com/llvm/llvm-project/commit/e146c04973fc3faf6dbf74bacdf8d62553f6fed5
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-sramecc.ll
    M llvm/test/CodeGen/AMDGPU/sramecc-subtarget-feature-any.ll

  Log Message:
  -----------
  [AMDGPU] Add SRAMECC to feature list for gfx12-5-generic (#212573)


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

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/module-flags-long-double-type.ll

  Log Message:
  -----------
   IR: Accept x86_fp80 and float as a long-double-type value (#210818)

Prepare to emit long-double-type for all targets. x86 obviously needs
x87, and AVR uses float.

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


  Commit: ed591cc9d78a73eef2fffa93510bd99c3a7170df
      https://github.com/llvm/llvm-project/commit/ed591cc9d78a73eef2fffa93510bd99c3a7170df
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/utils/lit/CMakeLists.txt
    M llvm/utils/lit/tests/lit.site.cfg.in

  Log Message:
  -----------
  [lit] Switch tests to using path function (#212381)

All the other test suites use the PATHS option to configure_lit_site_cfg
and the path() function in lit.site.cfg to make the site configs
relocatable. Apply the same pattern to lit's own suite as well.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/MC/AMDGPU/vop3-literal.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_wave64_feature.s

  Log Message:
  -----------
  AMDGPU: Add dedicated features for wavesize support (#212581)

Previously we had features for which wavesize is active,
and unstructured checks for which targets support which
wavesize.

One assembler test changes because it was artificially
forcing wave64 on gfx1250 for test simplification, and
the supportsWave32 helper function was buggy.

Co-authored-by: Claude (Claude-Opus-4.8)


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

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

  Log Message:
  -----------
  [mlir][SPIR-V] Add SPIRVToLLVM conversions for IAddCarry and ISubBorrow (#203605)


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

  Changed paths:
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  Triple: Add query for the default long double format (#211239)

The long double format changes the library call info, which needs
to be computed independently of codegen. Implement this based on the
clang target code.

---------

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


  Commit: 617dd98854c1f436a90e457f38f8d90643c0b641
      https://github.com/llvm/llvm-project/commit/617dd98854c1f436a90e457f38f8d90643c0b641
  Author: Yi Zhang <cathyzhyi at google.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

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

  Log Message:
  -----------
  [bazel] fix #212406 (#212585)


  Commit: bd69a84b5618922f776d14710221b8ca7bf58758
      https://github.com/llvm/llvm-project/commit/bd69a84b5618922f776d14710221b8ca7bf58758
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/FormatTestComments.cpp

  Log Message:
  -----------
  [clang-format] Fix OverEmptyLines aligning trailing comments across block boundaries (#208324)

Fix `AlignTrailingComments` with `OverEmptyLines` aligning trailing
comments across block boundaries (e.g., between two functions or
structs). The alignment sequence now breaks at block-type braces
(`BK_Block`).

This is an `OverEmptyLines` bug exposed by
bae9ddca423145baf0c35e31898b723aa273f85c (#206393).
Fixes https://github.com/llvm/llvm-project/issues/208266
(https://github.com/llvm/llvm-project/issues/208266).

Commit created with the help of kiro-cli.

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>


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

  Changed paths:
    M llvm/test/MC/AMDGPU/amdgcn-target-directive-conflict.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/isa-version-pal.s
    M llvm/test/MC/AMDGPU/isa-version-unk.s

  Log Message:
  -----------
  AMDGPU: Migrate target ID diagnostic tests to subarch triples (#212588)


  Commit: 255162ae0ebe805df151c5c4b48e1a47a5dd74f0
      https://github.com/llvm/llvm-project/commit/255162ae0ebe805df151c5c4b48e1a47a5dd74f0
  Author: Nemanja Ivanovic <nemanja.i.llvm at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp
    A llvm/test/CodeGen/RISCV/shadow-stack-zcmp.ll
    M llvm/test/CodeGen/RISCV/shadowcallstack.ll

  Log Message:
  -----------
  [RISC-V] Do not emit cm.popret[z] with zicfiss (#196267)

When emitting shadow call stack protection instructions, the push/pop
optimization needs to be turned off because an sspopchk before a
cm.popret[z] is guaranteed to fail in a non-leaf function. In addition,
the sspopchk must be emitted after a cm.pop so that the ra has the
correct value when the check is performed.

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

Co-authored-by: Nemanja Ivanovic <nemanja at synopsys.com>


  Commit: 810062e9771d8b47c25a89311139c621c13bbf9f
      https://github.com/llvm/llvm-project/commit/810062e9771d8b47c25a89311139c621c13bbf9f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M .github/workflows/libcxx-benchmark-commit.yml

  Log Message:
  -----------
  [libc++] Require selecting a machine when dispatching the benchmark workflow (#212591)

This resolves a TODO to allow selecting which machine we're running on.
As I am working on automation to dispatch these benchmarking jobs, it
turns out that we always want to specify the machine, and we always want
to specify a single machine to run per workflow, since this is the only
way we can track which commits have been attempted (or are still in
flight) on a given machine.

Therefore, the ability to run benchmarks on all machines at once is
removed from this workflow (but not from the related PR A/B benchmarking
workflow).

This patch also includes the machine name and the commit being
benchmarked into the runs's name, which is necessary for automation to
know what the workflow was benchmarking.


  Commit: 83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db
      https://github.com/llvm/llvm-project/commit/83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/unique_ptr.h
    M libc/src/__support/macros/attributes.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/unique_ptr_test.cpp

  Log Message:
  -----------
  [libc] Implement cpp::unique_ptr utility (#206701)

[libc] Implement cpp::unique_ptr utility

Implemented cpp::unique_ptr and cpp::default_delete in
libc/src/__support/CPP/unique_ptr.h for internal use within LLVM-libc.

* Added cpp::default_delete and its array specialization.
* Implemented cpp::unique_ptr with support for custom deleters and
  array specialization.
* Applied LIBC_TRIVIAL_ABI to unique_ptr and LIBC_NO_UNIQUE_ADDRESS to
the
  deleter to enable empty member optimization and register-passing ABI.
* Defined portable LIBC_NO_UNIQUE_ADDRESS and LIBC_TRIVIAL_ABI macros in
  attributes.h.
* Included is_assignable.h in type_traits.h to support conversion
  assignment constraints.
* Modernized template constraints using enable_if_t and
is_convertible_v.
* Added comprehensive unit tests in
libc/test/src/__support/CPP/unique_ptr_test.cpp, including coverage for
  reset sequencing, custom deleters, and conversion constructors.

This is a simplified implementation with the following limitations:
* No support for custom pointer types (hardcoded to T*).
* No support for reference deleter types or array conversion.

Adding this to LLVM libc because some things (like regex) require
dynamic
memory allocation, and this will help with correct memory management.

Assisted-by: Automated tooling, human reviewed.


  Commit: 6084459105d2d022122508cfbcae990d7516488b
      https://github.com/llvm/llvm-project/commit/6084459105d2d022122508cfbcae990d7516488b
  Author: Pankaj Gode <pgode at qti.qualcomm.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/SubtargetFeature.h
    M llvm/lib/Target/RISCV/RISCVMacroFusion.td
    A llvm/lib/Target/RISCV/RISCVMacroFusionXQCI.td
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/CodeGen/RISCV/macro-fusions-xqci.mir

  Log Message:
  -----------
  [RISCV] Add macro fusion support for the Xqci extension instructions (#209542)

Add macro fusion definitions for the Qualcomm Xqci extension covering
movimm-alu, movimm-mul, movimm-ldst, movimm-jump, movimm-longlogical,
movimm-mov, mov-mov, mov-longlogical fusions.

The fusion definitions live in a new RISCVMacroFusionXQCI.td which is
included from RISCVMacroFusion.td. A MIR test and the feature list test
are updated accordingly.

To accomodate additional features, increased MAX_SUBTARGET_FEATURES to
448 (from 384).

Signed-off-by: Pankaj Gode <pgode at qti.qualcomm.com>


  Commit: d814f55809820baee51a23eab92c24df8f5824ce
      https://github.com/llvm/llvm-project/commit/d814f55809820baee51a23eab92c24df8f5824ce
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir

  Log Message:
  -----------
  [mlir][MathToXeVM] Convert fastmath math ops on size-1 vectors (#211921)

SPIR-V has no size-1 vector type, so `convert-math-to-xevm` previously
rejected `math.exp fastmath<fast> : vector<1xf32>` (and the other native
OCL patterns), leaving them as unconverted `math.exp`. These degenerate
size-1 vectors are the result of the XeGPU pipeline distributing and
linearizing larger vectors down to a single element per lane, so in
practice fastmath exps in e.g. flash-attention softmax were never
lowered to `__spirv_ocl_native_exp`, hurting performance.

Handle size-1 vectors by unwrapping them to the scalar element type:
`vector.extract [0]` -> scalar native intrinsic -> `vector.broadcast`
back. `vector::ExtractOp`/`BroadcastOp` are marked legal in the
conversion target so the partial conversion does not roll back, and the
pass now depends on the Vector dialect.

---------

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


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

  Changed paths:
    M llvm/test/MC/AMDGPU/ds-err.s
    M llvm/test/MC/AMDGPU/flat.s
    M llvm/test/MC/AMDGPU/regression/bug28538.s
    M llvm/test/MC/AMDGPU/sop1-err.s
    M llvm/test/MC/AMDGPU/sop2.s
    M llvm/test/MC/AMDGPU/sopk-err.s
    M llvm/test/MC/AMDGPU/sopp-err.s
    M llvm/test/MC/AMDGPU/trap.s
    M llvm/test/MC/AMDGPU/vop2-err.s
    M llvm/test/MC/AMDGPU/vopc-errs.s

  Log Message:
  -----------
  AMDGPU: Remove some assembler tests using dummy target (#212595)

In the future it will be illegal to do anything with a binary
without a specific subarch. Most of these were redundant with an
existing run line.


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

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

  Log Message:
  -----------
  [Bazel] Fixes d814f55 (#212610)

This fixes d814f55809820baee51a23eab92c24df8f5824ce (#211921).

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

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


  Commit: 3b26f265c9608750c9f912b41e038a27fd595860
      https://github.com/llvm/llvm-project/commit/3b26f265c9608750c9f912b41e038a27fd595860
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Document flat-to-global promotion assumption in AMDGPUP… (#212590)

…romoteKernelArguments

AMDGPUPromoteKernelArguments promotes flat pointer kernel arguments to
global by inserting a round-trip addrspacecast (flat -> global -> flat)
as a hint to InferAddressSpaces. Add a comment explaining why this is
valid: in the HSA offload model, the host populates kernarg slots at
dispatch time and can only supply global-aperture addresses, so any flat
pointer reachable from a kernel argument can be assumed to be in the
global aperture. This mirrors the same assumption made by
getAssumedAddrSpace in AMDGPUTargetMachine.cpp, which independently
promotes flat kernel arguments to global via InferAddressSpaces.


  Commit: 93d45dce2fc704e28bacb1eea399fb9900385418
      https://github.com/llvm/llvm-project/commit/93d45dce2fc704e28bacb1eea399fb9900385418
  Author: Moazin K. <mkhatti at nvidia.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
    M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir

  Log Message:
  -----------
  [OpenACC] Do not clean up nohost routines in `ACCRoutineLowering`. (#212534)

The design of the ACC routine lowering supports multiple device side
specializations of an ACC routine function. Earlier in the pipeline, all
calls to the function are expected to refer the original host function
and not their device side specialized versions. Once there is enough
parallelism context, the calls can be changed to point to the
appropriate specialized routine.

The nohost handling in `ACCRoutineLowering` goes against this design.
This change removes the special handling of nohost routines and this
clean up should be done in later passes.

Assisted-by: Codex


  Commit: 2031237267b8fa2f7e3840de33fdb305963d7adf
      https://github.com/llvm/llvm-project/commit/2031237267b8fa2f7e3840de33fdb305963d7adf
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Language/ObjC/CF.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp

  Log Message:
  -----------
  [lldb] Stop creating ConstStrings for ObjC framework type names (#211679)

For a given ObjC framework type (e.g. NSArray from Foundation), LLDB may
need to do something different to format the type correctly depending on
its backing implementation type. Many of these types have well known
variants that LLDB knows how to handle, but they need to be identified
on a case-by-case basis.

These type names were stored into ConstStrings but don't need to be.
Instead we can statically create a StringLiteral to avoid repeated
StringRef creation for these type names.


  Commit: 7a3aa7da4c0254483ae32c6fa7f65d756026d56c
      https://github.com/llvm/llvm-project/commit/7a3aa7da4c0254483ae32c6fa7f65d756026d56c
  Author: Abhay Kanhere <a_kanhere at apple.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/reproducer-remarks.ll
    M llvm/test/Transforms/ConstraintElimination/sub.ll

  Log Message:
  -----------
  [ConstraintElim] decompose subtract with guard as precondition (#209615)

ConstraintElimination's unsigned constraint system already decomposes
`sub nuw a, b` into `a − b` (nuw guarantees b ≤ a),

The fix decomposes 'sub nsw a, b'  or 'sub a , b' into  'a − b'
with precondition b u≤ a provided by dominating guard.

Motivating example is a bound check of the form that reaches CE.

```
 int f(const int *a, int len, int k, unsigned n) {
    if ((unsigned)k <= (unsigned)len && (unsigned)len <= n) {
      int off = len - k;                 // sub nsw i32
      if ((unsigned)off <= n)            // survives instcombine; CE folds via off<=len<=n
        return a[off];
    }
    return -1;
  }
```

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


  Commit: 96d7cb506f1df1fb3e1f0fa3fa40610c62bc1d88
      https://github.com/llvm/llvm-project/commit/96d7cb506f1df1fb3e1f0fa3fa40610c62bc1d88
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/CostModel/store-scalarization-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll

  Log Message:
  -----------
  [LV] Add cost tests for store scalarization (NFC). (#212592)

Extra test coverage for tests where legacy cost model incorrectly
assumes predication.


  Commit: 8dc4bb72970097b5cb9013d67537f0647707b179
      https://github.com/llvm/llvm-project/commit/8dc4bb72970097b5cb9013d67537f0647707b179
  Author: Sunil Shrestha <sunil.shrestha at hpe.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Lower/OpenMP/interop.f90
    M flang/test/Parser/OpenMP/interop-construct.f90
    M flang/test/Semantics/OpenMP/init-clause.f90
    M flang/test/Semantics/OpenMP/interop-construct.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix interop-var handling and diagnostics (#203959) (#211693)

This change builds on top of the work done in PR #203959
- Diagnose interop destroy without an interop variable
- Lower array-element / derived-component interop-vars via their
designator
- Require interop-var to be a scalar integer of omp_interop_kind
- Remove "hsa" prefer_type (no omp_ifr_hsa in the runtime)
- Fix a latent bug in Parser/OpenMP/interop-construct.f90


  Commit: 1cfa9292e38de7e66f5d6d1ef40eab1c8e02dca2
      https://github.com/llvm/llvm-project/commit/1cfa9292e38de7e66f5d6d1ef40eab1c8e02dca2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

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

  Log Message:
  -----------
  [VPlan] Prepare replaceSymbolicStrides to handle plain CFG (NFC). (#212609)

Update replaceSymbolicStrides to use general getPlainCFGHeaderAndLatch
helper to make it more robust w.r.t. to pipeline changes.

Also tighten check for phis to skip replacement if loop executes
unconditionally.


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

  Changed paths:

  Log Message:
  -----------
  [VPlan] Prepare replaceSymbolicStrides to handle plain CFG (NFC). (#212609)

Update replaceSymbolicStrides to use general getPlainCFGHeaderAndLatch
helper to make it more robust w.r.t. to pipeline changes.

Also tighten check for phis to skip replacement if loop executes
unconditionally.


  Commit: 74a90e28db0878a01583cd32de4269014c8ecb78
      https://github.com/llvm/llvm-project/commit/74a90e28db0878a01583cd32de4269014c8ecb78
  Author: dmaclach <dmaclach at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
    M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp

  Log Message:
  -----------
  [include-cleaner] Support ObjC interface and protocol declarations in LocateSymbol (#212617)

Treats forward declarations of Objective-C interfaces
(ObjCInterfaceDecl) and protocols (ObjCProtocolDecl) as incomplete,
allowing the symbol locator to prefer their definitions.

Also updates the unit tests to support Objective-C and adds test cases
for these declarations.

Also update the unit tests for forward declarations of enums and enum
classes.


  Commit: 9b9dc9d501d9bff70208056439490f9987e2b38b
      https://github.com/llvm/llvm-project/commit/9b9dc9d501d9bff70208056439490f9987e2b38b
  Author: dmaclach <dmaclach at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/unittests/Tooling/HeaderIncludesTest.cpp

  Log Message:
  -----------
  [include-cleaner]Support #import directives in HeaderIncludes (#212582)

This change updates HeaderIncludes to recognize #import directives in
addition to #include when parsing existing headers. It also fixes up an
existing issue parsing include/import statements that may have contained
tabs.


  Commit: 8adefe858549981181c4fae81d77277047696f2e
      https://github.com/llvm/llvm-project/commit/8adefe858549981181c4fae81d77277047696f2e
  Author: dmaclach <dmaclach at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp

  Log Message:
  -----------
  [include-cleaner] Cleanup Headers and Warnings (#212570)

Add missing headers and get rid of warning about param name mismatch.


  Commit: d8fb9ea73bb68e3d86a3fb7fffd2e038449af2c2
      https://github.com/llvm/llvm-project/commit/d8fb9ea73bb68e3d86a3fb7fffd2e038449af2c2
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    A mlir/lib/Dialect/OpenACC/Transforms/ACCEmitRemarksData.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-data.mlir

  Log Message:
  -----------
  [mlir][acc] Add pass to emit remarks for openacc data mapping (#212623)

This pass emits MLIR remarks for all OpenACC data mapping actions.
Intended to be used when all the data actions are committed (typically
right before codegen to call runtime).


  Commit: 575898b60d805e6a7259a5db0a2d0ee9913f6790
      https://github.com/llvm/llvm-project/commit/575898b60d805e6a7259a5db0a2d0ee9913f6790
  Author: satyanarayana reddy janga <satyajanga at gmail.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    A lldb/test/API/functionalities/process_save_core_minidump_size_of_image/Makefile
    A lldb/test/API/functionalities/process_save_core_minidump_size_of_image/TestMinidumpSizeOfImage.py
    A lldb/test/API/functionalities/process_save_core_minidump_size_of_image/main.c
    A lldb/test/API/functionalities/process_save_core_minidump_size_of_image/testlib.c

  Log Message:
  -----------
  [lldb][Minidump] Fix wrong variable in getModuleFileSize loop (#188363)

Use next_sect_sp instead of sect_sp when getting the byte size inside
the section-walking loop. Using the original sect_sp meant sect_size
never changed between iterations, producing an incorrect SizeOfImage and
risking an infinite loop when sections have different sizes.


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

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

  Log Message:
  -----------
  [SLP][NFC]Add extra test for operand reassociation, NFC



Reviewers: 

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


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

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

  Log Message:
  -----------
  workflows/release-sources: Make sure to checkout all the composite actions (#212544)


  Commit: b43247627d628ea5d901f0faebf15a099fa99d91
      https://github.com/llvm/llvm-project/commit/b43247627d628ea5d901f0faebf15a099fa99d91
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c

  Log Message:
  -----------
  [NVPTX] Fix typo 'pxtas-path' -> 'ptxas-path' in tool invocation (#212599)


  Commit: e0a970988cd8fe749e24c21f9c4c833dab70ec03
      https://github.com/llvm/llvm-project/commit/e0a970988cd8fe749e24c21f9c4c833dab70ec03
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll

  Log Message:
  -----------
  [LinkerWrapper] Retain the offloading entries section under --gc-sections (#212614)

Summary:
These sections are generated for 'relocatable' linking. Under
`--gc-sections` this could be stripped and then fail following links. We
sould mark it as used to ensure that these sections are retained.


  Commit: efe202c769aa2cc772d50bed87af30199bb6b239
      https://github.com/llvm/llvm-project/commit/efe202c769aa2cc772d50bed87af30199bb6b239
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libc/src/__support/CPP/new.cpp
    M libc/src/__support/CPP/new.h

  Log Message:
  -----------
  [libc][CPP] Fix ASan alloc-dealloc-mismatch in custom operator delete (#212629)

Bypass custom operator delete redirection in new.h and new.cpp when
building with AddressSanitizer (LIBC_HAS_ADDRESS_SANITIZER).

cpp::unique_ptr is the first heap-owning utility in src/__support/CPP/
that executes delete/delete[] expressions. Previously, new.h redirected
operator delete via asm-renaming to __llvm_libc_delete (calling free()),
which caused ASan to report an alloc-dealloc-mismatch (operator new vs
free) when objects allocated via host operator new were deleted by
cpp::unique_ptr.

Guarding the custom operator delete implementations under ASan enables
ASan deallocation tracking while preserving hermetic libc behavior for
non-ASan builds.

Assisted-by: Automated tooling, human reviewed.


  Commit: 9f761055cfdb4ffed8c7f70a1c896837490df691
      https://github.com/llvm/llvm-project/commit/9f761055cfdb4ffed8c7f70a1c896837490df691
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Lower bf16 G_FPTRUNC from f32 and f64 (#212302)

Port the SDAG bf16 fptrunc lowering to GlobalISel.


  Commit: c6f775c5fa370eb2b97f7047781654337134eb10
      https://github.com/llvm/llvm-project/commit/c6f775c5fa370eb2b97f7047781654337134eb10
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.wave64.err.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Fix llvm.amdgcn.ballot with return width != wavefront size" (#212628)

Reverts llvm/llvm-project#211493

unblock bot: https://lab.llvm.org/buildbot/#/builders/232


  Commit: 33d2c6ad8c342d40aa443afb7dd03ad0af0e103c
      https://github.com/llvm/llvm-project/commit/33d2c6ad8c342d40aa443afb7dd03ad0af0e103c
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add missing type dependencies to sys_types header target (#212601)

Add missing type dependencies to the sys_types header target in
libc/include/CMakeLists.txt for types defined in sys/types.yaml,
including __off_t, __off64_t, __uint64_t, off64_t, and BSD/System V
types added in commit 39df67d0edef.

Without these DEPENDS entries, CMake and Ninja do not copy the
corresponding type headers into the build and install directories,
causing missing header includes (e.g. __off64_t.h) when consuming
generated <sys/types.h>.

Assisted-by: Automated tooling, human reviewed.


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

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

  Log Message:
  -----------
  [Bazel] Fixes efe202c (#212637)

This fixes efe202c769aa2cc772d50bed87af30199bb6b239 (#212629).

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

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


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

  Changed paths:
    M flang/test/Parser/acc-unparse.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [flang][openacc] Allow blank around ':' in generated clause parser with keyword (#212638)

Follow up to https://github.com/llvm/llvm-project/pull/210446 to also
allow the space in the parser generated by TableGen.


  Commit: 6d1ace547c9f9ecf7df9ab87e2db74b5bd3f199d
      https://github.com/llvm/llvm-project/commit/6d1ace547c9f9ecf7df9ab87e2db74b5bd3f199d
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/new.cpp
    M libc/src/__support/CPP/new.h
    M libc/src/__support/CPP/type_traits.h
    R libc/src/__support/CPP/unique_ptr.h
    M libc/src/__support/macros/attributes.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    R libc/test/src/__support/CPP/unique_ptr_test.cpp

  Log Message:
  -----------
  Revert "[libc] Implement cpp::unique_ptr utility" (#212644)

Reverts efe202c769aa2cc772d50bed87af30199bb6b239 and
83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db.

Reverts #212629 and #206701.


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

  Changed paths:
    M lldb/bindings/python/CMakeLists.txt
    M lldb/bindings/python/python-wrapper.swig
    M lldb/docs/CMakeLists.txt
    A lldb/examples/python/templates/scripted_command.py
    M lldb/include/lldb/API/SBCommandReturnObject.h
    M lldb/include/lldb/API/SBDebugger.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedCommandInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/API/SBCommandReturnObject.cpp
    A lldb/source/API/SBCommandReturnObjectImpl.h
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb/script] Migrate ParsedCommand & raw commands onto ScriptedPythonInterface (#210430)

Give both `command script add -c` (raw class) and `-p` (ParsedCommand) a
single, shared
`ScriptedCommandInterface`/`ScriptedCommandPythonInterface`, built on
the existing `ScriptedPythonInterface` machinery: `CreatePluginObject`
delegates to the base template, and every other method goes through
`Dispatch`.

Add a lighter `ScriptedCommand` ABC template (`scripted_command.py`) for
raw mode; the existing `ParsedCommand`/`LLDBOptionValueParser` classes
are kept as-is.

Extend `ScriptedPythonInterface` with a few `Transform` overloads
(`DebuggerSP`, `std::vector<std::string>`, `CommandReturnObject &`) so
those argument types route through `Dispatch` without extra plumbing.

Delete the standalone SWIG bridge functions this plugin was the sole
caller of. `CommandObjectScriptingObjectRaw` and
`CommandObjectScriptingObjectParsed` now hold a
`ScriptedCommandInterfaceSP` instead of a raw
`StructuredData::GenericSP`; `command script add`'s `DoExecute`
constructs the interface once via
`CreateScriptedCommandInterface()->CreatePluginObject` for either flag.

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


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

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/adddf3.cpp
    A compiler-rt/lib/builtins/addsf3.cpp
    M compiler-rt/lib/builtins/addtf3.cpp
    A compiler-rt/lib/builtins/divdf3.cpp
    A compiler-rt/lib/builtins/divsf3.cpp
    A compiler-rt/lib/builtins/divtf3.cpp
    M compiler-rt/lib/builtins/fp_lib.h
    A compiler-rt/lib/builtins/muldf3.cpp
    A compiler-rt/lib/builtins/mulsf3.cpp
    A compiler-rt/lib/builtins/multf3.cpp
    A compiler-rt/lib/builtins/negdf2.cpp
    A compiler-rt/lib/builtins/negsf2.cpp
    M compiler-rt/lib/builtins/subdf3.c
    A compiler-rt/lib/builtins/subdf3.cpp
    M compiler-rt/lib/builtins/subsf3.c
    A compiler-rt/lib/builtins/subsf3.cpp
    A compiler-rt/lib/builtins/subtf3.cpp
    M libc/shared/builtins.h
    A libc/shared/builtins/negdf2.h
    A libc/shared/builtins/negsf2.h
    M libc/src/__support/builtins/CMakeLists.txt
    A libc/src/__support/builtins/negdf2.h
    A libc/src/__support/builtins/negsf2.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_builtins_test.cpp

  Log Message:
  -----------
  [compiler-rt][builtins] add libc-backed arithmetic builtins (#207092)

Add libc-backed arithmetic builtins 


Depends on #197950

Part of #197824


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

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.cpp

  Log Message:
  -----------
  [lldb] Include `Debugger.h` in `ScriptedCommandPythonInterface.cpp` (NFC) (#212662)

Commit c35bdc99a36b passes a `lldb::DebuggerSP` to the
`ScriptedPythonInterface` base template, whose `Transform` overload is
constrained on `std::is_base_of_v` and so needs `Debugger` to be
complete. This patch includes `lldb/Core/Debugger.h` since the
translation unit only saw the forward declaration.

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


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

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

  Log Message:
  -----------
  [Bazel] Fixes c35bdc9 (#212659)

This fixes c35bdc99a36bd518ff59b6cb209e84a5c7df24e1 (#210430).

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

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


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

  Changed paths:
    A .ci/monolithic-macos.sh
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [premerge] Route macOS build through a monolithic script to enable Job Summary (#211565)

The macOS premerge job built inline instead of via a `monolithic-*.sh`
script, so it never emitted a GitHub Job Summary or JUnit XML like
Linux/Windows do on failure


  Commit: 1d4e04f7a7c2669dd652861e7dccc22f67ab3355
      https://github.com/llvm/llvm-project/commit/1d4e04f7a7c2669dd652861e7dccc22f67ab3355
  Author: Demetrius Kanios <demetrius at kanios.net>
  Date:   2026-07-28 (Tue, 28 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/test/CodeGen/WebAssembly/wasm-eh.ll
    M libcxxabi/src/cxa_personality.cpp
    M libunwind/include/unwind.h
    A libunwind/include/unwind_wasm.h
    M libunwind/src/Unwind-wasm.c
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/eh-lsda.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
    M llvm/test/CodeGen/WebAssembly/exception.ll
    M llvm/test/CodeGen/WebAssembly/function-info.mir
    M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
    M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-em-sjlj-error.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-invalid-personality.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-sjlj-setjmp-within-catch.ll
    M llvm/test/Transforms/ExpandVariadics/invoke.ll
    M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
    M llvm/test/Transforms/PGOProfile/memop_profile_funclet_wasm.ll
    M llvm/test/Transforms/SROA/phi-catchswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/catchswitch.ll
    M llvm/test/Transforms/SimplifyCFG/cleanup-phis.ll

  Log Message:
  -----------
  [WebAssembly] Call EH personality function instead of `Unwind_CallPersonality` (#209282)

On Wasm, it's not currently possibly to change which `personality` is
attached to a given IR function. This is primarily because no matter
what `personality` is attached, codegen creates a call to a
`Unwind_CallPersonality` wrapper hard-coded to call c++abi's
personality.

In order to allow alternative personalities without introducing bloat at
each personality call site, this PR adjusts the ABI of the personality
on Wasm. `Unwind_CallPersonality` is moved to `libcxxabi` under the name
`__gxx_wasm_personality_v0`, with the "real" personality code renamed
`__gxx_personality_imp` and called by `__gxx_wasm_personality_v0` (after
resetting the landing pad context).

The signature of EH personalities on Wasm is now `int personality(void*
exception_object)` (where the int return is `_Unwind_Reason_Code` and
the `void*` is `_Unwind_Exception*`), and personalities are expected to
`__wasm_lpad_context.selector = 0;`.

Based on #175202


  Commit: 78f84b6ded1f30703faa148ab2c9fd6d0c5a40b7
      https://github.com/llvm/llvm-project/commit/78f84b6ded1f30703faa148ab2c9fd6d0c5a40b7
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [LLVM][APFloat] Add APFloat support for 8-bit UE5M3 type (#210720)

This commit adds APFloat support for UE5M3 type and the associated tests. It is an 8 bit FP type with no sign bit, 5 exponent and 3 mantissa bits

| Property        | Value      |
|-----------------|------------|
| Max exponent    | 31         |
| Bias            | 15         |
| Zero encoding   | 00000 000  |
| Smallest denorm | 00000 001  |
| Largest denorm  | 00000 111  |
| Smallest norm   | 00001 000  |
| Largest norm    | 11111 110  |
| Canonical NaN   | 11111 111  |

Please refer [PTX ISA](https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#alternate-floating-point-data-formats) for more info

Assisted by: Claude Code (Opus 4.8)


  Commit: fd364511f721451771970b39c3d61593eda508c9
      https://github.com/llvm/llvm-project/commit/fd364511f721451771970b39c3d61593eda508c9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp

  Log Message:
  -----------
  [ORC] Remove SymbolInstance class. (#212665)

This class had only one user, and no tests. Remove it for now and update
the single user to call ExecutionSession::lookup directly.


  Commit: bb33de72920a7a62633af0f1ab484d114a07fe7f
      https://github.com/llvm/llvm-project/commit/bb33de72920a7a62633af0f1ab484d114a07fe7f
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lld/test/wasm/lto/libcall-archive-bitcode.ll
    M llvm/test/CodeGen/WebAssembly/immutable-global-alias.ll
    M llvm/test/CodeGen/WebAssembly/imported-const-global.ll

  Log Message:
  -----------
  [WebAssembly] Add a newline at end of file (#212674)

Some tests files lack a newline at end of file. This adds it.


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

  Changed paths:
    M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
    M llvm/lib/CodeGen/DetectDeadLanes.cpp
    M llvm/lib/CodeGen/ExpandPostRAPseudos.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/LiveRangeShrink.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineCombiner.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/PostRASchedulerList.cpp
    M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
    M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
    M llvm/lib/Target/AArch64/AArch64PTrueCoalescing.cpp
    M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
    M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
    M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
    M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
    M llvm/lib/Target/ARM/MVETailPredication.cpp
    M llvm/lib/Target/Hexagon/HexagonLiveVariables.cpp
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
    M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp
    M llvm/lib/Target/X86/GISel/X86PostLegalizerCombiner.cpp
    M llvm/lib/Target/X86/GISel/X86PreLegalizerCombiner.cpp
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Scalar/Sink.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    M llvm/lib/Transforms/Utils/MoveAutoInit.cpp

  Log Message:
  -----------
  Remove analysis preservations subsumed by CFG preservation. NFC (#212672)

Legacy PM: setPreservesCFG() adds every pass registered as CFG-only
(dominator/post-dominator trees, loop/cycle info, block frequency,
register class info, BasicAA, ...) to the preserved set, so a separate
addPreserved<X> for such X is a no-op, as is
addPreservedID(MachineDominatorsID) / addPreservedID(MachineLoopInfoID).

New PM: preserveSet<CFGAnalyses>() keeps every result whose invalidate()
accepts the CFGAnalyses set, making an explicit preserve<X>() on the
same PreservedAnalyses redundant. SLPVectorizer, AggressiveInstCombine
and SROA keep their explicit preserves, which are load-bearing on paths
that change the CFG.

Suggested by jmmartinez in
https://github.com/llvm/llvm-project/pull/212430#discussion_r3664131067

Aided by Claude Fable 5


  Commit: 10ce0f74886f04a78b1183b598a656cb0957b15a
      https://github.com/llvm/llvm-project/commit/10ce0f74886f04a78b1183b598a656cb0957b15a
  Author: Congzhe Cao <congzhe.cao at huawei.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
    A llvm/test/Transforms/PGOProfile/icp_hot_func_threshold.ll

  Log Message:
  -----------
  [ICP] Introduce a hot function cutoff threshold for ICP (#208060)

Introduce a new hot function cutoff threshold specific to Indirect Call
Promotion (ICP) that can enable promotion of more indirect call targets.
Currently by default the threshold value is the same as the general
threshold `ProfileSummaryCutoffHot` that had also been used for ICP, so
by default the ICP behavior stays exactly the same unless users
specify some other value for the new threshold `-hot-func-cutoff-for-icp`.


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

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Sema/CMakeLists.txt
    R llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/include/llvm/TargetParser/CMakeLists.txt
    M llvm/include/module.install.modulemap
    M llvm/include/module.modulemap
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/TableGen/AMDGPUTargetDefErrors.td
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Generate TargetParser table from TableGen (#212353)

Migrate .def file to tablegen. The initial TargetParser
AMDGPU backend only handled R600. Extend to modern targets.
Stub out some tablegen definitions which will be used in future
changes.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: ab993800519301853d4dfebcf4aa454d95938ee4
      https://github.com/llvm/llvm-project/commit/ab993800519301853d4dfebcf4aa454d95938ee4
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
    M llvm/test/CodeGen/X86/stack-folding-fp-avx1.ll
    A llvm/test/CodeGen/X86/vector-sint-to-fp-zero.ll
    A llvm/test/CodeGen/X86/vector-uint-to-fp-zero.ll

  Log Message:
  -----------
  [X86] Fix redundant zeroing operations when casting ints to FP vectors (#212065)


  Commit: 4e326b492aadea4b65f19b5581b0b3e52e8aaed3
      https://github.com/llvm/llvm-project/commit/4e326b492aadea4b65f19b5581b0b3e52e8aaed3
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [BFI] Remove redundant getHeaderIndex lookup in adjustLoopHeaderMass. NFC (#212679)

getHeaderIndex(Loop.Nodes[H]) is H.


  Commit: cf8b0ad96a57570695fba02013590939ffe36af9
      https://github.com/llvm/llvm-project/commit/cf8b0ad96a57570695fba02013590939ffe36af9
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/WebAssembly/cast.ll

  Log Message:
  -----------
  [WebAssembly] Fix v8i16-to-v8f32 uitofp cost (#212501)

I think there was a wrong duplication here. The WebAssembly SIMD
conversion cost table accidentally duplicated the
`UINT_TO_FP` entry for `v8i8` to `v8f32`. As a result, the unsigned
`v8i16` to `v8f32` conversion missed the target-specific table entry and
fell back to the generic cost of 5 instead of the intended cost of 10.

I've added ` llvm/test/Analysis/CostModel/WebAssembly/cast.ll` which I
think is good here as it would help test other casting errors in the
future too.


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

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

  Log Message:
  -----------
  [Bazel] Fixes c2fa412 (#212688)

This fixes c2fa4128681863d92b2fe1615beb73e2ed62876f (#212353).

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

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


  Commit: f4382bedc245a22ea7c354d08eb13543166a5f0d
      https://github.com/llvm/llvm-project/commit/f4382bedc245a22ea7c354d08eb13543166a5f0d
  Author: dong jianqiang <dongjianqiang2 at huawei.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/test/CodeGen/ARM/elf-preemption.ll

  Log Message:
  -----------
  [ARM] Exclude TLS symbols from the .reloc/R_ARM_REL32 path (#212549)

The .reloc branch in emitMachineConstantPoolValue fired for any
isWeakForLinker() + isDSOLocal() symbol, including TLS (thread_local)
weak symbols. R_ARM_REL32 is wrong for TLS: TLS symbols need
TLS-specific relocations (R_ARM_TLS_GD32 etc.). Using R_ARM_REL32 for a
TLS symbol produces a wrong address at runtime.

This broke the 2-stage ARM 32-bit buildbots: stage 1 (with the .reloc
branch) miscompiled stage 2's BPF codegen (BTFDebug.cpp references
llvm::sys::sandbox::Enabled, an inline thread_local weak variable),
causing a SIGSEGV in the BPF Assembly Printer.

Add a regression test (tls_weak_var in elf-preemption.ll) verifying that
TLS weak symbols get TLSGD/TPOFF, not R_ARM_REL32.

Fix #212545


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

  Changed paths:
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/IR/Instruction.cpp

  Log Message:
  -----------
  [IR] Remove deprecated InsertPosition(Instruction*) constructor (#212640)

This implicit constructor has been marked deprecated since almost 2
years in favor of constructing an InsertPosition from a
BasicBlock::iterator.
Remove it now that in-tree users no longer rely on it.

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


  Commit: 9cdb4219e8edb617076a8c1a118cce119179e288
      https://github.com/llvm/llvm-project/commit/9cdb4219e8edb617076a8c1a118cce119179e288
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M mlir/test/IR/invalid-ops.mlir
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/mlir-tblgen/op-format.mlir
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [MLIR] Validate directly parsed optional operand types (#212493)

Commit 6c51938067fa ([MLIR] Guard optional operand resolution in
generated op parsers) guarded resolution of every optional operand to
avoid indexing an empty inferred type range. The guard also skipped
resolveOperands when an optional operand was absent but an independently
optional type directive was present. This accepted malformed assembly
and silently discarded the orphan type when printing the operation.

Keep the guard for inferred type resolutions, which may access an empty
optional type vector, but always resolve directly parsed type ranges so
resolveOperands validates operand/type cardinality. Add coverage for
both valid forms and a type-only negative reproducer.


  Commit: 52f6c88c2c1b6f0c10b9c8fb09ec35e147c593e3
      https://github.com/llvm/llvm-project/commit/52f6c88c2c1b6f0c10b9c8fb09ec35e147c593e3
  Author: David Green <david.green at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp

  Log Message:
  -----------
  [Codegen] Replace any_of with is_contained. NFC (#212289)

A new operator== for SVT and EVT was apparently needed with reverse
operands.


  Commit: 3df3102da5c0ebb5d32a9146f6b0aec925bc4742
      https://github.com/llvm/llvm-project/commit/3df3102da5c0ebb5d32a9146f6b0aec925bc4742
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lld/test/ELF/hexagon-thunk-range-b22rel.s
    M lld/test/ELF/ppc32-call-stub-nopic.s
    M lld/test/ELF/ppc32-call-stub-pic.s
    M lld/test/ELF/ppc32-long-thunk.s
    M lld/test/ELF/ppc64-call-reach.s
    M lld/test/ELF/ppc64-ifunc.s
    M lld/test/ELF/ppc64-long-branch-pi.s
    M lld/test/ELF/ppc64-long-branch-rel14.s
    M lld/test/ELF/ppc64-long-branch.s

  Log Message:
  -----------
  [test] Migrate Hexagon/PowerPC thunk tests to the default thunk order (#212693)

Drop -z nosort-thunks (added by #211721 to keep creation order) and
update expectations to the default order: forward thunks sorted by
descending destination.


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/constexpr-steps.cpp
    M clang/test/AST/ByteCode/dynalloc-limits.cpp
    M clang/test/SemaCXX/constexpr-function-recovery-crash.cpp
    M clang/test/SemaCXX/constexpr-steps.cpp
    M clang/test/SemaCXX/cxx2a-constexpr-dynalloc-limits.cpp
    M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp

  Log Message:
  -----------
  [clang] Improve diagnostics around constexpr limits (#212091)

1) Mention the limit in the "constexpr evaluation hit maximum step
limit" diagnostic as well
2) Move the "use -fconstexpr-steps" instruction to its own note so we
can reuse it for two different diagnostics

For
```c++
struct S {
  constexpr S() {}
};
constexpr S foo[1'500'000] = {};
```
we used to emit
```console
array.cpp:1028:13: error: constexpr variable 'foo' must be initialized by a constant expression
 1028 | constexpr S foo[1'500'000] = {};
      |             ^                ~~
array.cpp:1026:17: note: constexpr evaluation hit maximum step limit; possible infinite loop?
 1026 |   constexpr S() {}
      |                 ^
array.cpp:1028:31: note: in call to 'S()'
 1028 | constexpr S foo[1'500'000] = {};
      |                               ^
```

and now we emit
```console
array.cpp:1028:13: error: constexpr variable 'foo' must be initialized by a constant expression
 1028 | constexpr S foo[1'500'000] = {};
      |             ^                ~~
array.cpp:1026:17: note: constexpr evaluation hit maximum step limit of 1048576; possible infinite loop?
 1026 |   constexpr S() {}
      |                 ^
array.cpp:1028:31: note: in call to 'S()'
 1028 | constexpr S foo[1'500'000] = {};
      |                               ^
array.cpp:1026:17: note: use -fconstexpr-steps= to increase this limit (=0 will remove the limit)
 1026 |   constexpr S() {}
```


  Commit: 8c5193b41f2f1f5fb704a70e1f4bb7c0153d2d9d
      https://github.com/llvm/llvm-project/commit/8c5193b41f2f1f5fb704a70e1f4bb7c0153d2d9d
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/test/Shell/Settings/TestCxxFrameFormatRecursive.test

  Log Message:
  -----------
  [lldb][test] Use C++ frontend for building C++ test file (#212611)


  Commit: 9ba969c46204e4723cf4b5720a34fc537ce2d458
      https://github.com/llvm/llvm-project/commit/9ba969c46204e4723cf4b5720a34fc537ce2d458
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv.ll
    A llvm/test/CodeGen/SPIRV/get-global-id-non-integer-dim.ll

  Log Message:
  -----------
  [SPIR-V] Reject builtin calls if mangled argument types do not match the IR (#208152)


  Commit: 83ed1d0925ef5523e3be4f182db1df712ed490fa
      https://github.com/llvm/llvm-project/commit/83ed1d0925ef5523e3be4f182db1df712ed490fa
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h

  Log Message:
  -----------
  [NFC][SPIR-V] Add constrainSelectedInstRegOperands helper to dedup repeating pattern in global registry (#208703)


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-resources/NonUniformIdx/RWBufferNonUniformIdxLoop.ll

  Log Message:
  -----------
  [SPIR-V] Fix OpDecorate insertion point for non-PHI defs in decorateUsesAsNonUniform (#212524)

Inserting before the defining instruction placed the decoration ahead of
its own operand, breaking dominance for the loop-carried case

Fix machine code errors from
https://github.com/llvm/llvm-project/pull/208224#issuecomment-5095074660


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

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/modernize/redundant-void-arg.md

  Log Message:
  -----------
  [clang-tidy][docs] Fix broken redundant-void-arg documentation. NFC. (#212692)


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

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Add Record::findField to look up fields by offset (#212697)


  Commit: 9cd13c11bacc9a5b83640a7168ab0f51160e4ee0
      https://github.com/llvm/llvm-project/commit/9cd13c11bacc9a5b83640a7168ab0f51160e4ee0
  Author: 222rohan <rohanshenoy405 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86.td

  Log Message:
  -----------
  [X86] Remove TuningFastSHLDRotate from BMI2 targets (#211217)

This flag has no effect at `x86-64-v3` or `v4`. It only enables a pseudo
that lowers `rotl`/`rotr` by immediate to `shld $imm, %reg, %reg`, but a
higher-priority `RORX` pattern matches the same case and always wins the
iSel tie.

Both patterns match `rotl(GR64, imm)`; only their `AddedComplexity`
differs:

```
// X86InstrShiftRotate.td:507 -- SHLD-rotate pseudo, complexity 5
let Predicates = [HasFastSHLDRotate], AddedComplexity = 5, ... in {
  def SHLDROT64ri : ... [(set GR64:$dst, (rotl GR64:$src1, (i8 imm:$shamt)))]>;
}

// X86InstrShiftRotate.td:602 -- RORX pattern, complexity 10, only needs BMI2
let AddedComplexity = 10 in {
  def : Pat<(rotl GR64:$src, (i8 imm:$shamt)),
            (RORX64ri GR64:$src, (ROT64L2R_imm8 imm:$shamt))>;
}
```
LLVM's iSel always picks `RORX`, and it only requires BMI2, which is
part of `x86-64-v3` and up, so it is picked unconditionally on every
v3/v4 build regardless of `TuningFastSHLDRotate`.

No codegen change; existing lit tests unaffected.


  Commit: 17df4290daed63acd8171af570fa8b6190d758f0
      https://github.com/llvm/llvm-project/commit/17df4290daed63acd8171af570fa8b6190d758f0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Add CHECK markers for functions in test (#212699)

We aren't testing the existence of the function in the output here, but
without these markers, debugging test failures here can become very
cumbersome.


  Commit: a6614ee07b916785321eb046d525374a022b8ebb
      https://github.com/llvm/llvm-project/commit/a6614ee07b916785321eb046d525374a022b8ebb
  Author: StoeckOverflow <95052643+StoeckOverflow at users.noreply.github.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    A clang/lib/Sema/SemaAPINotesInternal.h
    A clang/test/APINotes/where-parameters-diagnostics.cpp

  Log Message:
  -----------
  [APINotes] Diagnose invalid Where.Parameters selectors (#209408)

This PR adds diagnostics for exact `Where.Parameters` selectors on top
of the existing parsing, serialization, and Sema matching support.

It diagnoses duplicate exact selectors during API notes conversion,
including duplicate `Where.Parameters: []`, while still allowing broad
name-only entries and same-name entries with different selectors.

It also adds reader/Sema support to warn under `-Wapinotes` when an
exact selector in API notes does not match any visible overload. The
reader can now enumerate stored exact selectors for global functions and
C++ methods, and Sema compares those against the selector candidates
derived from the visible overload set.

The diagnostic path follows the same matching policy as Sema, including
the desugared alias fallback, so valid matched selectors do not produce
false warnings.

Tests cover duplicate selector errors, unmatched selector warnings for
globals and C++ methods, broad-plus-exact coexistence, exact notes not
silently applying on mismatch, and no false warnings for matched or
alias-fallback selectors.

Reviewers: @Xazax-hun @j-hui @egorzhdan

---------

Co-authored-by: John Hui <updog at j-hui.com>


  Commit: 005c18eac0a70158c2db4611bf824af6e0bc80ac
      https://github.com/llvm/llvm-project/commit/005c18eac0a70158c2db4611bf824af6e0bc80ac
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A flang/include/flang/Optimizer/Transforms/AllocationPlacementPolicy.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    A flang/lib/Optimizer/Transforms/AllocationPlacement.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/test/Transforms/allocation-placement-budget.fir
    A flang/test/Transforms/allocation-placement-stack-arrays-mode.fir
    A flang/test/Transforms/allocation-placement.fir

  Log Message:
  -----------
  [flang] Add policy-driven allocation-placement pass - memory passes unification [2/5] (#210742)

Introduce a new function-level pass, allocation-placement, that unifies
the stack/heap placement decisions currently split between the
stack-arrays and memory-allocation-opt passes. For each array allocation
it consults a policy to decide whether it should live on the stack
(fir.alloca) or the heap (fir.allocmem) and rewrites it accordingly,
reusing fir::replaceAllocas for stack-to-heap and the StackArrays
analysis/rewrite for heap-to-stack (so heap-to-stack only happens where
it is provably safe).

The default policy (AllocationPlacementPolicy.h) is threshold-driven:
- small constant-size arrays go on the stack within a per-function stack
budget, otherwise on the heap;
- big constant-size arrays: user variables stay on the stack,
temporaries go on the heap;
  - runtime-sized arrays go on the heap;
- an aggressive mode places all arrays on the stack (best effort). User
variables are distinguished from compiler temporaries via the presence
of a uniqued name. A hook lets downstream users override the thresholds
per allocation (e.g. for device routines or parallel regions).

The pass is not wired into any pipeline yet; it is reachable through
fir-opt and covered by isolated tests.

Assisted-by: AI


  Commit: ebc5778e5dc9e195311911595c0b1a415f807c7f
      https://github.com/llvm/llvm-project/commit/ebc5778e5dc9e195311911595c0b1a415f807c7f
  Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M offload/test/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Enable offload test on Windows (#212480)

Description:
This change enables the offload test build on Windows by adding
compatibility guards around libomptarget test suites.

Why:
libomptarget is not available on Windows. Without these guards, CMake
fails when referencing the missing omptarget target. With these guards,
Windows builds complete successfully and run available tests (using
check-offload-unit), while Linux/macOS builds remain unaffected.


  Commit: b95ce5ed68edad82e766ee8a7e9dae7809bc84dc
      https://github.com/llvm/llvm-project/commit/b95ce5ed68edad82e766ee8a7e9dae7809bc84dc
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h

  Log Message:
  -----------
  [LLVM] Disambiguate MVT and SVT comparisons (#212711)

[LLVM] Disambiguate MVT and SVT comparisons

Without this:
```
error: use of overloaded operator '==' is ambiguous (with operand types 'MVT' and 'llvm::MVT::SimpleValueType')
  167 |       if (VT == MVT::Untyped)
      |           ~~ ^  ~~~~~~~~~~~~
llvm/include/llvm/CodeGenTypes/MachineValueType.h:62:10: note: candidate function
   62 |     bool operator==(const MVT& S) const { return SimpleTy == S.SimpleTy; }
      |          ^
llvm/include/llvm/CodeGen/ValueTypes.h:598:15: note: candidate function (with reversed parameter order)
  598 |   inline bool operator==(MVT::SimpleValueType SVT, EVT VT) { return VT == SVT; }
      |               ^
1 error generated.
```

Fixes 52f6c88c2c1b6f0c10b9c8fb09ec35e147c593e3


  Commit: 61d6e494e97a8fda6946291fd3bc6bb648c86e93
      https://github.com/llvm/llvm-project/commit/61d6e494e97a8fda6946291fd3bc6bb648c86e93
  Author: vsimion26 <vlad.simion at intel.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
    M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
    M mlir/test/Dialect/Quant/invalid-quantile-types.mlir
    M mlir/test/Dialect/Quant/quantile-types.mlir

  Log Message:
  -----------
  QuantileType relax quantileType conditions and inheritance issue (#204793)

# Recategorize QuantileType as Storage Format, Not Quantization Scheme

## Summary

Reclassify `QuantileType` from inheriting `QuantizedType` to functioning
as a pure storage type.

## Motivation

### QuantileType is a Storage Format, Not a Quantization Scheme

After careful consideration, there was a conclusion reached that
**QuantileType should not be registered as a subtype of QuantizedType**.
The architectural distinction is critical:

- **QuantizedType** represents different quantization schemes (uniform,
per-axis, etc.), semantic operations that map values into a
lower-precision domain
- **QuantileType** is purely a **storage format** that specifies how to
interpret indices within a lookup table (LUT)

QuantileType was never meant to function as a quantization scheme on its
own. Instead, its purpose is to indicate **how to interpret indices
based on the given LUT**. It is an orthogonal concern to quantization
semantics; it describes data organization, not mathematical
transformation.

### Relaxed Type Conditions

The previous implementation restricted the LUT values to float types
only. However, float types are not the only types that can exist inside
a LUT, integer types are valid as well.

This PR removes the type restriction, allowing **both floating-point and
integer-based LUT interpretations** to coexist, better matching actual
use cases.

## Changes

- **Removed**: Incorrect inheritance of `QuantizedType` by
`QuantileType`
- **Relaxed**: Type constraints to accept both float and integer LUT
value types


  Commit: e062a29cf865bb7cadea6cb605c9f3515e5b883f
      https://github.com/llvm/llvm-project/commit/e062a29cf865bb7cadea6cb605c9f3515e5b883f
  Author: Yordan Vásquez <vyordangiovani at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/test/std/numerics/numarray/template.valarray/valarray.access/access.pass.cpp
    M libcxx/test/std/numerics/numarray/template.valarray/valarray.access/const_access.pass.cpp

  Log Message:
  -----------
  [libc++] Mark LWG3133 as Complete and add valarray operator[] safety tests (#208145)

This verifies that libc++ has implemented the resolution of LWG3133,
which modernizes the requirements on `T` for `std::complex<T>` and
`std::valarray<T>` in [numeric.requirements].
- No code changes were needed for `std::valarray<T>`: its `operator[]`
already indexes through a raw pointer and never relies on a
user-overloadable `operator&`, so it already conforms to the revised
wording.
- Added o`perator_hijacker`-based tests to `valarray`'s
`access.pass.cpp`/`const_access.pass.cpp`, confirming `operator[]`
doesn't rely on a user-overloadable `operator&`.


  Commit: 0cce7a09237402359113036e9fe6469301e53a9c
      https://github.com/llvm/llvm-project/commit/0cce7a09237402359113036e9fe6469301e53a9c
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.div.fmas.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.kill.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.demote.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-or.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-xor.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix Vcc reg bank apply method for sgpr i1 input (#212532)

Need to clean up high bits on sgpr bool use, simlar to Sgpr32AExtBoolInReg.
G_AMDGPU_COPY_VCC_SCC assumes clean (zero) high bits in sgpr i32 input.
This should be combined away in most cases, for example if input is result
of a compare. But should stay for example for truncated input from s_load.


  Commit: 9df6ca12f24bd35b02f5eae7a27cc92533482e03
      https://github.com/llvm/llvm-project/commit/9df6ca12f24bd35b02f5eae7a27cc92533482e03
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-ptrue-coalesce.mir

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Add ElementSize information to fp compare, continuous/replicating load and store instructions (#204821)

This information was originally used to implement MOVPFRX support.
However https://github.com/llvm/llvm-project/pull/204820 uses the same
information to determine which bits of an instruction's predicate
operand are used so that PTRUE instructions can be coalesced.
MOVPRFXable instructions are a subset of all predicated instructions, so
this patch extends some non-MOVPRFXable instructions with ElementSize
information.


  Commit: 3120980d24f67f5754742c1dc8865e30307529ce
      https://github.com/llvm/llvm-project/commit/3120980d24f67f5754742c1dc8865e30307529ce
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [LV][NFC]: Use CostCtx.CM instead of CM in precomputeCosts (#212287)


  Commit: 462602de4245031e363b80a208f595826e738831
      https://github.com/llvm/llvm-project/commit/462602de4245031e363b80a208f595826e738831
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    A llvm/test/CodeGen/AMDGPU/soft-waitcnt-deletion.mir

  Log Message:
  -----------
  [AMDGPU] Fix incorrect VM_VSRC simplification after async instruction (#212481)

Add ASYNC_CNT to the list of VMEM counters. The implication is that only
if all these counters are zero can we know that there are no outstanding
VMEM instructions, so VM_VSRC must be zero.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/MachineVerifier/AMDGPU/verify-ds-vdata-vdst-both-agpr-or-vgpr.mir

  Log Message:
  -----------
  [AMDGPU] Remove redundant AGPR/VGPR register class verification (#212721)


  Commit: 3757c5d331d5d4781a7325ea890b2754c6dad5bb
      https://github.com/llvm/llvm-project/commit/3757c5d331d5d4781a7325ea890b2754c6dad5bb
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/test/CodeGen/AArch64/GlobalISel/split-wide-shifts-multiway.ll
    M llvm/test/CodeGen/AArch64/clmul-fixed.ll
    M llvm/test/CodeGen/AArch64/clmul.ll
    A llvm/test/CodeGen/AArch64/misched-reg-pressure-limits.mir
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/neon-extadd.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/TableGen/aarch64-register-info-stats.td

  Log Message:
  -----------
  [AArch64] Mark FIXED_REGS register class as non-allocatable (#212250)

FIXED_REGS is not used for register allocation, but since it overlaps
the GPR classes via FP and SP, TableGen merges VG and FFR into the GPR
pressure set, giving it a static limit of 35.

The underlying GPR32all class has 33 registers: W0-W30, WZR, and WSP.
WZR and WSP are always reserved, leaving up to 31 allocatable registers
depending on whether W29 (FP) and W30 (LR) are reserved.

Marking FIXED_REGS non-allocatable removes VG and FFR from the pressure
set, reducing its static limit from 35 to 33 and its dynamic limit from
33 to 31. The corrected limit changes scheduling decisions made by the
register-pressure heuristics, which explains the test churn.

Assisted-by: codex


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_smem_features.txt

  Log Message:
  -----------
  [AMDGPU] Fix typos SGRP and VGRP. NFC. (#212732)


  Commit: 29bc0749034c4f2bda0752360ecacd4e89d7439c
      https://github.com/llvm/llvm-project/commit/29bc0749034c4f2bda0752360ecacd4e89d7439c
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/source/API/SBTarget.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Fix crash on creating string error (#212503)

It crashes because the `default` error string may not be a format string
compared to the `fallback` error string


  Commit: 5989d40ab1d0db8333b5976d957a49525d36cf35
      https://github.com/llvm/llvm-project/commit/5989d40ab1d0db8333b5976d957a49525d36cf35
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AllocationPlacement.cpp
    A flang/test/Fir/allocation-placement-pipeline.fir

  Log Message:
  -----------
  [flang] Wire allocation-placement into the optimizer pipeline (default off) - memory passes unification [3/5] (#210745)

Add a hidden -enable-allocation-placement flag that, when set, replaces
the stack-arrays and memory-allocation-opt passes in the default FIR
optimizer pipeline with the unified allocation-placement pass. The flag
is off by default, so the legacy passes remain the default path and
behavior is unchanged.

When enabled, the pass runs with its default byte-size thresholds; the
-fstack-arrays strategy is forwarded through the new stackArrays option.

Assisted-by: AI


  Commit: 6e116760ca4010be890b7fa39c93f2c902ab2a31
      https://github.com/llvm/llvm-project/commit/6e116760ca4010be890b7fa39c93f2c902ab2a31
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-add-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/resized-bv-values-non-power-of2-node.ll

  Log Message:
  -----------
  [SLP]Initial support for copyables in fmuladd intrinsic

Adds llvm.fmuladd as a main operation for copyable elements. A
non-fmuladd lane V is modeled as fmuladd(0.0, -0.0, V), which equals
-0.0 + V == V for every V. Only the addend operand is supported for
now; multiplicand operands may be added later.

Reviewers: bababuck, hiraditya, RKSimon

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


  Commit: a41d59740625948c6b334abbf921d0888b6f0377
      https://github.com/llvm/llvm-project/commit/a41d59740625948c6b334abbf921d0888b6f0377
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M libcxx/test/libcxx/atomics/clear_padding.pass.cpp

  Log Message:
  -----------
  [libc++][test][NFC] remove old UNSUPPORTED clang from clear_padding.pass.cpp (#212690)

Follow up PR for comment
https://github.com/llvm/llvm-project/pull/211258/changes#r3663614103

I think I must have made an oversight while resolving a merge conflict


  Commit: 2545a108f4d173ed509e3eea33753227bdd6f847
      https://github.com/llvm/llvm-project/commit/2545a108f4d173ed509e3eea33753227bdd6f847
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model-i386.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/induction-cost.ll

  Log Message:
  -----------
  [VPlan] Compute cost of some VPWidenIntOrFpInductions in VPlan (#202232)

Add initial implementation of VPWidenIntOrFpInductionRecipe::computeCost,
handling un-truncated inductions.

For the first patch, only compute costs in VPlan if there are no
truncated inductions (in that case, there are additional differences for
the cost model, as previously we would not cost the truncate properly)
and the vector loop won't get unrolled (no induction cost).

Note that some decision change. This is due to the legacy cost model
computing the cost of the original IR, where the induction is scaled in
the loop in each iteration (e.g. with mul), while in the vector loop we
scale the increment, and there is just an add to increment the
induction. This is more accurate than the legacy cost computation.

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


  Commit: 6314c9731eafa68837bbbab65e347922134b004a
      https://github.com/llvm/llvm-project/commit/6314c9731eafa68837bbbab65e347922134b004a
  Author: firmiana <firmiana402 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp

  Log Message:
  -----------
  [lldb][NFC] Explicitly list unsupported DWARF expression opcodes (#210363)

This PR addresses
[#202251](https://github.com/llvm/llvm-project/issues/202251).

Several opcodes recognized by LLDB's DWARF expression decoding logic
currently have no explicit `case` in `DWARFExpression::Evaluate`. They
therefore reach the generic default path, which makes it unclear whether
their evaluator status is intentional or an omission.

Explicitly list the affected opcodes and group them with the existing
`DW_OP_xderef`, `DW_OP_xderef_size`, `DW_OP_call2`, and `DW_OP_call4`
cases. All twelve known but unsupported opcodes now share an
`unimplemented opcode` return, while `default` remains responsible for
unknown and vendor-handled opcodes. No opcode evaluation semantics
change.

The affected opcodes are `DW_OP_call_ref`, `DW_OP_constx`,
`DW_OP_const_type`, `DW_OP_regval_type`, `DW_OP_deref_type`,
`DW_OP_xderef_type`, `DW_OP_reinterpret`, and
`DW_OP_GNU_implicit_pointer`.

## Tests

The existing per-opcode status-locking tests in
`DWARFExpressionTest.cpp` cover all affected cases and are updated to
check the unified diagnostic.


  Commit: d630025295d5ef6724ec9deab162b983ffee6638
      https://github.com/llvm/llvm-project/commit/d630025295d5ef6724ec9deab162b983ffee6638
  Author: Felix Ye <felixyjs at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M mlir/test/Examples/Toy/Ch6/llvm-lowering.mlir
    M mlir/test/Examples/Toy/Ch7/llvm-lowering.mlir

  Log Message:
  -----------
  [mlir][toy] Fix Ch6/Ch7 llvm-lowering tests (#212118)

Add missing `| FileCheck %s` to `RUN` lines so `CHECK` lines can be
verified. Also correct the expected result from `30` to `36`. The result
should be `6*6=36`.

The example in the tutorial is correct (`3.600000e+01`).
https://mlir.llvm.org/docs/Tutorials/Toy/Ch-6/

Signed-off-by: Felix Ye <felixyjs at gmail.com>


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

  Changed paths:
    M libcxx/src/include/atomic_support.h

  Log Message:
  -----------
  [libc++][NFC] Clean up atomic_support.h (#212464)

We don't support any compilers which don't have the atomic builtins, so
we don't need to check whether they exist. There is also no need for an
anonymous namespace, since all the functions are inline.


  Commit: 25cc0d29e2c34966116f897e0db496d94cf91acf
      https://github.com/llvm/llvm-project/commit/25cc0d29e2c34966116f897e0db496d94cf91acf
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [AArch64] NFC: simplify isCopyInstrImpl expression (#212487)

To something more intuitive by applying the following logic:
* `!isVirtual()` -> `isPhysical()`
* `!isPhysical()` -> `isVirtual()`
* `(a || b) && (!a || c)` -> `(!a && b) || (a && c)`


  Commit: f53596de0e42e9df10831cb50438bc8b85f826b3
      https://github.com/llvm/llvm-project/commit/f53596de0e42e9df10831cb50438bc8b85f826b3
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/ABIVersions.def
    M clang/lib/CodeGen/Targets/Mips.cpp
    A clang/test/CodeGen/mips-complex-abi.c

  Log Message:
  -----------
  [MIPS][clang] make `_Complex` ABI match GCC (#212119)

fixes https://github.com/llvm/llvm-project/issues/212109

>From the edits to the release notes:

- On MIPS, a `_Complex` value with an integer element type is now
returned packed
into a single integer register when it fits in one, matching GCC. A
`_Complex char` or
`_Complex short`, and on N32/N64 also a `_Complex int`, is no longer
returned
with one part per register. `-fclang-abi-compat=23` restores the
previous
  behavior. (#GH212109)

- On MIPS N32/N64, a `_Complex float` or `_Complex double` argument is
now packed
into integer registers, or onto the stack, once there is no longer room
to give
each of its parts a floating-point register, matching GCC. Clang
previously
always passed the parts separately. `-fclang-abi-compat=23` restores the
previous
  behavior. (#GH212109)


  Commit: 1d6a3dd80b48ad1990ed5e3e11acd3b06d2909b6
      https://github.com/llvm/llvm-project/commit/1d6a3dd80b48ad1990ed5e3e11acd3b06d2909b6
  Author: antoine moynault <antoine.moynault at linaro.org>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [LinkerWrapper][test] fix test offload-wrapper.ll (#212713)

The llc RUN command added in #212614 needs the X86 backend registered


  Commit: deed195c31f0ece487aa5ef79c90633860f10b93
      https://github.com/llvm/llvm-project/commit/deed195c31f0ece487aa5ef79c90633860f10b93
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/test/Analysis/pthreadlock.c
    A clang/test/Analysis/simplify-drops-concrete.c
    M clang/test/Analysis/z3/z3-crosscheck.c

  Log Message:
  -----------
  [analyzer] Prune infeasible states related to concrete ints early to fix a crash (#210912)

RangedConstraintManager discards a simplified symbol if it reduces to a
concrete integer. This leads to delayed realization that some state
might be infeasible (because the concrete integer does not fit in the
assumed range), which might produce unexpected null pointers on the
following state splits.

PthreadLockChecker has fallen just into this trap. It assumes
`pthread_mutex_lock` is always called in a feasible state, which is was
not true.
In particular, in ZFS the analyzer crashes when runs in CTU mode because
it reaches `pthread_mutex_lock()` in over-constraint state (see the
reduced example in the first commit).

Checkers rely on the invariant that a state split can never result in
both `StateRef`s being null. To fix this violation of the invariant,
this patch helps RangedConstraintManager to realize a state is
infeasible and abort its exploration early so no follow-up state split
produce unexpected null-null pair.

Assisted by Claude Opus 4.8

--
CPP-8665


  Commit: ed389ca093797baab0bcc95ffd2b6ca41741c40d
      https://github.com/llvm/llvm-project/commit/ed389ca093797baab0bcc95ffd2b6ca41741c40d
  Author: Aochang Liu <102237385+HelloWorldU at users.noreply.github.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A llvm/test/CodeGen/ARM/regcoalesce-undef-copy-subreg-redef.ll
    A llvm/test/CodeGen/ARM/regcoalesce-undef-copy-subreg-redef.mir

  Log Message:
  -----------
  [CodeGen][ARM] Add regression tests for #202263 (#202599)

The underlying issue—RegisterCoalescer eliminating an undef COPY and
leaving a partial subregister redef that reads a value that no longer
exists—was fixed in #204039.

This PR adds the regression coverage originally developed alongside the
fix attempt, so the pattern remains covered:

- an end-to-end IR test that checks the generated assembly with
FileCheck;
- a focused single-pass `-run-pass=register-coalescer` MIR test using
`-verify-coalescing`, which reproduces the "Instruction is reading
nonexistent value" verifier error from #202263 when #204039 is reverted,
and passes with the fix applied.

Fixes #202263


  Commit: e393b0a120de3cc3b0055d129056b30e48777cb6
      https://github.com/llvm/llvm-project/commit/e393b0a120de3cc3b0055d129056b30e48777cb6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/OpenMP/update_clause_ast_dump.cpp
    M clang/tools/libclang/CIndex.cpp
    M flang/include/flang/Lower/OpenMP/Clauses.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [OpenMP] Split UPDATE clause into two: for ATOMIC and for DEPOBJ (#212270)

The UPDATE clause has the same spelling on both of these directives, but
functionally it's two different clauses. Split them into "update", and
"update_depend_objects" to be able to tie their properties to their enum
ids.

This should make it easier to implement auto-generating of clause
properties in the future by avoiding spelling conflicts.

---------

Co-authored-by: Alexey Bataev <a.bataev at outlook.com>


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

  Changed paths:
    M llvm/test/MC/AMDGPU/alignto_mcexpr.s
    M llvm/test/MC/AMDGPU/branch-comment.s
    M llvm/test/MC/AMDGPU/data.s
    M llvm/test/MC/AMDGPU/dl-insts-err.s
    M llvm/test/MC/AMDGPU/elf-lds-error.s
    M llvm/test/MC/AMDGPU/elf-lds.s
    M llvm/test/MC/AMDGPU/elf-notes-verify-amdgcn.s
    M llvm/test/MC/AMDGPU/exp-err.s
    M llvm/test/MC/AMDGPU/exp-pregfx11.s
    M llvm/test/MC/AMDGPU/exp.s
    M llvm/test/MC/AMDGPU/hsa-metadata-kernel-args-v3.s
    M llvm/test/MC/AMDGPU/hsa-metadata-kernel-attrs-v3.s
    M llvm/test/MC/AMDGPU/hsa-metadata-kernel-code-props-v3.s
    M llvm/test/MC/AMDGPU/labels-branch-err.s
    M llvm/test/MC/AMDGPU/labels-branch-gfx9.s
    M llvm/test/MC/AMDGPU/labels-branch.s
    M llvm/test/MC/AMDGPU/max-branch-distance.s
    M llvm/test/MC/AMDGPU/mcexpr_amd.s
    M llvm/test/MC/AMDGPU/mcexpr_amd_err.s
    M llvm/test/MC/AMDGPU/occupancy_mcexpr.s
    M llvm/test/MC/AMDGPU/offset-expr.s
    M llvm/test/MC/AMDGPU/offsetbug_once.s
    M llvm/test/MC/AMDGPU/offsetbug_one_and_one.s
    M llvm/test/MC/AMDGPU/offsetbug_twice.s
    M llvm/test/MC/AMDGPU/pal-registers.s
    M llvm/test/MC/AMDGPU/reloc-directive.s
    M llvm/test/MC/AMDGPU/round-trip.s
    M llvm/test/MC/AMDGPU/s_endpgm.s
    M llvm/test/MC/AMDGPU/sop1.s
    M llvm/test/MC/AMDGPU/sop2-err.s
    M llvm/test/MC/AMDGPU/sopp.s
    M llvm/test/MC/AMDGPU/sym_kernel_scope.s
    M llvm/test/MC/AMDGPU/vcc_tuples.s
    M llvm/test/MC/AMDGPU/vintrp-err.s

  Log Message:
  -----------
  AMDGPU: Manually convert some MC tests to subarch triples (#212728)


  Commit: 31de6f2c4b4d38bbcabea7a1eeb000f90f368604
      https://github.com/llvm/llvm-project/commit/31de6f2c4b4d38bbcabea7a1eeb000f90f368604
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [mlir][SPIR-V] Add SPIRVToLLVM conversions for GL.FSign and GL.SSign (#206934)


  Commit: 6279654d605a6821a4ece039d13504a15b09ac03
      https://github.com/llvm/llvm-project/commit/6279654d605a6821a4ece039d13504a15b09ac03
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn

  Log Message:
  -----------
  [gn] port c2fa41286818 (AMDGPUTargetParserDef.inc) (#212763)


  Commit: 2f910f66e7e181c8c1b6ed97d44e6f4bceb6c557
      https://github.com/llvm/llvm-project/commit/2f910f66e7e181c8c1b6ed97d44e6f4bceb6c557
  Author: newgre <jannewger at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A llvm/include/llvm/Transforms/Instrumentation/CopyProf.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    A llvm/lib/Transforms/Instrumentation/CopyProf.cpp
    A llvm/test/Instrumentation/CopyProf/function-instrumentation.ll
    A llvm/test/Instrumentation/CopyProf/no-instrumentation.ll
    A llvm/test/Instrumentation/CopyProf/store-instrumentation.ll

  Log Message:
  -----------
  [CopyProf] Add CopyProf instrumentation passes. (#207385)

This patch introduces the instrumentation passes and corresponding tests
for CopyProf, a profiling tool designed to identify unnecessary object
copies in C++ applications.
RFC at

https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038.

Three passes are added:
- CopyProfPass inserts enter/exit callback around special member
functions.
- CopyPRofStoresPass instruments store instructions to track memory
modifications.
- ModuleCopyProfPass inserts a module constructor to initialize the
CopyProf runtime at program startup (will be added later).


  Commit: b3115cd807196e465ce3fc16f0cab58be24e47fc
      https://github.com/llvm/llvm-project/commit/b3115cd807196e465ce3fc16f0cab58be24e47fc
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Affine/Transforms/Passes.td
    M mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
    M mlir/test/Dialect/Affine/affine-loop-normalize.mlir

  Log Message:
  -----------
  [mlir][affine] Add useExpensiveMath option to AffineLoopNormalize pass (#211989)

This PR integrates constant bound inference into the existing
`AffineLoopNormalize` pass under a new `useExpensiveMath` option. When
`useExpensiveMath` is enabled (disabled by default due to potential
compilation time overhead), the pass leverages
`ValueBoundsConstraintSet` (uss presburger) analysis to refine dynamic
`affine.for` loop bounds into compile-time constant bounds. RFC:
https://discourse.llvm.org/t/rfc-mlir-enable-dynamic-and-tighter-affine-unrolling-via-valueboundsconstraintset/91055/2

---------

Co-authored-by: Oleksandr "Alex" Zinenko <azinenko at amd.com>


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/array_coor_nuw_nusw.fir
    M flang/test/Fir/convert-to-llvm.fir

  Log Message:
  -----------
  [flang] Drop nuw on XArrayCoor for non-positive slice steps (#212639)

Example:
```fortran
z(:, 3:2:-1) = z(:, 1:2)
```

In this code, reverse-section indexing lowers `idx*step` / `diff+adj`
with `nuw`. A negative step can make the product negative, so `nuw` is
invalid and LLVM `-O2` can drop the stores.

Fix: keep `nsw|nuw` only for known positive steps; otherwise keep `nsw`
and drop `nuw` (negative, zero, or unknown).


  Commit: 03de9b148a19996fd722e9af6d09ecaf95f8a1b2
      https://github.com/llvm/llvm-project/commit/03de9b148a19996fd722e9af6d09ecaf95f8a1b2
  Author: Ian Tayler Lessa <ian.taylerlessa at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tosa] Extend cancelling block-scaled cast optimisation to bf16 (#212517)

The CancellingBlockScaledCastsOptimization optimises away sequences
where a block-scaled tensor is cast to fp32 and then cast back to its
original block-scaled type.

This patch extends it to also cover cases where the intermediate type is
bf16, since the 7 bits of mantissa and 8 bits in the exponent are
sufficient to encode any `element * scale` product with valid
block-scaled type combinations.

---------

Signed-off-by: Ian Tayler Lessa <ian.taylerlessa at arm.com>


  Commit: dc5f2aae75b1f80cd30c57f9298d63b104da94d4
      https://github.com/llvm/llvm-project/commit/dc5f2aae75b1f80cd30c57f9298d63b104da94d4
  Author: Chirag Patel <chirag198838 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/Attributor/nofpclass-arbitrary-fp.ll

  Log Message:
  -----------
  [Analysis] Adding convert_from_arbitrary_fp support in computeKnownFPClass. (#208585)

fixes #208437 

>From LangRef for intrinsic convert_from_arbitrary_fp ,
"Normal finite values are converted exactly. NaN values follow LLVM’s
standard NaN rules; the NaN representation is preserved... and the NaN
payload may be truncated or extended..."
-> if src has Nan -> preserve nan

"If a value exceeds the representable range of the target type (for
example, converting Float8E8M0FNU with large exponents to half), the
result is converted to infinity with the appropriate sign."


  Commit: 13a6fc28ac56e0abd84d90e60d9fb325c7c3ec84
      https://github.com/llvm/llvm-project/commit/13a6fc28ac56e0abd84d90e60d9fb325c7c3ec84
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M third-party/benchmark/src/sysinfo.cc

  Log Message:
  -----------
  [benchmark] Back port 2b0bff7 from upstream (#212278)

Fix compile error with clang -Werror -Wunused-template
(cherry picked from commit 2b0bff7444a8df460daab2e5af18bce45ca00657)


  Commit: 7f0e5f9eb7466f68bb10d418421c9295bf80b345
      https://github.com/llvm/llvm-project/commit/7f0e5f9eb7466f68bb10d418421c9295bf80b345
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.h
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/Sema.cpp

  Log Message:
  -----------
  [clang] Cache the analysis-based warning policy in effect (#212213)

While benchmarking with warnings enabled, I found that
`AnalysisBasedWarnings::getPolicyInEffectAt` runs at the end of every
function body, performing six location-sensitive `isIgnored()` queries.
This overhead comes from #136323 ([compile-time
impact](https://llvm-compile-time-tracker.com/compare.php?from=2a9f77f6bd48d757b2d45aadcb6cf76ef4b4ef32&to=71ce9e26aec00e4af27a69ccfab8ca1773ed7018&stat=instructions:u)).

Since these six diagnostics only depend on the diagnostic state at the
query location and whether it is in a system header or macro, we can
cache the computed policy rather than recomputing it for every function.

The cache flushes when a `#pragma clang diagnostic` changes severities,
and it bypasses active diagnostic suppression mappings.

Compile-time results for this pr:

https://llvm-compile-time-tracker.com/compare.php?from=49de424f45389cb757c3cc8c50daf38d024e2314&to=a61503b54e9568254885777cf89f5ca1586ec99f&stat=instructions%3Au


  Commit: 7e1aba74a4f702dbd0b5c2ebc87f88dffb851b6e
      https://github.com/llvm/llvm-project/commit/7e1aba74a4f702dbd0b5c2ebc87f88dffb851b6e
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/fp-classify-nan.ll

  Log Message:
  -----------
  Reland [PowerPC] improve performance on the isNan and !isNan function in case of -ffp-model=strict (#212565)

1. reland the patch https://github.com/llvm/llvm-project/pull/204170
2. and fix the regression caused by above patch.


  Commit: e61b2abe8b7d7baef9192b41aa92f123640ca598
      https://github.com/llvm/llvm-project/commit/e61b2abe8b7d7baef9192b41aa92f123640ca598
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
    M llvm/test/TableGen/aarch64-register-info-stats.td

  Log Message:
  -----------
  [AArch64] Remove GPR64arg register class (#212457)

GPR64arg was added in fcbec02ea6fb to describe X0-X7 for the reserved
argument-register check. It is an ABI register set rather than an
allocation constraint and should not be used for register allocation.
Given it has a single use that only cares about the number of registers,
a register class isn't necessary.

This exposes that GlobalISel recomputes the minimal register class when
a matching inline asm input is tied to a fixed physical-register output.
For X2 that class was GPR64arg, getRegistersForValue already asks the
target which class implements the output constraint. Retain that class
and reuse it for the matching input.

Assisted-by: codex


  Commit: 2faa90a208a14b7e681dc9122a889c894823814a
      https://github.com/llvm/llvm-project/commit/2faa90a208a14b7e681dc9122a889c894823814a
  Author: Zach Goldthorpe <Zach.Goldthorpe at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir

  Log Message:
  -----------
  [AMDGPU] Retain subreg when legalising generic operand (#212636)

When building a `COPY` to legalise a generic operand whose register
class does not match what is expected, the subregister is not retained
in the copy, and is not dropped from the newly created virtual
destination register.


  Commit: a463071dc427777a2a2bfc155c6680d7ff220994
      https://github.com/llvm/llvm-project/commit/a463071dc427777a2a2bfc155c6680d7ff220994
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/LTO/LTOModule.cpp
    A llvm/test/LTO/X86/ifunc.ll

  Log Message:
  -----------
  [LTO] Handle GlobalIFunc in LTOModule::parseSymbols (#212515)

Avoids the assert immediately below.

Fixes #45694

rdar://182744700


  Commit: 82c7b9ac09e55cfc9887cb4e0de6221209c690b5
      https://github.com/llvm/llvm-project/commit/82c7b9ac09e55cfc9887cb4e0de6221209c690b5
  Author: Tshaka Lekholoane <mail+git at tshaka.dev>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format] Add Natural option for SortIncludes (#210788)

`SortIncludes` currently orders includes lexicographically with the
option to ignore case or extension. This adds another option, `Natural`,
that compares embedded runs of digits as numbers rather than sequences
of characters, matching the "natural sort" behaviour found in most file
managers and tools like `sort` when called with the `-V` option.

**Disclaimer**

AI assistance was used in initial exploration and review but the code is
"hand generated".


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/global_smrd_cfg.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll

  Log Message:
  -----------
  [AMDGPU] Improve MemorySSA walking in isClobberedInFunction (#211817)

Consistently call the two argument overload
`MemorySSAWalker::getClobberingMemoryAccess(MemoryAccess,
MemoryLocation)` to get a clobbering def (according to the AliasAnalysis
used by MSSA) before applying the special cases in `isReallyAClobber`.

This has the effect of marking more loads as `amdgpu-noclobber` and
selecting SMEM load instructions for them.

Fixes: ROCM-28492


  Commit: 2b06cb5e103886e9606d431defcd5159302ab87f
      https://github.com/llvm/llvm-project/commit/2b06cb5e103886e9606d431defcd5159302ab87f
  Author: Dhruva <dhruvakodiadka at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    A llvm/test/CodeGen/AMDGPU/freeze-scalar-load.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    M llvm/test/CodeGen/AMDGPU/neg_ashr64_reduce.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll

  Log Message:
  -----------
  [DAGCombine] Freeze after load is scalarized. (#212587)

fixes #211567


  Commit: 01891953eea17544f6181bb51c973711a382702b
      https://github.com/llvm/llvm-project/commit/01891953eea17544f6181bb51c973711a382702b
  Author: Shengxin Pei <TPPPP72 at outlook.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Parse/ParseOpenMP.cpp
    A clang/test/SemaOpenMP/gh197162.c

  Log Message:
  -----------
  [Clang][OpenMP] Fixed an assertion on omp taskloop transparent (#200663)

In
https://github.com/llvm/llvm-project/blob/15bb4a97a798ed43b3966c99d37585651b965e5e/clang/lib/Parse/ParseOpenMP.cpp#L3289-L3295
We missed a check for `WrongDirective` before calling
`ActOnOpenMPTransparentClause`.

This patch adds the missing check.
fix #197162


  Commit: e854fb756ef1f5e65bd03a16a7d1bde1ebf7769c
      https://github.com/llvm/llvm-project/commit/e854fb756ef1f5e65bd03a16a7d1bde1ebf7769c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2f910f66e7e1 (#212782)


  Commit: 82a4cd776063b8c1013045b00b6bb3449c45e8b6
      https://github.com/llvm/llvm-project/commit/82a4cd776063b8c1013045b00b6bb3449c45e8b6
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/fuse_codegen.cpp
    M clang/test/OpenMP/interchange_codegen.cpp
    A clang/test/OpenMP/loop_transform_final_iv.c
    M clang/test/OpenMP/reverse_codegen.cpp
    M clang/test/OpenMP/stripe_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp

  Log Message:
  -----------
  [OpenMP] Restore loop variable values after loop-tranformation constructs. (#208533)

This patch fixes loop variable finalization for OpenMP 6.0
loop-transformations constructs: `tile`, `stripe`, `reverse`,
`interchange` and `fuse` to comply with spec requirement page 371, lines
19-21. The spec requires that "After the execution of the
loop-transforming construct, the loop-iteration variables of any of its
transformation-affected loops have the values that they would have
without the loop-transforming directive".


  Commit: 196b4b6a2dec34c19bca14f4ba15aee56f2abfe7
      https://github.com/llvm/llvm-project/commit/196b4b6a2dec34c19bca14f4ba15aee56f2abfe7
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/pstl.adjacent_find.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/pstl.adjacent_find_pred.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of a parallel std::adjacent_find() based on std::mismatch() (#210604)

This PR implements a parallel `std::adjacent_find()` based on parallel
`std::mismatch`. The implementation reshapes the input range as two ranges
offset by 1 element and asks `std::mismatch` to find the first equal pair.

Part of #99938.


  Commit: 705aa2a864d1573a17e62cfbcffbafdab7745a6d
      https://github.com/llvm/llvm-project/commit/705aa2a864d1573a17e62cfbcffbafdab7745a6d
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    A llvm/test/Transforms/JumpThreading/dup-cond-br-recursive-phi.ll
    M llvm/test/Transforms/JumpThreading/phi-copy-to-pred.ll

  Log Message:
  -----------
  [JumpThreading] Materialize PHIs in duplicateCondBranchOnPHIIntoPred (#204859)

In duplicateCondBranchOnPHIIntoPred, updateSSA iteratively updates the
uses of
the instructions of BB (the duplicated block) according to ValueMapping.
For
PHIs, however, the mapping is inconsistent: the keys refer to the values
before
the parallel assignment of the PHIs, while the mapped-to values refer to
the
values after it. E.g.

  BB:
    %arr  = phi [ %ov.0, %PredBB ], ...
    %ov.0 = phi [ %ov.sel, %PredBB ], ...
  --->
    %arr  => %ov.0
    %ov.0 => %ov.sel

So an iterative replacement miscompiles: a use of the duplicated %arr is
replaced by %ov.sel, while the correct replacement is %ov.0.

Fix this by splitting PredBB -> BB (SplitEdge) into a PredEdgeBB,
cloning the
PHIs into PredEdgeBB and mapping BB's PHIs to the clones:

  BB:
    %arr  = phi [ %ov.0, %PredEdgeBB ], ...
    %ov.0 = phi [ %ov.sel, %PredEdgeBB ], ...
  PredEdgeBB:
    %arr.dup  = phi [ %ov.0, %PredBB ]
    %ov.0.dup = phi [ %ov.sel, %PredBB ]
  --->
    %arr  => %arr.dup
    %ov.0 => %ov.0.dup

Since a distinct set of PHIs is used as the mapped-to values, the
iterative
replacement is correct.

Fixes #197725.
Fixes #203868.

Assisted-by: Opus-4.8 (Claude Code)


  Commit: be76618bc973b0009fa0618fbc6978f4c74bfdc7
      https://github.com/llvm/llvm-project/commit/be76618bc973b0009fa0618fbc6978f4c74bfdc7
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/source/Core/IOHandler.cpp

  Log Message:
  -----------
  [lldb][Windows] Check for EOF before the ctrl-c retry in GetLine (#212745)

On Windows `lldb --repl` can hang forever instead of exiting at EOF.

`IOHandlerEditline::GetLine` checks `GetLastError() ==
ERROR_OPERATION_ABORTED` and does a `continue` before checking `feof`.
However `fgets` is a CRT function and does not set the Win32 last error
value, so the `GetLastError` read is not the expected error. When it
happens to be `ERROR_OPERATION_ABORTED` (995) the loop never reaches the
EOF check.

This reorders the checks so EOF wins unconditionally, and adds
`clearerr` before the ctrl-c retry (a real interrupt leaves the error
flag set, which would fail the next `fgets`). ctrl-c handling is
otherwise unchanged.

rdar://183335061


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/sve-vls-reduce-bfp.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-vls-reduce-fp.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-vls-reduce-int.ll

  Log Message:
  -----------
  [AArch64][CostModel] Lower wide fixed-length vector reductions cost (#211824)

When vscale is known > 1, SVE will be used to perform most reductions.
This should be reflected in the cost model.


  Commit: 312aa8cf8ccd97c0d2a6980c0a0fb9ee0ee5290e
      https://github.com/llvm/llvm-project/commit/312aa8cf8ccd97c0d2a6980c0a0fb9ee0ee5290e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/builders/builder.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  [LLDB] Remove Xcode sdk guessing from Makefile.rules (NFC) (#212378)

This cleanup patch pushes the auto-detection of the `macosx` SDK from
Makefile.rules up into `dotest.py` and unifies it with the existing SDK
handling for other Apple platforms.

Assisted-by: claude


  Commit: e3f24d8cf7d07d8c7f6208e5cce4b422cb1d0806
      https://github.com/llvm/llvm-project/commit/e3f24d8cf7d07d8c7f6208e5cce4b422cb1d0806
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    A llvm/test/Transforms/LoopIdiom/memmove-ext.ll

  Log Message:
  -----------
  [LoopIdiom] Use SCEV for deciding memmove validity (#211274)

When the loop index variable is smaller than the GEP offset size, and is
thus sign or zero extended before being used, then the IR that is
expanded from the SCEV expressions for the load and store locations will
be in a form that means GetPointerBaseWithConstantOffset can't deduce
the base and offset, meaning we can't generate memmove.

Solve this by deciding memmove validity based on the SCEV expressions
instead of the IR that is expanded from them. This means we also need to
insert a check to handle a null base pointer, as that was previously
handled implicitly due to how SCEVExpander expands expressions involving
null pointers.


  Commit: 45ef27a69895fcb756fec0d7a16d39706e5d9c06
      https://github.com/llvm/llvm-project/commit/45ef27a69895fcb756fec0d7a16d39706e5d9c06
  Author: Zach Goldthorpe <Zach.Goldthorpe at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll

  Log Message:
  -----------
  [AMDGPU] Handle True16 high-half 16-bit packing idiom with uniform operand (#211102)

With True16 instructions, the high-half packing idiom from #206058 tries
to `OR` a 16-bit VGPR operand into the high half of the other operand,
but this causes a crash if the other operand is uniform, as this
generates an invalid `$sgpr = COPY $sgpr_hi16`.


  Commit: 7140530173c72de832458c12ac9bdcba1ca2d2ba
      https://github.com/llvm/llvm-project/commit/7140530173c72de832458c12ac9bdcba1ca2d2ba
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Add a test with nother candidate for fmuladd copyables, NFC



Reviewers: 

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


  Commit: f24da9d03ba5d25c523e050da2ca3c4060ca23d5
      https://github.com/llvm/llvm-project/commit/f24da9d03ba5d25c523e050da2ca3c4060ca23d5
  Author: Nemanja Ivanovic <nemanja.i.llvm at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    A llvm/test/CodeGen/RISCV/epilog-crash.ll

  Log Message:
  -----------
  [RISC-V] Fix assert after 255162a (#212791)

The iterator passed-in may point to the end of the block which causes an
assertion failure when attempting to inspect the MI it points to. Guard
against this.


  Commit: 8d445c6cab429f062d5b73db5f243fff7b49c276
      https://github.com/llvm/llvm-project/commit/8d445c6cab429f062d5b73db5f243fff7b49c276
  Author: carlobertolli <carlo.bertolli at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/bitop3-shared-operand.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Add previously failing bitop3 tests. (#212335)

The following two expressions used to return the wrong truth table for
v_bitop3:

; ((b & T) | T) & ~T, where T = a & c

; U ^ (~U | T), where T = c ^ b and U = (T | a) & T

The fix was implemented in:
https://github.com/llvm/llvm-project/pull/198556

Assisted-by: Cursor (Claude)


  Commit: 421d2e88e4f08f39a4bd48b9591c62d1145ec0ac
      https://github.com/llvm/llvm-project/commit/421d2e88e4f08f39a4bd48b9591c62d1145ec0ac
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h

  Log Message:
  -----------
  [OpenMP] Fix ambiguous namespace lookup with delayed template parsing (#212720)

Running `check-llvm` on Windows fails while compiling LLVMFrontendTests
with the following error:

  error: reference to 'detail' is ambiguous

Clang enables delayed template parsing by default when targeting the
MSVC ABI on Windows. When ConstructDecompositionT is instantiated after
a using-directive for `llvm::omp`, both `::detail` and
`llvm::omp::detail` are
visible, making `detail::find_unique` ambiguous.

Explicitly qualify find_unique with the global namespace. This fixes
check-llvm on Windows and other environments using
-fdelayed-template-parsing, without changing behavior.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp

  Log Message:
  -----------
  Revert "[Codegen] Replace any_of with is_contained. NFC (#212289)" (#212794)

This reverts commit 52f6c88c2c1b6f0c10b9c8fb09ec35e147c593e3 due to
errors in the C++20 builder.

It does not revert the followup from #212711.


  Commit: e12e16f6e03ba4b9008314dbb885e8c1dddf875f
      https://github.com/llvm/llvm-project/commit/e12e16f6e03ba4b9008314dbb885e8c1dddf875f
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-07-29.md

  Log Message:
  -----------
  [flang] Add Flang Community Call Notes for July 29th meeting (#212810)


  Commit: eb64c21b7954bdb66ed9ebaefcf400715be321eb
      https://github.com/llvm/llvm-project/commit/eb64c21b7954bdb66ed9ebaefcf400715be321eb
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-managed-assign.cuf

  Log Message:
  -----------
  [flang][cuda] Restrict managed data transfers to whole-array assignments (#212593)

Assignments involving managed or unified data are lowered to
`cuf.data_transfer`, a synchronous copy. The predicate only excluded
scalar left-hand sides, so array sections were transferred too, turning
a loop that assigns one section per
iteration into a sequence of blocking copies.

Key the decision on the managed operand instead: a transfer when the
managed variable or array is whole, host code when it is a section or an
element. Managed data is host-addressable, so the host assignment is
safe. Managed function results and assignments involving device memory
are unaffected.

This is the behavior specified in the CUDA Fortran Programming Guide
3.4.1:

> An assignment statement where the right hand side is a managed array
section and
> the left hand side is any host or managed variable copies data using
generated
> host code.


  Commit: 1f5e93294eddb3309d530392344ee0271ccaa64c
      https://github.com/llvm/llvm-project/commit/1f5e93294eddb3309d530392344ee0271ccaa64c
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/include/llvm/BinaryFormat/MachO.def
    M llvm/include/llvm/BinaryFormat/MachO.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Object/MachO.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/ObjectYAML/MachOEmitter.cpp
    M llvm/lib/ObjectYAML/MachOYAML.cpp
    M llvm/test/ExecutionEngine/JITLink/Generic/Inputs/MachO_Universal_libFoo_dylib.yaml
    A llvm/test/MC/MachO/target-triple-padding.s
    A llvm/test/MC/MachO/target-triple.s
    A llvm/test/Object/Inputs/macho-invalid-target-triple-name_offset-toobig.yaml
    A llvm/test/Object/Inputs/macho-invalid-target-triple-name_offset-toosmall.yaml
    A llvm/test/Object/Inputs/macho-invalid-target-triple-name_toobig.yaml
    A llvm/test/Object/Inputs/macho-invalid-target-triple-small.yaml
    M llvm/test/Object/macho-invalid.test
    A llvm/test/ObjectYAML/MachO/target_triple_command.yaml
    A llvm/test/tools/dsymutil/AArch64/lc_target_triple.test
    A llvm/test/tools/dsymutil/AArch64/lc_target_triple_duplicate.test
    A llvm/test/tools/dsymutil/AArch64/lc_target_triple_universal.test
    A llvm/test/tools/dsymutil/Inputs/lc_target_triple.arm64
    A llvm/test/tools/dsymutil/Inputs/lc_target_triple_duplicate.arm64
    A llvm/test/tools/dsymutil/Inputs/lc_target_triple_universal.arm64
    A llvm/test/tools/llvm-objcopy/MachO/lc-target-triple.test
    A llvm/test/tools/llvm-objdump/MachO/target-triple.yaml
    A llvm/test/tools/llvm-readobj/MachO/target-triple.test
    M llvm/tools/dsymutil/MachOUtils.cpp
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-readobj/MachODumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.h
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/obj2yaml/macho2yaml.cpp
    M llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp

  Log Message:
  -----------
  [llvm][macho] Support the LC_TARGET_TRIPLE load command (#210276)

Add support for the new LC_TARGET_TRIPLE load command.

rdar://140301164


  Commit: e24eb10725e514cece9a21da97040165a199f23c
      https://github.com/llvm/llvm-project/commit/e24eb10725e514cece9a21da97040165a199f23c
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
    M clang/lib/Lex/PPDirectives.cpp
    R clang/test/Frontend/linemarker-invalid-escape.c
    M clang/test/Frontend/rewrite-includes.c
    M clang/test/Modules/cxx20-hu-05.cpp
    M clang/test/Modules/cxx20-hu-06.cpp
    M clang/test/Parser/cxx11-user-defined-literals.cpp
    M clang/test/Preprocessor/line-directive-output.c
    M clang/test/Preprocessor/line-directive.c
    M clang/test/VFS/external-names-multi-overlay.c
    M clang/test/VFS/fallback.c

  Log Message:
  -----------
  [Clang] Treat line directives as header names. (#211512)

We treated line directives as being unevaluated string literal. However
- The standard has no such restriction - or rather the standard has
different, unclear restriction (https://wg21.link/CWG2693)
- Because of Windows paths, it's common for "C:\foo\bar" to be used, and
these should not form escape sequences.

To remain consistent with other implementations, we do not allow `#line
1 <>` at this time. We do however support `#line 1 ""` to avoid a
breaking change.

Fixes a regression introduced by #201413


  Commit: 32eae3a39471911888ba50bf03379450b4d96e3e
      https://github.com/llvm/llvm-project/commit/32eae3a39471911888ba50bf03379450b4d96e3e
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func04.f90

  Log Message:
  -----------
  [flang] Statement function dummy names do not clash with host or unreferenced global names (#212396)

The check added for F2023 19.4 p2 (statement function dummy argument
name may be the same as an accessible name only if that name is a scalar
variable) looked the name up through the whole host scope chain and,
failing that, in the global scope. Both lookups overshoot what is
"accessible" in the scoping unit:

* Per F2023 19.5.1.4 p2 item (11), the appearance of a name as a
dummy-arg-name in a stmt-function-stmt makes any host entity of that
name inaccessible by host association throughout the scoping unit, so a
host entity can never conflict with the dummy.

* A global entity to which the scoping unit makes no reference at all is
not accessible in it; otherwise conformance would depend on whether
unrelated program units happen to be compiled in the same file.

This caused bogus errors on conforming code such as
```
  program p
    logical, external :: x
  contains
    subroutine s
      real :: f
      f(x) = x * x  ! 'x' is an implicitly typed real dummy here
    end
  end
```
where the dummy 'x' must be implicitly typed real (both NAG and gfortran
accept this and type it that way; flang already typed it correctly, but
rejected the program).

Restrict the lookup to names made visible by the scoping unit itself
(declared, referenced, or USE-associated there), matching the lookup
HandleStmtFunction already uses to type the dummies.

Assisted-by: AI


  Commit: 13ac5c62ce5aab0395849fec322eb402ab784b76
      https://github.com/llvm/llvm-project/commit/13ac5c62ce5aab0395849fec322eb402ab784b76
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90

  Log Message:
  -----------
  [flang][openmp] Add semantic checks in THREADPRIVATE/DECLARE TARGET (#209084)

The problem is that the automatic object was used as the
threadprivate argument.

Solution:
>From the documentation (J3/24-007):
> C814 An automatic data object shall not have the SAVE attribute.
> C862 The SAVE attribute shall not be specified for a dummy argument,
>      a function result, an automatic data object, or an object
>      that is in a common block.

The bare SAVE statement makes any valid local variables tagged
with the SAVE attribute. As the restriction mentioned above, the
automatic object cannot have a SAVE attribute and shall not be
used as the THREADPRIVATE argument. This patch adds semantic
checks for dummy arguments, function results, and automatic data
objects in both THREADPRIVATE and DECLARE TARGET directives.

[flang][OpenMP] Fix DECLARE TARGET to reject distinct result name

When a function uses a distinct result name (e.g. result(res)),
DECLARE TARGET(res) was not diagnosed because ResolveOmpDesignator
rebound it to the procedure, skipping the IsFunctionResult check.


  Commit: 13310e947e510320bfde9a800a6292265f630b97
      https://github.com/llvm/llvm-project/commit/13310e947e510320bfde9a800a6292265f630b97
  Author: Navaneeth Shanmugasundaram <nshanmug at qti.qualcomm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Fix authentication for release workflow git push (#212634)

Update the push URL format to use GitHub's required authentication
format with the 'x-access-token' prefix. GitHub now requires:
  https://x-access-token:{token}@github.com/{repo}

instead of the deprecated format:
  https://{token}@github.com/{repo}

Without this change, the release workflow fails when attempting to push
branches with the error:
  fatal: could not read Password for 'https://***@github.com':
  No such device or address

This occurs because Git attempts to prompt for credentials in the
non-interactive GitHub Actions environment when the token format is not
recognized.

Fixes the /cherry-pick command in the issue-release-workflow.

Signed-off-by: nshanmug <nshanmug at qti.qualcomm.com>


  Commit: b979a119274a13fdee769478702148006219fc5b
      https://github.com/llvm/llvm-project/commit/b979a119274a13fdee769478702148006219fc5b
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect.c
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-classification-attr.cir
    R clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-test-target.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call.cir

  Log Message:
  -----------
  [CIR] Lower indirect calls in CallConvLowering (#211636)

Indirect calls were unsupported by CallConvLowering.  `rewriteCallSite` bailed
with "indirect call not yet implemented", and the pass driver rejected any
module that both needed call-site rewriting and contained an indirect call.  A
function pointer whose signature required ABI reshaping (a by-value struct
argument, or an sret return) could not be compiled at all, even though a
direct call to the same signature lowered fine.

The callee is opaque, but its type is a pointer to a `FuncType` that carries the
full signature.  Classification is now driven from that pointee signature
through the same LLVM ABI path as the direct case: `classifyX86_64Function` is
split into `classifyX86_64Signature`, taking a return type, an argument
`TypeRange`, and an `emitError` callback.  The driver collects indirect calls,
classifies each callee signature (x86_64, or the test target used by the pass
tests), and runs `rewriteCallSite`.  `prependIndirectCallee` re-adds the callee
as operand 0, bitcasting the function pointer to the coerced signature when it
differs so the rebuilt call matches its reshaped return.

The `classification-attr` driver mode injects a per-function classification
that cannot describe a callee resolved at run time, so an indirect call is a
diagnosed error there rather than being left silently unrewritten while direct
calls are coerced.


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

  Changed paths:
    M lldb/test/CMakeLists.txt
    A lldb/test/Shell/MCP/TestHelp.test
    A lldb/test/Shell/MCP/TestUnknownArgument.test
    A lldb/test/Shell/MCP/TestVersion.test
    M lldb/test/Shell/helper/toolchain.py
    M lldb/tools/lldb-mcp/lldb-mcp.cpp

  Log Message:
  -----------
  [lldb-mcp] Add --help and --version (#212680)

lldb-mcp accepted no arguments at all, so --help and --version fell
through to the protocol loop and blocked reading stdin, and a mistyped
flag was silently ignored while the tool waited for MCP traffic. Handle
both flags and reject anything else with a usage message.


  Commit: 130dccc2c3192d9f49c2e85bcd047ed67a9fa9e1
      https://github.com/llvm/llvm-project/commit/130dccc2c3192d9f49c2e85bcd047ed67a9fa9e1
  Author: Nikita Taranov <nikita.taranov at clickhouse.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M compiler-rt/test/xray/TestCases/Posix/fdr-mode.cpp

  Log Message:
  -----------
  [XRay][test] Raise fdr-mode.cpp unwrite threshold to deflake it (#211595)

It was observed failing on `sanitizer-aarch64-linux` ([build
40750](https://lab.llvm.org/buildbot/#/builders/51/builds/40750)).

The failure is in the `UNWRITE` run
(`XRAY_FDR_OPTIONS="func_duration_threshold_us=5000"`), which asserts
that every short function record is "unwritten" (rewound) except
arg1-logging records. In the failing output an `fA()` enter/exit pair
survived:

```
<stdin>:9:  - { func-id: 3, function: 'fA()', cpu: 0, thread: 1909237, kind: function-enter, tsc: 1784775492023431847 }
<stdin>:10: - { func-id: 3, function: 'fA()', cpu: 0, thread: 1909237, kind: function-exit,  tsc: 1784775492029462345 }
<stdin>:11: - { func-id: 4, function: 'fArg(int)', args: [ 1 ], ..., kind: function-enter-arg, ... }
```

so `UNWRITE-NEXT` (and `UNWRITE-NOT: function-enter`) no longer hold.

FDR mode only rewinds a function's enter record when its exit lands
within the threshold (`XRayFDRController::functionExit`: `TSC -
LastFunctionEntryTSC < CycleThreshold`).

```
1784775492029462345 - 1784775492023431847 = 6,030,498 cycles / 1 GHz = 6.03 ms  >  5 ms threshold
```

i.e. the thread was preempted for ~6 ms mid-function, so the record was
(correctly, by the runtime's own rule) not unwritten.

The proposed fix is to raise the `UNWRITE` run's
`func_duration_threshold_us` from `5000` to `100000`, so realistic
scheduling jitter cannot push a short function over the threshold. This
mirrors the accepted fix for the sibling test in
[PR #186611](https://github.com/llvm/llvm-project/pull/186611)
(`basic-filtering.cpp`), which flaked the same way.


  Commit: 125080fbaa17ddab3313f580a2d2ab686a03be55
      https://github.com/llvm/llvm-project/commit/125080fbaa17ddab3313f580a2d2ab686a03be55
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [Darwin][tests] Partially restore some of the change in #212329 (#212826)

Restore the fallback path for ld-classic in #212329 to fix some of the
failing CI jobs due to some Xcode releases doesn't have the new linker
that supports `-save-temps` flag. Restore the logic so that `ld-classic`
is preferred over `ld` but no longer requires ld64/ld-classic.

In legacy releases only has ld64, ld64 is used. In latest releases where
ld64 is removed, new linker is feature completed and fully compatible
with ld64. During the transition period where ld64 is shipped as
ld-classic, prefer ld64 since new linker might not be feature complete.

rdar://183454376


  Commit: aa924278efbd4f76329bb95ebd33fd3e445d4ff4
      https://github.com/llvm/llvm-project/commit/aa924278efbd4f76329bb95ebd33fd3e445d4ff4
  Author: Lucas Mellone <github.snugness349 at passinbox.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libcxx/include/cmath

  Log Message:
  -----------
  [libc++][math] Add missing `constexpr since C++23` comment for `signbit` (#212458)

Adds the missing `// constexpr since C++23` for `std::signbit` in the
synopsis comments of `<cmath>`.
Follows-up: https://github.com/llvm/llvm-project/pull/105946.


  Commit: d6a165836cc7bc64bda1ceab22937839cb88d5cc
      https://github.com/llvm/llvm-project/commit/d6a165836cc7bc64bda1ceab22937839cb88d5cc
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [CMake][Fuchsia] Compile runtimes with -ffuchsia-api-level (#211753)

Use the supplied Fuchsia SDK's version_history.json to deduce the
oldest API level still supported, and target that for toolchain
runtimes so they'll be runtime-compatible when linked into user
programs that target any SDK-supported API level.


  Commit: 0e351245ff0cf7a824207658c189ef099b3aaaab
      https://github.com/llvm/llvm-project/commit/0e351245ff0cf7a824207658c189ef099b3aaaab
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/longpath/TestDAP_launch_longPath.py
    M lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.py
    M lldb/test/API/tools/lldb-dap/unknown/TestDAP_unknownRequest.py

  Log Message:
  -----------
  [lldb-dap] Migrate unknownRequest, subtleFrames and longpath (#211627)

Migrated tests:
- TestDAP_unknownRequest.py
- TestDAP_subtleFrames.py
- TestDAP_launch_longPath.py


  Commit: 8d404384dd842d43362732a11b233ee3d6ead023
      https://github.com/llvm/llvm-project/commit/8d404384dd842d43362732a11b233ee3d6ead023
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/string.h
    M libc/src/stdlib/linux/CMakeLists.txt
    M libc/src/stdlib/linux/realpath.cpp
    M libc/test/src/__support/CPP/string_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/realpath_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][realpath] Follow symlinks (#212164)

This commit updates realpath to call `readlinkat` on symlinks during
path resolution.

Some notes on implementation:
- `PendingPath` uses a `cpp::string` to store unprocessed path
components. This could be more efficient by using a `PATH_MAX` buffer
and storing the path at the end of the buffer, which would allow for
easy prepending. However, using a `cpp::string` avoids the pointer
arithmetic and memory management that would involve.
- This PR implements `cpp::string::replace` to avoid pointer arithmetic
inside `realpath`. This should hopefully not be too inefficient, since
`prepend` reuses space from processed path components there's enough
room, there certainly exist some bad inputs that would cause many
`memmove` operations.


  Commit: 7bed6591be3191446ec2cf92ef247487fff03a84
      https://github.com/llvm/llvm-project/commit/7bed6591be3191446ec2cf92ef247487fff03a84
  Author: Diego Novillo <dnovillo at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    M llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable-skip-type-not-in-regs.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable-static-member.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-array-of-composite-drop.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite-nested-drop.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite-skip-member-not-in-regs.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite-static-member-skipped.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer-to-composite-drop.ll

  Log Message:
  -----------
  [SPIRV] Emit NonSemantic DebugTypeComposite and DebugTypeMember. (#211638)

This PR adds `DebugTypeComposite` (opcode 10) and `DebugTypeMember`
(opcode 11):

1. `partitionTypes` clusters `DICompositeType` with
`DW_TAG_structure_type`, `DW_TAG_class_type`, or `DW_TAG_union_type`.
2. Each composite emits one `DebugTypeMember` per `DW_TAG_member`, then
a `DebugTypeComposite`. Members precede the composite.
3. Tag maps class, structure, and union to 0, 1, and 2. A forward
declaration emits `DebugInfoNone` for Size and no members.
4. A member whose type is not in `DebugTypeRegs` is skipped.

`DebugTypeMember` has no Parent operand, per the spec. Only the
composite references its members.

Tests in `llvm/test/CodeGen/SPIRV/debug-info/`:

1. `debug-type-composite.ll`: a struct with two members and a forward
declaration.
2. `debug-type-composite-skip-member-not-in-regs.ll`: a member whose
type is a pointer with no DWARF address space, exercising the skip.

`debug-global-variable-skip-type-not-in-regs.ll` and
`debug-global-variable-static-member.ll` assumed composites and members
are never emitted. Both now use a no-address-space pointer to avoid
disabling the existing test.


  Commit: a42bed3f72c427dcd023aae169bec9305ec29ed6
      https://github.com/llvm/llvm-project/commit/a42bed3f72c427dcd023aae169bec9305ec29ed6
  Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/src/JIT.cpp

  Log Message:
  -----------
  [OFFLOAD] Add JIT support for SPIRV backend (#212823)

This PR adds support for SPIRV to plugins JIT. It is required in cases
when kernel is supplied in bitcode format for spirv triple.


  Commit: 16f116f476c248c345fd8ffe4b3e863f2700161f
      https://github.com/llvm/llvm-project/commit/16f116f476c248c345fd8ffe4b3e863f2700161f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Host/JSONTransport.h
    M lldb/include/lldb/Protocol/MCP/Transport.h
    M lldb/source/Host/common/JSONTransport.cpp
    M lldb/source/Protocol/MCP/Transport.cpp
    M lldb/unittests/Host/JSONTransportTest.cpp

  Log Message:
  -----------
  [lldb] Reply to malformed requests and use JSON-RPC error codes (#212678)

The transport dropped a message that failed to parse: it logged the
error and returned, so a peer waiting on that request hung forever and
every message already buffered behind it was discarded. Keep going after
a failed parse, and add ReplyWithParseError so a message that is valid
JSON but not a valid request is answered against its own id. Unparseable
JSON still gets no reply, since it carries no id and JSON-RPC forbids
inventing one.

Method-not-found was raised with createStringError, which converts
through inconvertibleErrorCode() to -32603, so clients could not tell a
misspelled method from a server fault. Use the MethodNotFound error,
which already carries -32601, and give InvalidParams the -32602 code it
was missing.


  Commit: 58a93a1eec10d30dfa358afda73f402fb308a5e4
      https://github.com/llvm/llvm-project/commit/58a93a1eec10d30dfa358afda73f402fb308a5e4
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Protocol/MCP/Tool.cpp

  Log Message:
  -----------
  [lldb-mcp] Run managed debug sessions synchronously (#212681)

A debugger created for an MCP session has no event loop to service
asynchronous stops, so a resume returned before the process stopped and
every subsequent command failed against a still-running process. That
made breakpoint debugging unusable: `run` reported only the launch, and
`bt` that followed it errored out. Create these debuggers in synchronous
mode, as lldb-dap does.


  Commit: 33c7ef4a631db53440f569f048660474e0a46bd6
      https://github.com/llvm/llvm-project/commit/33c7ef4a631db53440f569f048660474e0a46bd6
  Author: 陈子昂 <2802328816 at qq.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    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/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:
  -----------
  [Clang][RISCV] Add packed pair byte intrinsics (#212589)

Add the 32-bit byte forms and the 64-bit byte/halfword forms of the
P-extension packed pair intrinsics to riscv_packed_simd.h using generic
shufflevector IR.

Extend the existing packed pair shuffle lowering to recognize the mixed
even/odd forms and select ppaireo/ppairoe in addition to ppaire/ppairo.

Add Clang CodeGen, LLVM CodeGen, and intrinsic header tests for the new
forms.


  Commit: 0475ef459c0bf24d79330372fef29a4aaf68c87d
      https://github.com/llvm/llvm-project/commit/0475ef459c0bf24d79330372fef29a4aaf68c87d
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/fuse_codegen.cpp
    M clang/test/OpenMP/interchange_codegen.cpp
    R clang/test/OpenMP/loop_transform_final_iv.c
    M clang/test/OpenMP/reverse_codegen.cpp
    M clang/test/OpenMP/stripe_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp

  Log Message:
  -----------
  Revert "[OpenMP] Restore loop variable values after loop-tranformation constructs." (#212832)

Reverts llvm/llvm-project#208533

PR breaks several bots. Revert to unblock. 

https://lab.llvm.org/buildbot/#/builders/10/builds/32840
https://lab.llvm.org/buildbot/#/builders/88/builds/24941
https://lab.llvm.org/buildbot/#/builders/225/builds/13974


  Commit: bacfe2950f8218268fcc0a8765644ea0c15f0360
      https://github.com/llvm/llvm-project/commit/bacfe2950f8218268fcc0a8765644ea0c15f0360
  Author: Mikhail Romanov <mmromanov at ispras.ru>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  [MLIR] Fix transform.apply_patterns with apply_cse option (#212818)

This patch fixes a crash in `transform.apply_patterns` when `apply_cse`
is enabled and the target operation does not have the
`IsolatedFromAbove` trait.

For non-`IsolatedFromAbove` targets, `transform.apply_patterns` cannot
apply patterns directly to the target operation. Instead, it collects
the operations within the target into a worklist and passes that
worklist to `applyOpPatternsGreedily`. When `apply_cse` is enabled,
pattern application and CSE are performed repeatedly until a fixpoint is
reached.

Previously, the worklist was collected only once before entering the
fixpoint loop. However, pattern application may erase operations from
the IR, leaving stale pointers in the cached worklist. Reusing this
worklist in subsequent iterations may therefore result in a crash.

This patch rebuilds the worklist at the beginning of each iteration,
ensuring that it always reflects the current IR state.

A representative reproducer is shown below:
```llvm
module attributes {transform.with_named_sequence} {
  func.func @test(%A: tensor<128x256xf32>,
                  %B: tensor<256x512xf32>,
                  %C: tensor<128x512xf32>) -> tensor<128x512xf32> {
    %res = linalg.matmul
        ins(%A, %B : tensor<128x256xf32>, tensor<256x512xf32>)
        outs(%C : tensor<128x512xf32>) -> tensor<128x512xf32>
    return %res : tensor<128x512xf32>
  }

  transform.named_sequence @__transform_main(%root: !transform.any_op) {
    %matmul = transform.structured.match
        ops{["linalg.matmul"]}
        in %root
        : (!transform.any_op) -> !transform.any_op

    %tiled, %loops:3 =
        transform.structured.tile_using_for %matmul
            tile_sizes [4, 4, 4]
        : (!transform.any_op)
          -> (!transform.any_op,
              !transform.any_op,
              !transform.any_op,
              !transform.any_op)

    transform.structured.vectorize %tiled : !transform.any_op

    transform.apply_patterns to %loops#0 {
      transform.apply_patterns.canonicalization
    } {apply_cse} : !transform.any_op

    transform.yield
  }
}
```

Here, `transform.apply_patterns` is applied to the `scf.for` loop
produced by tiling, which is not `IsolatedFromAbove`. Running `mlir-opt
--transform-interpreter` on this example crashes before this change and
completes successfully with this patch.

Signed-off-by: Mikhail Romanov <mmromanov at ispras.ru>


  Commit: a9749e8e26273338c6c115c0d70c538fa30bba85
      https://github.com/llvm/llvm-project/commit/a9749e8e26273338c6c115c0d70c538fa30bba85
  Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/include/flang/Parser/tools.h
    M flang/include/flang/Semantics/expression.h
    M flang/lib/Parser/tools.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/modfile31.f90
    M flang/test/Semantics/resolve60.f90

  Log Message:
  -----------
  [flang][semantics] Accept BOZ initializers for C enum values (#211904)

Fortran 2023 7.6.1 errata f23/013 changes R762 so an interoperable
enumerator may be a named-constant initialized by a
boz-literal-constant, and specifies the value as
INT(boz-literal-constant, C_INT).

Handle that named-constant restriction directly in enum resolution while
preserving the usual scalar integer expression checks for non-enumerator
contexts. This mirrors the general named-constant initializer path,
which already converts BOZ values through the declared type before
folding.


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

  Changed paths:
    M clang/lib/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Clang] Don't build static analyzer if disabled" (#212836)

Breaks unusual build configs where clang-tidy static analyzer is enabled
while clang static analyzer is disabled.

Reverts llvm/llvm-project#212024


  Commit: 5c57064076a189c457fc0cff463fb2090ccc7347
      https://github.com/llvm/llvm-project/commit/5c57064076a189c457fc0cff463fb2090ccc7347
  Author: Rafael Auler <rafaelauler at meta.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M bolt/include/bolt/Core/DebugData.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp

  Log Message:
  -----------
  [BOLT] Stop materializing .dwo DIE vectors early in the pipeline (#207292)

Summary: preprocessDWODebugInfo() eagerly force-extracted every .dwo
compile unit's DIE tree (getNonSkeletonUnitDIE(false)) very early in
BOLT pipeline, way before DWARFRewriter kicked in. Those vectors then
sit in memory throughout the entire rewrite pipeline, directly
contributing to BOLT's RSS peak. I did a fair amount of digging and
didn't find any reason as to why we need to keep all DIEs of DWO CU
materialized at all, since DWARFRewriter won't even read this vector
(the #197359 concurrency fix did use that, but that is unnecessary). The
problem is that these DIE trees are a massive contribution to RSS when
processing large binaries where we have 10s of K of dwos, storing
complete trees for each processed dwo.

This diff changes the #197359 concurrency fix to not rely on the DIE
sibling/children structure. It parses DWP type units selectively per
compile unit (DIEBuilder::buildDWPTypeUnitsForUnit ->
collectReferencedTypeSignatures) by finding the DW_FORM_ref_sig8
references in a unit's DIEs to decide which type units belong in that
unit's output .dwo. That walk previously used DWARFDie::children(),
which requires the unit's full DIE vector. Here we rewrite the walk to
stream the unit's DIEs one at a time with
DWARFDebugInfoEntry::extractFast (the same technique already used by
DIEBuilder::constructFromUnit and DWARFRewriter::partitionCUs), reading
DW_FORM_ref_sig8 attributes off a single reusable transient entry. The
tree structure is irrelevant -- every DIE in the unit is visited
regardless -- so no DIE vector is
built. collectReferencedTypeSignatures now takes a DWARFUnit& instead of
a DWARFDie.

With the walk self-sufficient:
- preprocessDWODebugInfo() now extracts only the .dwo CU DIE
(getNonSkeletonUnitDIE(true)); nothing reads the full array off it
anymore (constructFromUnit and the signature walk both stream).
- BinaryContext::collectDebugScopeBoundaries() drops its split-DWARF
fast-path, which called DWARFUnit::dies() (= full extraction); DWO units
are now streamed like monolithic ones.

The result is that .dwo DIE vectors are never materialized during BOLT
processing.

Expected to be a ~10% RSS win on large split-dwarf binaries.

Depends on #207291


  Commit: 9064e230ab52b82853dbe0d79c8cc75d708a0907
      https://github.com/llvm/llvm-project/commit/9064e230ab52b82853dbe0d79c8cc75d708a0907
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Add some bazel libc review coverage (#209789)

This should improve timezone coverage for keeping the bazel build
working due to libc breakages, e.g. #209433 broke things and the bazel
fixer bot sent out #209689. But since it wasn't landed until just
recently, manual fixes were needed for other changes like #209449. This
wouldn't be as bad if the bazel fixer bot could handle layered
breakages.


  Commit: 834d585b7c6836996e7fd78ad3fe7675d7c490e2
      https://github.com/llvm/llvm-project/commit/834d585b7c6836996e7fd78ad3fe7675d7c490e2
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A llvm/test/tools/llubi/ptrtoint_cast.ll
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Fix ptrtoint's return type (#212839)

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


  Commit: 86fb40ddfa3c7cd5c32d758f4b1709d01028a7db
      https://github.com/llvm/llvm-project/commit/86fb40ddfa3c7cd5c32d758f4b1709d01028a7db
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/unittests/ProfileData/SampleProfTest.cpp

  Log Message:
  -----------
  [ProfileData] Implement contains in SampleProfileNameTable (NFC) (#211995)

This patch implements contains(StringRef) and contains(uint64_t) in
SampleProfileNameTable and SampleProfileReader to serve symbol
membership queries directly from the reader -- "is this symbol in the
name table?".

Without this patch, users of the sample profile reader, namely
SampleProfileLoader::doInitialization and SampleProfileNameSet, each
construct their own StringSet<> containing all name table entries.
That is, we end up with two instances of StringSet<> with identical
contents.  Since these instances hold their own copies of symbol
strings on the heap, both the constructor and destructor take up a
large portion of compilation time.

This patch teaches SampleProfileReader::contains to directly serve
symbol membership queries.

- For EytzingerSampleProfileNameTable, contains performs binary search
  directly across the three concatenated Eytzinger table spans
  (CSKeys, FlatKeys, and Inlinees) in a cache-friendly manner.

- Other representations of the name table lazily construct an internal
  DenseSet on demand.

This patch updates existing customers to call Reader->contains.

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

Assisted-by: Antigravity


  Commit: 6554a9709a9b9d12ec7eacd7c0a51eac5f94ddff
      https://github.com/llvm/llvm-project/commit/6554a9709a9b9d12ec7eacd7c0a51eac5f94ddff
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [PAC][clang][test] Fix incorrect usage of `-NOT` suffix for FileCheck (#212445)

Previously, `-NOT` checks were not doing what was intended: checking
that given strings are not present within the same line where other
patterns are confirmed present by other checks. `-NOT` semantics is
checking pattern absense in between other checks, not total absense.

This patch makes use of `--implicit-check-not` instead for this purpose.


  Commit: 705d0ec6115cef3232eafe6221f42f78e7b884e8
      https://github.com/llvm/llvm-project/commit/705d0ec6115cef3232eafe6221f42f78e7b884e8
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCGOFFStreamer.h
    M llvm/lib/MC/MCGOFFStreamer.cpp
    A llvm/test/CodeGen/SystemZ/zos-common-global.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Implement emitCommonSymbol in MCGOFFStreamer (#210179)

Common globals were not emitted in GOFF object files due to a missing
emitCommonSymbol implementation. This adds the implementation to emit
the required SD/ED/PR ESD records in the GOFF object file.


  Commit: ae76985401e3e89e273e43da283f513c7316272d
      https://github.com/llvm/llvm-project/commit/ae76985401e3e89e273e43da283f513c7316272d
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/docs/_static/custom.css

  Log Message:
  -----------
  [Docs] don't stylize syntax errors in code blocks (#212698)

When a code block in the documentation contains (almost) pseudocode, the
Pygments parser flags errors and renders them with red-bordered boxes.
This is unnecessarily ugly. We can see examples of this in the LangRef
with LLVM code blocks.

Instead set the style to just render them as plain text. This is still
recognizable as incorrect syntax, but does not distract the reader from
the actual example.

Assisted-by: Claude Opus 4.8


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-with-non-scheduled-parent-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordering-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll

  Log Message:
  -----------
  [SLP] Gather operands of associative binary chains into one node

Flatten associative single-use chains like ((a+b)+c)+d into one N-ary
tree node instead of nested 2-operand entries, so vectorizable operand
groupings (consecutive loads, broadcasts) spanning the whole chain
aren't hidden by the nesting. The flattened layout is kept only when it
scores better than the natural 2-operand shape. Codegen combines the
columns pairwise, reusing a scalar's IR flags where a combine step
reproduces it exactly and dropping nsw/nuw/nnan/ninf otherwise, since
regrouping can change what may overflow or produce NaN/Inf. Controlled
by the hidden -slp-reassociate-ops flag (default on).

Reviewers: bababuck, RKSimon, hiraditya

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


  Commit: 8e564ec0a2215967b1a305d9fd27200a5bece2b0
      https://github.com/llvm/llvm-project/commit/8e564ec0a2215967b1a305d9fd27200a5bece2b0
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A llvm/include/llvm/Frontend/HLSL/SemanticSignatures.h
    M llvm/include/llvm/Support/DXILABI.h
    M llvm/lib/Frontend/HLSL/CMakeLists.txt
    A llvm/lib/Frontend/HLSL/SemanticSignatures.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/HLSLSemanticSignatureMetadataTest.cpp

  Log Message:
  -----------
  [HLSL] Add in-memory representation of Semantic Signatures (#209907)

Defines the `SemanticSignatureElement` struct in
`llvm/Frontend/HLSL/SemanticSignatures` to represent a semantic
signature in-memory for use during packing and metadata
construction/parsing.

Adds unit testing of the conversion.

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

Assisted by: Claude Opus 4.8


  Commit: ec27629e6f82e17c5f900f6d16ad1d65766cd4e3
      https://github.com/llvm/llvm-project/commit/ec27629e6f82e17c5f900f6d16ad1d65766cd4e3
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    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/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/test/CIR/CodeGen/goto-address-label-table.c
    A clang/test/CIR/CodeGen/goto-indirect-cleanup-nyi.c
    A clang/test/CIR/CodeGen/goto-indirect-nested.c
    M clang/test/CIR/CodeGen/label-values.c
    A clang/test/CIR/IR/goto-indirect.cir
    M clang/test/CIR/Transforms/goto_solver.cir

  Log Message:
  -----------
  [CIR] Defer indirect goto resolution to GotoSolver (#206176)

A computed `goto *p` placed inside a nested scope -- an if or a loop
body --
made CIRGen produce invalid IR that the region verifier rejected with
"reference to block defined in another region", aborting the compile.
Regular
`goto` avoids this because CIRGen emits a symbolic
`cir.goto` that references no block and is later resolved into a
`cir.br` by
GotoSolver, which runs after FlattenCFG has merged the nested scopes
into one
region. Indirect goto skipped that indirection: `emitIndirectGotoStmt`
built
a real indirect-branch block during CIRGen and branched to it from
inside the
nested region, and `finishIndirectBranch` wired the `cir.indirect_br`
successors at the end of the function -- both while the scopes were
still
separate regions.

This gives indirect goto the same symbolic treatment.  A new terminator,
`cir.indirect_goto`, carries the target address and references no
successor,
so it is valid in any region.  GotoSolver now rewrites each one into a
`cir.br` to a single shared block holding the `cir.indirect_br` over
every
address-taken label; running after FlattenCFG, it sees all blocks in one
region, so the cross-region branch can no longer occur. GotoSolver
already
collects the address-taken labels -- from `cir.block_address` ops and
from
block-address attributes in global initializers -- so the CIRGen-side
bookkeeping it supersedes (the lazily-built indirect-goto block, the
per-function target list, and the `CIRGenModule` block-address-to-label
map)
is removed.

An indirect goto that branches out of a scope needing cleanup (a VLA
stack
restore, or a non-trivial destructor on the edge) must run that cleanup
on the
branch, which this does not implement.  Rather than emit a branch that
silently skips the cleanup, `emitIndirectGotoStmt` reports it with
`errorNYI`.

With the fix, the `evalloop`, `20041214-1`, and `comp-goto-1` programs
in the
LLVM test-suite go from a CIRGen crash to building and running.


  Commit: ce0c2f8e3e66588ac8304fe3f5304652fac877fb
      https://github.com/llvm/llvm-project/commit/ce0c2f8e3e66588ac8304fe3f5304652fac877fb
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/SemaHLSL/Availability/avail-diag-default-compute.hlsl
    A clang/test/SemaHLSL/Resources/Textures-derivative-availability.hlsl

  Log Message:
  -----------
  [HLSL] Add availability attributes to texture sample methods that require implicit derivatives (#212846)

This PR adds availability attributes to texture sample methods that
require implicit derivatives (fixes
https://github.com/llvm/llvm-project/issues/198885)

To make these availability attributes actually get checked,
`DiagnoseHLSLAvailability::HandleFunctionOrMethodRef` in `SemaHLSL.cpp`
has been changed to check availability attributes regardless of whether
or not a function has a body/definition (fixes
https://github.com/llvm/llvm-project/issues/212842).

Assisted by: Claude Opus 5


  Commit: 13834ee4dc48abe421c9c13e65b67909f62624a0
      https://github.com/llvm/llvm-project/commit/13834ee4dc48abe421c9c13e65b67909f62624a0
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    A clang/test/CIR/IR/fenv.cir
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/FenvOpTest.cpp

  Log Message:
  -----------
  [CIR] Introduce fenv attribute for strict fp handling (#211144)

This introduces a new CIR attribute that will be used to describe
floating-point environment assumptions and restrictions, allowing for
general modeling of floating-point environment access. A new interface
is also introduced to simplify handling of default settings when the
attribute or one of its optional components is not present.

This patch adds the attribute and interface to FPBinaryOp,
BinaryFPToFPBuiltinOp, and UnaryFPToFPBuiltin. Support for generating
operations with this attribute and lowering them to the LLVM dialect
will be added in a future change.

Assisted-by: Cursor / claude-opus-4.8


  Commit: 045fc453c8ccf78b1ccc0bd6b63a719645311cec
      https://github.com/llvm/llvm-project/commit/045fc453c8ccf78b1ccc0bd6b63a719645311cec
  Author: Philip DePetro <pdepetro at meta.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/test/API/commands/expression/expr-with-fork/TestExprWithFork.py

  Log Message:
  -----------
  [lldb] Fix flaky test_expr_with_fork_trap by increasing expression timeout (#212574)

The test evaluates an expression that forks a child which returns
normally (triggering SIGTRAP from the JIT wrapper trap at _start). The
parent blocks in waitpid() until the detached child terminates. With the
default 250ms expression timeout, the kernel sometimes doesn't schedule
the detached child fast enough, causing waitpid() to still be blocking
when the timeout fires and the expression gets interrupted.

Set a 5-second expression timeout to give the kernel ample time to
schedule the detached child process.


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

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp

  Log Message:
  -----------
  [CIR] Switch FlattenCFGPass to no longer use greedy manager. (#211368)

This showed up doing a self-build of MLIR's Presburger
IntegerRelation.cpp, which is a bit pathalogical. It resulted in us
doing a lot of rewrite patterns during flatten, taking about 20s. After
this patch, we're down to sub-1s spent doing that.

This is because applyOpPatternsGreedily was re-enqueing every child
opops every time we modified anything nearby. This caused us in cases
where there were operations that were visited TONS of times just because
a parent got modified.

This patch replaces this with a very simple inside-out iteration of
these operations. The recent loop-op 'cleanup' flattening modification
necessitates us re-visiting these sometimes (hence the loop).

This patch is effectively 'NFC' other than build time, so there really
isn't a test I could write.

AI: Note: I've used Claude Opus 4.8 to help me with this patch. I've
read/attempted to comprehend as much of this as possible, but I'm still
pretty inexperienced as to how to manage passes/etc. Claude promises me
this is the best way, and I haven't been able to find anything better
grepping around other transformations in other projects, but please
comment if you have a better idea!


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGen/arithmetic-fence-builtin.c

  Log Message:
  -----------
  [CIR] Implement non-reassoc __arithmetic_fence (#211915)

This builtin is a no-op (just a load/store) if we don't have reassociate
turned on. This patch implements the 'easy' path to unblock libraries
that use this builtin.


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

  Changed paths:
    M clang/test/Driver/invalid-target-id.cl
    M clang/test/Driver/openmp-invalid-target-id.c

  Log Message:
  -----------
  clang/AMDGPU: Add missing driver tests for invalid target names (#212451)

Make sure -march and -mcpu both error for nonoffload and for
-Xopenmp-target arguments. Defends against regression I almost
introduced.


  Commit: 1d894ed4930663405e7aed2b608d7f04a709c4e5
      https://github.com/llvm/llvm-project/commit/1d894ed4930663405e7aed2b608d7f04a709c4e5
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/test/MC/MachO/target-triple-padding.s
    M llvm/test/MC/MachO/target-triple.s
    M llvm/test/Object/Inputs/macho-invalid-target-triple-name_offset-toosmall.yaml
    M llvm/test/Object/Inputs/macho-invalid-target-triple-name_toobig.yaml

  Log Message:
  -----------
  [llvm][macho][test] Fix failing target triple tests (#212876)

`llvm-mc -triple arm64-*` requires aarch64-registered-target.


  Commit: f3159b97be5deff08b5bcb6a5d4cf71c991b5555
      https://github.com/llvm/llvm-project/commit/f3159b97be5deff08b5bcb6a5d4cf71c991b5555
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/external.ll

  Log Message:
  -----------
  [SLP] Precommit test for deferred extracts (#212658)

Tests for #211680.


  Commit: 738cbf1883083525a76a6eeb30671ea778661bd3
      https://github.com/llvm/llvm-project/commit/738cbf1883083525a76a6eeb30671ea778661bd3
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [scudo] Fix all deadlocks with condition code variables. (#212604)

Added a ScopedFLLock that automatically handles notify calls if there
are waiters. Replace all ScopedLock of FLLock with this new
ScopedFLLock. Updated the enable function to properly notify FLLock
waiters if necessary.

Added a new function for re-enabling in the child process after a fork
to clear the variables used by the condition code.


  Commit: 739bf5e18d9df470c540c5c61f086c95ae5aa370
      https://github.com/llvm/llvm-project/commit/739bf5e18d9df470c540c5c61f086c95ae5aa370
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Core/Section.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    A lldb/source/Plugins/ObjectFile/wasm/WasmAddress.h
    M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
    M lldb/source/Plugins/Process/wasm/ProcessWasm.h
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
    A lldb/test/Shell/ObjectFile/wasm/wasm-globals.yaml

  Log Message:
  -----------
  [lldb] Add support for Wasm globals (#212516)

WebAssembly globals are not addressable: they live in an index space of
their own and hold values (rather than bytes) in the module, or need to
be read from the runtime.

Give them a synthetic address space in which an address holds the global
index where it would otherwise hold an offset, and a section spanning
that index space so a global becomes a symbol. With a process, a read of
such an address asks the engine over qWasmGlobal. Without one, the
object file serves the initializer, which is all that is known before
the module is instantiated.

The section is based in a range of its own rather than at zero. Code and
linear memory are both addressed from zero, so a global index would
otherwise name a code or data address as well.

The import section now parses each import descriptor by kind, because
the global index space includes imported globals and finding the next
import means knowing the shape of the current one.


  Commit: 1842e2d1e66cdf850d6afdd3a16506175097fd78
      https://github.com/llvm/llvm-project/commit/1842e2d1e66cdf850d6afdd3a16506175097fd78
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/test/Sema/darwin-tls.c

  Log Message:
  -----------
  [clang][darwin] Firmware needs to support thread local storage (#212657)

rdar://182496170


  Commit: 20fd9488f9b5eb50e4b2c595faa8018b2728cb27
      https://github.com/llvm/llvm-project/commit/20fd9488f9b5eb50e4b2c595faa8018b2728cb27
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A clang/test/ClangScanDeps/modules-async-scan.c

  Log Message:
  -----------
  [clang][DependencyScanning] Adding a test that exercies the async-scanning code path (#211402)

This PR adds a test that exercises the async-scanning code path to
sanity check that async-scanning generates identical results as TU
scanning.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: 316a29603228c5d5000e0ddf8dfba2a494ac7ee9
      https://github.com/llvm/llvm-project/commit/316a29603228c5d5000e0ddf8dfba2a494ac7ee9
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A clang/test/ClangScanDeps/canonicalize-macros-multiarch.c

  Log Message:
  -----------
  [clang][DependencyScanning] Adding a Multiarch clang-scan-deps Test (#211404)

This test adds coverage of multiarch scanning command macro
canonicalization.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: 5c49c5fa5678dffdaa7e6c19b83e52a5b89cfbc2
      https://github.com/llvm/llvm-project/commit/5c49c5fa5678dffdaa7e6c19b83e52a5b89cfbc2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    R llvm/test/TableGen/RuntimeLibcallEmitter-conflict-warning.td
    A llvm/test/TableGen/RuntimeLibcallEmitter-multiple-impls.td
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Emit all available impls for a libcall, not just one (#210915)

The intent is RuntimeLibcalls should represent all functions that are
callable from the module, which may have contextually selectable
alternatives. Previously we had this warning since there was no mechanism 
to select which one you want, and as a workaround the library call sets avoided 
adding the variants which should nto be selected.

Now targets can use initLibcallLoweringInfo, so remove the warning to
unblock more libcall cleanups. Eventually initLibcallLoweringInfo should also 
be tablegen driven.

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


  Commit: 1b161aad81546fc7ea42f3c14d29b02065197e55
      https://github.com/llvm/llvm-project/commit/1b161aad81546fc7ea42f3c14d29b02065197e55
  Author: joaosaffran <joaosaffranllvm at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 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/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/test/CodeGenHLSL/builtins/cross.hlsl
    M clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    R llvm/test/CodeGen/DirectX/cross.ll
    R llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll

  Log Message:
  -----------
  [HLSL] Move cross implementation to header files (#211446)

This patch removes the previous implementation of cross; instead, it
adds a new one inside the header files.

Fix: https://github.com/llvm/llvm-project/issues/135425

Assisted by: Claude Opus 4.8

---------

Co-authored-by: Joao Saffran <jderezende at microsoft.com>


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

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

  Log Message:
  -----------
  [Bazel] Fixes 739bf5e (#212885)

This fixes 739bf5e18d9df470c540c5c61f086c95ae5aa370 (#212516).

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

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


  Commit: ade128740327db281859708ddcb3b072903b3414
      https://github.com/llvm/llvm-project/commit/ade128740327db281859708ddcb3b072903b3414
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    A llvm/test/tools/dsymutil/X86/keep-enumerators.test

  Log Message:
  -----------
  [DWARFLinker] Keep DW_TAG_enumerator children of a live enumeration_type (#212849)

Swift allows functions inside enums:

  enum Foo: Int {
    case bar = 0

    func baz() { ... }
    }

  DW_TAG_enumeration_type  "Foo"
    DW_TAG_enumerator        "bar"
    DW_TAG_subprogram        "baz"  DW_AT_declaration
  ...
  DW_TAG_subprogram  DW_AT_low_pc(...)  DW_AT_specification -> "baz"

dieNeedsChildrenToBeMeaningful() did not list DW_TAG_enumeration_type,
so the parent walk skipped the enum's children.

Assisted-by: claude

rdar://183549452


  Commit: 64dfcdb01ffa6aac06f6cf3b4ed7a4f8ce74c986
      https://github.com/llvm/llvm-project/commit/64dfcdb01ffa6aac06f6cf3b4ed7a4f8ce74c986
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/fenv.cir
    M clang/unittests/CIR/FenvOpTest.cpp

  Log Message:
  -----------
  [CIR] Add fenv attribute to more builtins (#212880)

This adds the #cir.fenv attribute to the CIR_UnaryFPToIntBuiltinOp and
CIR_TernaryFPToFPBuiltinOp base classes, and through them to the
cir.lround, cir.llround, cir.lrint, cir.llrint, and cir.fma operations.

This attribute is still missing from various cast and compare
operations. Those will be added in a follow-up change.

Assisted-by: Cursor / various models


  Commit: b0541c38cd786cc4abeec921a92a9b0153c188a4
      https://github.com/llvm/llvm-project/commit/b0541c38cd786cc4abeec921a92a9b0153c188a4
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp

  Log Message:
  -----------
  [NFC][analyzer] Remove BlockEdge parameter of processCFGBlockEntrance (#212804)

As a side effect of my previous refactoring efforts, the method
`ExprEngine::processCFGBlockEntrance` had two very similar parameters: a
`BlockEdge` and a `BlockEntrance` instance.

These are both subclasses of `ProgramPoint`, stored the same data (the
`BlockEntrance` was initialized with data taken from the `BlockEdge`
just before the call) and the `BlockEdge` was almost completely unused
within `processCFGBlockEntrance`.

The only reason for having the `BlockEdge` was that it was stored in the
debug statistic table `blocksExhausted`; so this commit transitions that
simple debug code to use `BlockEntrance` instances instead (which is
also perfectly sufficient for its goals). This allows the removal of the
redundant argument of `processCFGBlockEntrance`.

This prepares the ground for further cleanup in this method.


  Commit: 0d1c3c0ba49bf35f272b0b3baa1fb880e641b9c4
      https://github.com/llvm/llvm-project/commit/0d1c3c0ba49bf35f272b0b3baa1fb880e641b9c4
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/enum-bool.cpp
    M clang/test/CIR/IR/cmp.cir

  Log Message:
  -----------
  [CIR] Allow boolean operands in cir.cmp (#206846)

GROMACS uses scoped enums with a boolean underlying type as type-safe
flags (`enum class EmulateGpuNonbonded : bool`), and compares them with
`==` / `!=` / `<`. A scoped enum is not integer-promoted before the
comparison, so the operand reaches `cir.cmp` as a `!cir.bool` (CIR
already
represents a boolean-underlying enum with `!cir.bool`). The `cir.cmp`
operand constraint `CIR_ComparableType` does not list bool, so module
verification fails before the CIR-to-CIR passes with:

```
'cir.cmp' op operand #0 must be comparable type, but got '!cir.bool'
```

Add bool to `CIR_ComparableType` and let the comparison lowering compare
`!cir.bool` the same way it already compares pointers, as an unsigned
`icmp` (`ult` for `<`), which is what classic CodeGen does with these as
`i1`. Plain `bool` comparisons are unchanged, since they still carry the
AST integral promotion and compare as `i32`, and unscoped `enum : bool`
still promotes too.

Six translation units in a minimal GROMACS build hit this
(`taskassignment/decidegpuusage`, `mdrun/runner`, the three `domdec`
topology files, and a gtest-based test), and they compile under
`-fclangir` with the fix. `enum-bool.cpp` covers all six comparison
predicates, and `cmp.cir` gains an unpromoted `!cir.bool` round-trip
next to the existing promoted one. The signature checks in
`enum-bool.cpp` are split into `LLVMCIR` and `OGCG`
because classic codegen marks these `i1` values `zeroext` and CIR does
not, which is call-conv lowering being off in the default pipeline
rather
than anything specific to bool.


  Commit: 76403ad686f735341f765603978c30b92cc1617b
      https://github.com/llvm/llvm-project/commit/76403ad686f735341f765603978c30b92cc1617b
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/test/Lower/CUDA/cuda-managed-assign.cuf

  Log Message:
  -----------
  [flang][cuda] Keep data transfers for allocatable assignments with device data (#212855)

An assignment to a whole allocatable was lowered as a host assignment to
keep reallocation semantics, without checking the memory kind, so a
device allocatable assigned from a managed array wrote device memory
from the host and segfaulted.

Keep the transfer when either side is device or constant data. CUDA
Fortran Programming Guide 3.4.1 makes an assignment between managed and
device data a copy in both directions, with no exception for an
allocatable left-hand side.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Unify registration under -gpu=mem:unified (#212871)

Always use the cuf operation under -gpu=unified as registration might be
differed to the backend. Add a UnitAttr to distinguish device resident
variable that will not use cudaRegisterHostVar but cudaRegisterVar.


  Commit: cd1db2648ecd53b7a67faf7cc2acd1d0a63777e0
      https://github.com/llvm/llvm-project/commit/cd1db2648ecd53b7a67faf7cc2acd1d0a63777e0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 13834ee4dc48 (#212896)


  Commit: c4dbdfc12e8ab5e7df90bde1aedbec566e552f09
      https://github.com/llvm/llvm-project/commit/c4dbdfc12e8ab5e7df90bde1aedbec566e552f09
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Frontend/HLSL/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8e564ec0a221 (#212897)


  Commit: 2815f298d1fae984188d3854acd6f0ca503fcd53
      https://github.com/llvm/llvm-project/commit/2815f298d1fae984188d3854acd6f0ca503fcd53
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/SemaHLSL/Resources/Textures-double-element-type-errors.hlsl
    A clang/test/SemaHLSL/Resources/Textures-integer-element-type.hlsl

  Log Message:
  -----------
  [HLSL] Add sema for use of samplers and gathers on textures of doubles and ints (#212613)

Fixes https://github.com/llvm/llvm-project/issues/198882 and
https://github.com/llvm/llvm-project/issues/198883

This PR:
- Implements sema checks to reject the use of samplers and gathers on
textures of doubles.
- Implements sema checks to reject use of samplers on textures of
integers before shader model 6.7

Assisted by: Claude Opus 5


  Commit: c56ea6d942e7160d6d2ec82ace17a31c7806ae9e
      https://github.com/llvm/llvm-project/commit/c56ea6d942e7160d6d2ec82ace17a31c7806ae9e
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MacroFusion.h
    M llvm/lib/CodeGen/MacroFusion.cpp
    M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp
    M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
    M llvm/lib/Target/ARM/ARMMacroFusion.cpp
    M llvm/lib/Target/PowerPC/PPCMacroFusion.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/X86/X86MacroFusion.cpp
    M llvm/test/TableGen/MacroFusion.td
    M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp

  Log Message:
  -----------
  [MacroFusion] Add SDep param to predicates(NFC) (#212255)

This patch aims to extend the API for macro fusion predicates with an
additional SDep param which allows each predicate to individually decide
wether a pair should be macro fused based on the kind of dependency
between the 2 instructions.
    
A followup patch https://github.com/llvm/llvm-project/pull/212603
introduces a real user in AArch64.


  Commit: 397743f4301326b23f70d0f8505090eb8be30dcf
      https://github.com/llvm/llvm-project/commit/397743f4301326b23f70d0f8505090eb8be30dcf
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/test/CIR/CodeGen/complex.cpp

  Log Message:
  -----------
  [CIR] Implement complex rvalues NYI (#211645)

emitReturnOfRValue had an NYI for _Complex types, so returning one as an
Rvalue (see example of a lambda invoker) would NYI. Since the logic to
the store is already handled in the lower-to-LLVM, this ended up being a
pretty trivial patch.

Note; There are some differences in how this lowers, because our calling
convention for the ret is different here, and we maintain the 'complex'
type differently even through LLVM-IR. However, the IR looks to be
equivilent.


  Commit: d998634dbeaa1b651026f1180043f68ba62c2313
      https://github.com/llvm/llvm-project/commit/d998634dbeaa1b651026f1180043f68ba62c2313
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [PAC][clang] Enable `-fptrauth-elf-got` as part of pauthtest (#212446)


  Commit: 3ca8b6e0afef0370c189721f71cb9092ea8009fd
      https://github.com/llvm/llvm-project/commit/3ca8b6e0afef0370c189721f71cb9092ea8009fd
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

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

  Log Message:
  -----------
  [CIR][CUDA] Add support for NVVM xchg builtins (#211815)

Adds codegen support for the scoped and unscoped NVVM atomic exchange
builtins:
`atom_xchg,` `atom_cta_xchg,` and `atom_sys_xchg.`

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


  Commit: 5e0a2aa0d72b832ee9a9b2f29d6183e1d94f4354
      https://github.com/llvm/llvm-project/commit/5e0a2aa0d72b832ee9a9b2f29d6183e1d94f4354
  Author: compilersutra <osc at compilersutra.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir

  Log Message:
  -----------
  [X86] Make WinEH crash test reliable under ASan (#212820)

The WinEH unwind `v2 error` test uses `not --crash` for malformed MIR
inputs.
In AddressSanitizer builds, the default `abort_on_error=0` can prevent
the
expected fatal error from being reported as a crash, causing FileCheck
to
  receive no diagnostic output.

Set `ASAN_OPTIONS=abort_on_error=1` for the expected-crash invocations
in
  `win64-eh-unwindv2-errors.mir`.

  ## Testing

  - ASan build focused test passes.
  - Non-ASan build focused test passes.
  - Five additional serial ASan reruns pass.
  - `git diff --check` passes.

  Fixes #212684

Co-authored-by: aabhinavg1 <tiwariabhinavak at gmail.com>


  Commit: e82a934f56d27a06168d2e8c04edf3b223f4920f
      https://github.com/llvm/llvm-project/commit/e82a934f56d27a06168d2e8c04edf3b223f4920f
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/docs/_static/custom.css

  Log Message:
  -----------
  [docs] de-highlight code snippet errors in dark mode (#212894)

Apply https://github.com/llvm/llvm-project/pull/212698 to dark mode as
well as light mode.


  Commit: 3889ccc1a35fdd3f18eecbc01663534fb3f64478
      https://github.com/llvm/llvm-project/commit/3889ccc1a35fdd3f18eecbc01663534fb3f64478
  Author: wieDasDing <6884440+dingxiangfei2009 at users.noreply.github.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/lib/MC/MCParser/MasmParser.cpp
    A llvm/test/tools/llvm-ml/textequ_expansion.asm

  Log Message:
  -----------
  [llvm-ml] make TEXTEQU directive not to eagerly expand macros in arguments (#209526)

We observed a crash in `TEXTEQU` that pastes two macros into one.

```masm
.data
part1 TEXTEQU <1>
part2 TEXTEQU <0>
joined TEXTEQU part1, part2 ; crash
```

`part1` is immediately rewritten into `1` as integer, which is rejected
by `TEXTEQU` parser. We need to keep `part1` as identifier for `TEXTEQU`
to pick up later.


  Commit: e7b04c15e6b18294c923f874f16e2d5a8e885706
      https://github.com/llvm/llvm-project/commit/e7b04c15e6b18294c923f874f16e2d5a8e885706
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/dirent.yaml
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/dirent-macros.h
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/dirent-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/reclen_t.h
    M libc/include/llvm-libc-types/struct_dirent.h
    A libc/include/llvm-libc-types/struct_posix_dent.h
    M libc/test/src/dirent/dirent_test.cpp

  Log Message:
  -----------
  [libc] Modernize and extend dirent.h header. (#212902)

Extend the `<dirent.h>` header with macro and types specified in recent
POSIX.1-2024:
* Add `posix_dent` structure, which has more fields than `dirent`, that
are actually used in practice. This struct would be identical to
`dirent` that we have on Linux
* Add `reclen_t` type for `d_reclen` field.
* Add macro `DT_BLK` and friends

Also, extend the tests to verify the values of `d_type` field, now that
we have the proper macro defined.

Assisted by: Gemini, human-verified


  Commit: 5857e09ae75d08c93de717f5a2e1c0e2c1ddd06f
      https://github.com/llvm/llvm-project/commit/5857e09ae75d08c93de717f5a2e1c0e2c1ddd06f
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M llvm/unittests/Frontend/HLSLSemanticSignatureMetadataTest.cpp

  Log Message:
  -----------
  [NFC][HLSL] Fix msan errors in tests (#212901)

Some of the tests were not initializing all the fields prior to
generating metadata, this caused a read of uninitialized memory and
caused the sanitizer to fail.

Assisted by: Claude Opus 5

Caught here: https://lab.llvm.org/buildbot/#/builders/94/builds/19767


  Commit: 1a5fc1c6b6bfff561f767d5e2ffe8b0a7d81cb34
      https://github.com/llvm/llvm-project/commit/1a5fc1c6b6bfff561f767d5e2ffe8b0a7d81cb34
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/lib/Dialect/Linalg/Transforms/FoldIntoElementwise.cpp
    M mlir/test/Dialect/Linalg/elementwise/fold.mlir

  Log Message:
  -----------
  [mlir] [linalg] Fold broadcast/transpose into linalg.generic (#212415)

Currently we are able to fold broadcast/transpose into
linalg.elementwise. This patch extends the ability to fold
broadcast/transpose into linalg.generic.

For example,

```
  %empty = tensor.empty() : tensor<8x16xf32>
  %broadcasted = linalg.broadcast ins(%A : tensor<8xf32>) outs(%empty : tensor<8x16xf32>) dimensions = [1]
  %result = linalg.generic {
    indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>,
		     affine_map<(d0, d1) -> (d0, d1)>],
    iterator_types = ["parallel", "parallel"]
  } ins(%broadcasted : tensor<8x16xf32>) outs(%B : tensor<8x16xf32>) {
  ^bb0(%in: f32, %out: f32):
    %v = arith.addf %in, %in : f32
    linalg.yield %v : f32
  } -> tensor<8x16xf32>
```

we can fold the broadcast into:

```
  %result = linalg.generic {
     indexing_maps = [affine_map<(d0, d1) -> (d0)>,
                      affine_map<(d0, d1) -> (d0, d1)>],
    iterator_types = ["parallel", "parallel"]
  } ins(%A: tensor<8xf32>) outs(%B : tensor<8x16xf32>) {
  ^bb0(%in: f32, %out: f32):
    %v = arith.addf %in, %in : f32
    linalg.yield %v : f32
  } -> tensor<8x16xf32>
```

For simplicity, we only consider all parallel linalg.generic right now.

AI assisted.


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

  Changed paths:
    M lldb/bindings/python/CMakeLists.txt
    M lldb/docs/CMakeLists.txt
    A lldb/examples/python/templates/scripted_string_summary.py
    M lldb/include/lldb/API/SBTypeSummary.h
    M lldb/include/lldb/DataFormatters/TypeSummary.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedStringSummaryInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/API/SBTypeSummary.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/DataFormatters/TypeSummary.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStringSummaryPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStringSummaryPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h

  Log Message:
  -----------
  [lldb/script] Add class-based summary providers via ScriptedStringSummaryInterface (#210469)


  Commit: dc57785129b1e3dfd489ef8c39e74a262d90a0c2
      https://github.com/llvm/llvm-project/commit/dc57785129b1e3dfd489ef8c39e74a262d90a0c2
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xandesperf-rv32.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xandesperf-rv64.c

  Log Message:
  -----------
  [CIR][RISCV] Support XAndesPerf builtins (#211490)


  Commit: bdddd3e7202477e37c0a73dd036a0377d762f2e6
      https://github.com/llvm/llvm-project/commit/bdddd3e7202477e37c0a73dd036a0377d762f2e6
  Author: Zane Hambly <zanehambly at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    A llvm/test/MC/X86/intel-syntax-data32-16.s

  Log Message:
  -----------
  [X86] Apply the data32 mode switch in the Intel matcher (#212417)

In .code16, `data32 push 8` in Intel syntax assembled as `pushw $8` with
the 66 prefix dropped, and `data32 push 0x1234` truncated the immediate
to 16 bits. AT&T syntax gets both right.

`ForcedDataPrefix` is set while parsing either syntax, but only
`matchAndEmitATTInstruction` switched mode on it, so the Intel path took
the operand size from the mode and never saw the prefix.

Do the same switch in `matchAndEmitIntelInstruction`. The mode has to go
back to 16-bit before the instruction is emitted, otherwise the 32-bit
form is emitted without its 66 prefix. That function has several error
returns partway through matching, so a scope guard covers those.

Encodings after the change match both AT&T syntax and GNU as:

```
data32 push 8       [0x6a,0x08]      -> [0x66,0x6a,0x08]
data32 push 0x1234  [0x68,0x34,0x12] -> [0x66,0x68,0x34,0x12,0x00,0x00]
```

Fixes #156286


  Commit: a01f8c85bcac35be5b6b9d5f081a3763feb5b530
      https://github.com/llvm/llvm-project/commit/a01f8c85bcac35be5b6b9d5f081a3763feb5b530
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    M libcxx/include/variant

  Log Message:
  -----------
  Speed up compilation of typical invocations of std::visit(std::variant<...>) for up to 11 types (#164196)

Similar to https://reviews.llvm.org/D90168 which was reverted (https://github.com/llvm/llvm-project/issues/62648#issuecomment-1832315651), but uses `switch` statements rather than function pointer tables.


  Commit: 7ded638ea33b96d9fd628e2a5cbc06df12ede153
      https://github.com/llvm/llvm-project/commit/7ded638ea33b96d9fd628e2a5cbc06df12ede153
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__fwd/optional.h
    A libcxx/include/__optional/common.h
    A libcxx/include/__optional/comparison.h
    A libcxx/include/__optional/hash.h
    A libcxx/include/__optional/make_optional.h
    A libcxx/include/__optional/nullopt_t.h
    A libcxx/include/__optional/optional.h
    A libcxx/include/__optional/optional_ref.h
    A libcxx/include/__optional/swap.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/optional
    M libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.creation/make_ostream_joiner.pass.cpp
    M libcxx/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.assign.pass.cpp
    M libcxx/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.verify.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.verify.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional_requires_destructible_object.verify.cpp

  Log Message:
  -----------
  [libc++] Granularize `<optional>` (#206644)

Certain headers require `optional<T&>`, so it may be beneficial to split
out `optional<T>` and `optional<T&>`. This can allow consumers to only
bring in the `optional` flavour it needs..

- Parcel out the respective pieces into their own header.
- Certain sources rely on transitive includes brought in by
`<optional>`, so they're kept there for now, and only tests have been
fixed.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 693d0a9d04fcbdd20730922f3218cfed701d3004
      https://github.com/llvm/llvm-project/commit/693d0a9d04fcbdd20730922f3218cfed701d3004
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Extract InstructionsState (2/3) (#211461)

Move the InstructionsState class out of SLPVectorizer.cpp into the
existing private module SLPVectorizer/SLPCompatibilityAnalysis.{h,cpp}.
The class declaration (with trivial accessors) lives in the header; the
non-trivial method bodies are defined out-of-line in the .cpp:

  isSameOperation
  getMatchingMainOpOrAltOp
  isMulDivLikeOp
  isAddSubLikeOp
  isCopyableElement
  isExpandedBinOp
  isExpandedOperand
  isNonSchedulable

Part of the effort to modularize SLPVectorizer.cpp. See the RFC:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922


  Commit: c94c7cc893d72dfa37c1cfe667ea9dac6da5e4a4
      https://github.com/llvm/llvm-project/commit/c94c7cc893d72dfa37c1cfe667ea9dac6da5e4a4
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Lower/OpenMP/defaultmap.f90

  Log Message:
  -----------
  [Flang][OpenMP] Remove present modifier application on descriptor (#211856)

This was a minor change upstreamed in the original PR:
https://github.com/llvm/llvm-project/pull/208133

However, it is a modification that needs a little more thought from a
specification perspective before it is rolled out, there's a number of
code bases that depend on the presence modifier being applied only to
the underlying data. However, this leads to inconsistencies when a user
makes use of any reference semantic modifiers when mapping as they
SHOULD be allowed to specify present applying to the descriptor. So, we
need to work out what the correct defualt behaviour is, and regardless
of the default support a user intentionally specifying presence
application on a descriptor via reference semantics.

For now, we will revert to previous state.


  Commit: e5359187080a4250c40fe9aee8b1cb9b518a63ef
      https://github.com/llvm/llvm-project/commit/e5359187080a4250c40fe9aee8b1cb9b518a63ef
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/extract-fmul-cost.ll

  Log Message:
  -----------
  [AArch64][SLP][NFC] Precommit scalar fmul extract cost test (#212837)

Precommit a baseline SLP test for the AArch64 scalar fmul extract cost.

The current cost model overestimates the cost of the lane-1 use, so only
one of the two fadd pairs is vectorized at the selected SLP threshold.

A follow-up patch will correct this #212739 should correct this.


  Commit: 3f28472185bb8df103f2fbf9f3ccc22b62f1fe1c
      https://github.com/llvm/llvm-project/commit/3f28472185bb8df103f2fbf9f3ccc22b62f1fe1c
  Author: adeshcom14 <aadikane at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    A llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir

  Log Message:
  -----------
  [AMDGPU] Fix S_ADD_I32 frame index folding emitting COPY with immediate (#212440)

When eliminating a frame index in `S_ADD_I32 %fi, imm`,
`SIRegisterInfo::eliminateFrameIndex` can simplify `0 + offset` into a
COPY or S_MOV_B32. The pass used a `MachineOperand` reference captured
before `removeOperand()`, which becomes stale after operands are removed
and shifted. That caused the wrong opcode to be selected (`COPY` instead
of `S_MOV_B32`), producing invalid machine IR such as `copy s4, 4`.
The invalid COPY is later hit by Machine Copy Propagation, which asserts
when calling `getReg()` on the immediate source operand.

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h

  Log Message:
  -----------
  AMDGPU: Add supports-wgp subtarget feature (#212704)


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

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
    M llvm/test/MC/AMDGPU/literals.s
    M llvm/test/MC/AMDGPU/mai.s

  Log Message:
  -----------
  [AMDGPU] Exclude CDNA parts from POPS exiting wave id pattern (#210892)

POPS hardware is graphics-pipe-only and absent on compute-only CDNA
targets (gfx908, gfx90a, gfx940, gfx942, gfx950), which incorrectly
matched the isGFX9GFX10 predicate and selected a nonexistent register


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/builtin-cpu-is-cputype.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-subtype.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-vendor.c
    A clang/test/CIR/CodeGen/builtin-cpu-supports.c

  Log Message:
  -----------
  [CIR] Implement __builtin_cpu_supports, _init, and _is (#212900)

These are pretty trivial checks to a builtin variable, so this
implements it for x86, as this shows up in self-build. The tests are
pulled from classic-codegen and shows that we do the reasonable thing
for each of them.


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

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.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/hsa-default-device.ll
    M llvm/test/TableGen/AMDGPUTargetDefErrors.td
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Handle more TargetParser queries in tablegen (#212357)

Previously we had various enum switches. Start generated tables
indexed by enums. Avoid some special cases by defining the dummy
"generic" and "generic-hsa" targets as real processors.

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/lib/Target/MSP430/MSP430Subtarget.cpp

  Log Message:
  -----------
  MSP430: Mark more generic libgcc functions as available (#212927)

The generic soft-float, conversion, comparison and integer helper
routines (__addsf3, __divli's __divsi3, __ashlsi3, ...) exist in the
MSP430 libgcc port alongside the preferred __mspabi_* variants. They 
were previously removed to force selection of the __mspabi_* names, back 
when only one implementation per libcall could be recorded.

Stop hiding them: only __lshrsi3 stays excluded, since the MSP430 libgcc
port provides the 32-bit logical right shift solely under __mspabi_srll
and never defines a generic __lshrsi3.

Repost of #210962

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: TableGen subarch to major subarch table (#212605)

Replace the hand-written AMDGPUMajorFamilies array with a
generated lookup table. Adds a special case for the major
arches missing a concrete generic target definition (we probably
should just define those to avoid this).

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 26d08c22c68bbb9e644012c4e5cae32f68d897cb
      https://github.com/llvm/llvm-project/commit/26d08c22c68bbb9e644012c4e5cae32f68d897cb
  Author: saloni-shinde-Q <saloshin at qti.qualcomm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/MC/RISCV/rv32d-invalid.s
    M llvm/test/MC/RISCV/rv32dc-invalid.s
    M llvm/test/MC/RISCV/rv32f-invalid.s
    M llvm/test/MC/RISCV/rv32fc-invalid.s
    M llvm/test/MC/RISCV/rv32q-invalid.s
    M llvm/test/MC/RISCV/rv32zdinx-invalid.s
    M llvm/test/MC/RISCV/rv32zfh-invalid.s
    M llvm/test/MC/RISCV/rv32zfinx-invalid.s
    M llvm/test/MC/RISCV/rv32zhinx-invalid.s
    M llvm/test/MC/RISCV/rv32zhinxmin-invalid.s
    M llvm/test/MC/RISCV/rv64d-invalid.s
    M llvm/test/MC/RISCV/rv64f-invalid.s
    M llvm/test/MC/RISCV/rv64q-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadfmemidx-invalid.s
    M llvm/test/MC/RISCV/rv64zdinx-invalid.s
    M llvm/test/MC/RISCV/rv64zfh-invalid.s
    M llvm/test/MC/RISCV/rv64zfinx-invalid.s
    M llvm/test/MC/RISCV/rv64zhinx-invalid.s
    M llvm/test/MC/RISCV/rv64zhinxmin-invalid.s
    M llvm/test/MC/RISCV/rvzfbfmin-invalid.s
    M llvm/test/MC/RISCV/rvzfhmin-invalid.s

  Log Message:
  -----------
  [RISCV][MC] Improve FPR Error Messages (#212492)

This patch improves the error messages for the following register classes:
    
   1. FPR RegClasses (FPR16, FPR32, FPR64, FPR128, FPR256)
   2. Compressed FPR RegClasses (FPR16C, FPR32C, FPR64C)
   3. GPR-as-FPR classes used by Zfinx/Zdinx extensions (GPRAsFPR16, GPRAsFPR32, GPRF64AsFPR, GPRPairAsFPR).

---------

Co-authored-by: Saloni Shinde <saloshin at qti.qualcomm.com>


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

  Changed paths:
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: TableGen the subarch to processor name mapping table (#212606)

Replace the hand-written AMDGPUSubArchNames array (SubArch -> canonical
GPU name) with a generated table.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 23a22244b099a9950a5f265460e392bc44beb3b4
      https://github.com/llvm/llvm-project/commit/23a22244b099a9950a5f265460e392bc44beb3b4
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoZilx.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    A llvm/test/MC/RISCV/zilx-invalid.s
    A llvm/test/MC/RISCV/zilx-valid-rv32.s
    A llvm/test/MC/RISCV/zilx-valid-rv64.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][MC] Support experimental Zilx extension

This adds the MC support for `Zilx` (Indexed Integer Load Instructions)
extension.

Doc: https://github.com/riscv/riscv-zilx

Reviewers: topperc, tclin914, kito-cheng

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


  Commit: 8a1ff7feefc5825cc10349b8946fe555f435d53b
      https://github.com/llvm/llvm-project/commit/8a1ff7feefc5825cc10349b8946fe555f435d53b
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoZilx.td
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    A llvm/test/CodeGen/RISCV/zilx-opt-w-instrs.mir
    A llvm/test/CodeGen/RISCV/zilx.ll

  Log Message:
  -----------
  [RISCV] Support CodeGen of Zilx extension

Thanks for `XTheadMemIdx` extension that makes life easier.

Reviewers: lukel97, topperc, kito-cheng, tclin914

Reviewed By: topperc

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


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

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h

  Log Message:
  -----------
  [BFI] Simplify/optimize getMass/getContainingLoop. NFC (#212938)

A block can head both a natural loop and the irreducible loop wrapping
it (`@crossloops` in BlockFrequencyInfo/irreducible.ll).

getContainingLoop and getMass unroll to a fixed depth of two through
isDoubleLoopHeader and isADoublePackage.  Depth two holds because
IrreducibleGraph::addEdge drops edges into the enclosing loop's headers,
keeping such a header out of any nested SCC.

(The old comment "If it's a node inside a packaged loop, it returns the
loop's mass." is wrong.)

Walk the Parent chain instead to drop the depth two assumption. Testing
`IsPackaged` before isHeader also skips the Nodes[0] load on the common
path.


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

  Changed paths:
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/r600.c
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Eliminate old macro driven processor name parsing (#212608)

Previously the generated inc file had a series of macros for use
with StringSwitch; now just directly scan the generated name table.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: f08211e71e8fec39ff64facef84cb104ea8119e7
      https://github.com/llvm/llvm-project/commit/f08211e71e8fec39ff64facef84cb104ea8119e7
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/CodeGen/AArch64/fmlal-loreg.ll
    M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
    M llvm/test/TableGen/aarch64-register-info-stats.td

  Log Message:
  -----------
  [AArch64] Remove assembler-only register classes (#211527)

ZPRMul2, ZPRMul4 and PPRMul2 register classes are used solely by the asm
parser to validate other register classes (ZPR2Mul2, ZPR4Mul4,
PPR2Mul2). Since they're real register classes TableGen synthesizes
numerous intersection classes and pressure sets from them.

Removing them and validating the constraint directly in the assembly
parser reduces:

- generated register classes: 521 -> 403 (~22%)
- generated pressure sets: 188 -> 60 (68%)
- generated register-info size: 11.9 MB -> 9.1 MB (23%)

Also improves CTMark geomean -0.23% on stage1-aarch64-O3.

https://llvm-compile-time-tracker.com/compare.php?from=a90dbb43cd67856f681feba82d51a0d5fbcae3c2&to=5565d4907cdf960cc142a7507f16e551f51919b0&stat=instructions%3Au

Assisted-by: codex


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

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/lib/Target/ARM/ARMSubtarget.cpp

  Log Message:
  -----------
  ARM: Mark more generic libgcc functions as available (#210961)

Generic libgcc/compiler-rt functions coexist with aeabi variants
(e.g., __divsi3  and __aeabi_idiv) according to my reading of the
build. At least in compiler-rt, some are aliases.

They were previously removed from the available set on AEABI+AAPCS
targets to force selection of the preferred __aeabi_* variants, back when
only one implementation per libcall could be recorded.

Now that multiple implementations can be available per libcall, stop
hiding the generics and select the __aeabi_* variant explicitly as the
preferred implementation. This reduces the number of special cases to 
consider for future libcalls info improvements.

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


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

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
    M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll

  Log Message:
  -----------
  [X86] Regenerate gather tests with missing VPADD constant asm comments (#212940)

Reduces diff in a future patch


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

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

  Log Message:
  -----------
  [X86] vec_int_to_fp.ll - regenerate tests with missing VPADD constant asm comments (#212941)

Reduces diff in a future patch


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

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/TableGen/AMDGPUTargetDefErrors.td
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: TableGen the subarch triple name table (#212627)

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 2b45696fcafc0c92ea0ad73483b1e175c97c834a
      https://github.com/llvm/llvm-project/commit/2b45696fcafc0c92ea0ad73483b1e175c97c834a
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/test/MC/Mips/macro-ddiv-bad.s
    M llvm/test/MC/Mips/macro-ddivu-bad.s
    M llvm/test/MC/Mips/macro-div-bad.s
    M llvm/test/MC/Mips/macro-divu-bad.s

  Log Message:
  -----------
  [Mips] Fix Clang crashes when assembling MIPS div/rem with register-name symbol as divisor (#200354)

Add check before getimm().

Fix #185363.


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

  Changed paths:
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp

  Log Message:
  -----------
  CSKY: Avoid constructing a temporary CSKYSubtarget in AsmPrinter (#212944)

This was reconstructing a subtarget equivalent to the global
subtarget instead of just using the available one.


  Commit: 60074081ea925868392d4256a5578ffd6f88db42
      https://github.com/llvm/llvm-project/commit/60074081ea925868392d4256a5578ffd6f88db42
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP800.td
    M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonX.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] Split and rename WriteVSlideI/WriteVISlide1X/WriteVFSlide1F (#212184)

Split each of these SchedWrites into separate slide-up and slide-down
variants:
  - WriteVSlideI     -> WriteVSlideUpI, WriteVSlideDownI
  - WriteVISlide1X   -> WriteVISlide1Up, WriteVISlide1Down
  - WriteVFSlide1F   -> WriteVFSlide1Up, WriteVFSlide1Down

SpacemiT X100 and A100 have different latencies and/or throughput for
slide up vs. slide down operations, so they need separate SchedWrites to
model that difference.


  Commit: 46919d267fd440dc3a82672e188b57fc441deafb
      https://github.com/llvm/llvm-project/commit/46919d267fd440dc3a82672e188b57fc441deafb
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUAsyncOperations.md

  Log Message:
  -----------
  [Docs][AMDGPU] Explain completion of async operations (#212756)

This improves the somewhat hand-wavey "memory model" currently described
for async operations. While this version is also not complete, it
prepares for the more complete memory model being written down.


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

  Changed paths:
    M mlir/test/Target/SPIRV/debug.mlir
    M mlir/test/Target/SPIRV/non-uniform-ops.mlir

  Log Message:
  -----------
  [NFC][mlir][SPIR-V] Use Subgroup scope in GroupNonUniform tests (#212928)

After https://github.com/KhronosGroup/SPIRV-Tools/pull/6811 spirv-val
rejects Workgroup scope on these ops


  Commit: ef7f2f611993a4bc59e181d2bf8fc6269d7e1c7d
      https://github.com/llvm/llvm-project/commit/ef7f2f611993a4bc59e181d2bf8fc6269d7e1c7d
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    A llvm/test/CodeGen/RISCV/rvv/vlmax-peephole.mir

  Log Message:
  -----------
  [RISCV] Fix crash in convertToVLMAX when AVL is an ADDI of a frame index (#212923)

`getConstant()` recognizes an AVL that is an immediate by checking
the opcode is `ADDI`, then reading the second operand and checking
if it is `X0`. However the second operand may be a frame index and
`getReg()` asserts with "This is not a register operand!".

We should guard the register access with `isReg()` before comparing
against `X0`.

Fixes #212797.


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

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Assembler/module-flags-float-abi.ll
    M llvm/test/Bitcode/upgrade-ppc-float-abi.ll
    A llvm/test/Linker/module-flags-float-abi.ll
    A llvm/test/Verifier/module-flags-float-abi.ll

  Log Message:
  -----------
  IR: Introduce "float-abi" module flag (#210821)

This is intended to eliminate the FloatABIType TargetOptions field.

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


  Commit: ddb662d3cbadb7c2c96cc2c00f95a3a5562d5b06
      https://github.com/llvm/llvm-project/commit/ddb662d3cbadb7c2c96cc2c00f95a3a5562d5b06
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/WebAssembly/vector-shift.ll

  Log Message:
  -----------
  [WebAssembly][TTI] Avoid crash when costing scalable vector shifts (#212759)

I see the following 

```
 anutosh491 at Anutoshs-MacBook-Air llvm-project % cat /private/tmp/wasm-scalable-shift-cost.ll
define <vscale x 4 x i32> @shift(<vscale x 4 x i32> %x,
                                 <vscale x 4 x i32> %amount) {
  %result = shl <vscale x 4 x i32> %x, %amount
  ret <vscale x 4 x i32> %result
}


 anutosh491 at Anutoshs-MacBook-Air llvm-project % build-assert/bin/opt \
  -mtriple=wasm32-unknown-unknown \
  -mattr=+simd128 \
  -passes='print<cost-model>' \
  -disable-output \
  /private/tmp/wasm-scalable-shift-cost.ll
Printing analysis 'Cost Model Analysis' for function 'shift':
Cost Model: Assertion failed: (isa<To>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file Casting.h, line 572.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.      Program arguments: build-assert/bin/opt -mtriple=wasm32-unknown-unknown -mattr=+simd128 -passes=print<cost-model> -disable-output /private/tmp/wasm-scalable-shift-cost.ll
1.      Running pass "function(print<cost-model>)" on module "/private/tmp/wasm-scalable-shift-cost.ll"
2.      Running pass "print<cost-model>" on function "shift"
 #0 0x0000000105b7a56c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102f6256c)
 #1 0x0000000105b78248 llvm::sys::RunSignalHandlers() (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102f60248)
 #2 0x0000000105b7b170 SignalHandler(int, __siginfo*, void*) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102f63170)
 #3 0x000000018b5f7744 (/usr/lib/system/libsystem_platform.dylib+0x1804fb744)
 #4 0x000000018b5ed8d8 (/usr/lib/system/libsystem_pthread.dylib+0x1804f18d8)
 #5 0x000000018b4f4644 (/usr/lib/system/libsystem_c.dylib+0x1803f8644)
 #6 0x000000018b4f38a0 (/usr/lib/system/libsystem_c.dylib+0x1803f78a0)
 #7 0x0000000104036ddc llvm::BasicTTIImplBase<llvm::WebAssemblyTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::TargetCostKind, llvm::TargetTransformInfo::OperandValueInfo, llvm::TargetTransformInfo::OperandValueInfo, llvm::ArrayRef<llvm::Value const*>, llvm::Instruction const*) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10141eddc)
 #8 0x000000010403b0ac llvm::TargetTransformInfoImplCRTPBase<llvm::WebAssemblyTTIImpl>::getInstructionCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>, llvm::TargetTransformInfo::TargetCostKind) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x1014230ac)
 #9 0x00000001049162c8 llvm::TargetTransformInfo::getInstructionCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>, llvm::TargetTransformInfo::TargetCostKind) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x101cfe2c8)
#10 0x00000001058d90b4 llvm::TargetTransformInfo::getInstructionCost(llvm::User const*, llvm::TargetTransformInfo::TargetCostKind) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102cc10b4)
#11 0x000000010468a368 getCost(llvm::Instruction&, llvm::TargetTransformInfo::TargetCostKind, llvm::TargetTransformInfo&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x101a72368)
#12 0x0000000104689dd4 llvm::CostModelPrinterPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x101a71dd4)
#13 0x0000000105186554 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10256e554)
#14 0x000000010518a680 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102572680)
#15 0x0000000105185418 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10256d418)
#16 0x0000000106127cb0 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::__1::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool, bool) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10350fcb0)
#17 0x0000000106131eac optMain (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x103519eac)
#18 0x000000018b22fe00
zsh: abort      build-assert/bin/opt -mtriple=wasm32-unknown-unknown -mattr=+simd128 
```


  Commit: 98146752c8a6a7b3b3af1f0820f2f530aee5b925
      https://github.com/llvm/llvm-project/commit/98146752c8a6a7b3b3af1f0820f2f530aee5b925
  Author: Kirill A. Korinsky <kirill at korins.ky>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    A llvm/test/MC/Sparc/Directives/seg.s

  Log Message:
  -----------
  [SPARC] Support the .seg directive (#209001)

Support the legacy .seg directive used by SunOS SPARC assembly. Map
"text", "data", "data1", and "bss" to their corresponding MC sections,
using subsection 1 for "data1".


  Commit: 506d70de59b3d37f65757d7694cd3618ed50afee
      https://github.com/llvm/llvm-project/commit/506d70de59b3d37f65757d7694cd3618ed50afee
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

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

  Log Message:
  -----------
  [BFI] Compute the minimum frequency only when dumping. NFC (#212957)


  Commit: 6ddd80af0bfbc1927f8bb2935120f6f4cedadc9a
      https://github.com/llvm/llvm-project/commit/6ddd80af0bfbc1927f8bb2935120f6f4cedadc9a
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/source/Target/Memory.cpp
    M lldb/unittests/Target/MemoryTest.cpp

  Log Message:
  -----------
  [lldb] Fix stale L1 memory cache read after memory write (#208347)

A `memory write` can leave stale bytes in the L1 memory cache, so a later
`memory read` of the address that was just written returns the old value.

The L1 cache (`m_L1_cache`) is a map keyed by each chunk's start address, and
chunks can overlap: a read larger than an L2 cache line
(`target.memory-cache-line-size`, 512 by default) bypasses L2 and is stored
whole in L1, so two large reads can produce two chunks that both cover the same
address.

`Flush()` invalidates the L1 cache on a write. It started at the chunk at or
below the flushed address and walked forward, stopping at the first chunk that
did not intersect. It therefore never inspected a chunk that starts below the
flushed address but is long enough to reach into it, leaving that chunk behind
with the stale byte. A later read fully contained in that chunk is served from
the cache and returns the old value.

Fix `Flush()` to walk the whole L1 cache and erase every chunk that intersects
the flushed range, so a chunk starting below the address is dropped too.
Lookups (`FindL1CacheEntry()`) and inserts (`AddL1CacheData()`) are unaffected:
a lookup that lands on the wrong overlapping chunk simply misses and falls
through to L2 or the inferior, which is not a correctness problem.

Add a unit test covering partial overlaps, containment, disjoint and adjacent
chunks, and a flush that must drop a lower-starting chunk as well as several
overlapping chunks.


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

  Changed paths:
    M libcxx/include/tuple

  Log Message:
  -----------
  [libc++] Remove SFINAE checks in tuple which are always true (#212765)

We have a specialization for `tuple` with no arguments, so checking
`sizeof...(_Tp) >= 1` in the primary template will never be false.


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

  Changed paths:
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/num.h
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp

  Log Message:
  -----------
  [libc++] Move numpunct into <__locale_dir/num.h> (#212465)

`numpunct` is part of the `num` family of facets, so it should live in
`num.h`.


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

  Changed paths:
    M libcxx/include/streambuf
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Rename the streambuf members (#212277)

This refactors `streambuf` to contain a `_GetArea` and a `_PutArea`.
This makes the code significantly easier to read, since the pointers
belonging together are bundled in a struct.


  Commit: ab7bbbbdc7bc0d7813d084898a8f913ca0b40fff
      https://github.com/llvm/llvm-project/commit/ab7bbbbdc7bc0d7813d084898a8f913ca0b40fff
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Transforms/AllocationPlacement.cpp
    A flang/test/Integration/allocation-placement-array-result.f90
    M flang/test/Lower/HLFIR/array-ctor-index.f90
    M flang/test/Lower/HLFIR/custom-intrinsic.f90
    M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
    M flang/test/Lower/HLFIR/maxloc.f90
    M flang/test/Lower/HLFIR/minloc.f90
    M flang/test/Lower/submodule.f90

  Log Message:
  -----------
  [flang][AllocationPlacement] prevent promotion of mock result to allocmem (#212825)

Under the new experimental pass that can move automatic arrays to the
heap, "mock" result storage may be promoted to allocmem before
AbstractResult removes them and replace them by a hidden result.

Add a fir.must_be_stack attribute to these mock alloca so they are never
promoted. So that passes dealing with array function results ABI can
expect to find an fir.alloca and remove it.


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/test/Analysis/string-search-modeling.c

  Log Message:
  -----------
  Reapply "[analyzer] Fix false positive in strchr/strrchr with constant args" (#212124)

Relands #210154


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/store-scalarization-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll

  Log Message:
  -----------
  [LV] Only use legacy scalarization costs with replicate regions. (#212738)

The scalarization costs in InstsToScalarize are based on the assumption
that the instructions are scalarized and predicated. There are a number
of VPlan transformations that can simplify/remove replicate regions. If
there are no replicate regions in a plan, nothing is predicated and
scalarized, so the costs in InstsToScalarize will be inaccurate.

Skip the fallback in those cases, using the more accurate VPlan-based
cost info.

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


  Commit: 2f7a0da7ba3d1de5311118d60e685432238d4e72
      https://github.com/llvm/llvm-project/commit/2f7a0da7ba3d1de5311118d60e685432238d4e72
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/test/API/functionalities/process_save_core_minidump_size_of_image/TestMinidumpSizeOfImage.py

  Log Message:
  -----------
  [lldb][test] Fix TestMinidumpSizeOfImage.py with glibc >= 2.41 (#212972)

Test added by #188363.

In glibc 2.41:
> * dlopen and dlmopen no longer make the stack executable if a shared
> library requires it, either implicitly because of a missing GNU_STACK
> ELF header (and default ABI permission having the executable bit set)
>   or explicitly because of the executable bit in GNU_STACK, and the
>   stack is not already executable.  Instead, loading such objects will
>   fail.

https://lists.gnu.org/archive/html/info-gnu/2025-01/msg00014.html

The test program used for this test provides all the PHDRS itself, but
did not include a PT_GNU_STACK entry.

So the loader would assume it wanted exectuable stack. The main program
was not using an executable stack and so the loader refused to change
that, so loading the object fails.

dlopen failed:
lldb-test-build/functionalities/process_save_core_minidump_size_of_image/TestMinidumpSizeOfImage/libtestlib.so:
cannot enable executable stack as shared object requires: Invalid
argument

To fix this provide a PT_GNU_STACK with value 6 aka read and write but
not execute.


  Commit: 8212d301fd86709c7965bbeb1d6964bb06c0341c
      https://github.com/llvm/llvm-project/commit/8212d301fd86709c7965bbeb1d6964bb06c0341c
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUMemoryModel.md
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [Docs][AMDGPU] availability/visibility in addrspace(3) and other cleanups (#212707)

addrspace(3) on AMDGPU corresponds to LDS, which is a fast memory directly
accessed by all threads in a workgroup (there is no intervening cache). Thus,
any accesses to this addrspace have built-in availability and visibility at
"workgroup" scope.

Other cleanups:
- Update the intrinsic names to match the implementation.
- Explain store-available and load-visible.
- Rename to "make-available" and "make-visible" for consistent spelling.


  Commit: e477a9950ed219a02f4b33b35c4bee24f4c87b00
      https://github.com/llvm/llvm-project/commit/e477a9950ed219a02f4b33b35c4bee24f4c87b00
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add.vni16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.cd.g16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/select-to-fmin-fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.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.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
    M llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_poison.ll
    M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/fminimum.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fneg-fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.v2f16.no.fast.math.ll
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.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.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.modf.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-peephole-lshl-or-hi16pack.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-peephole-lshl-or-hi16pack.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll

  Log Message:
  -----------
  [AMDGPU] Re-fold masked hi16 pack into v_or_b32_sdwa (#210735)

Follow-up to #206058, which selects the (hi << 16) | (z & 0xffff)
high-half pack to a fused v_lshl_or_b32. When z's high bits are not
known zero this needs an explicit v_and_b32 0xffff, and since
v_lshl_or_b32 has no SDWA form the mask can no longer fold into a single
v_or_b32_sdwa (src1_sel:WORD_0) as it did before -- a small but real
perf hole (~5% on a VALU-bound char4 kernel on gfx942).

Add a SIPeepholeSDWA rewrite of the masked pack back into v_lshlrev_b32
+ v_or_b32_sdwa, erasing the dead v_and. It fires only on the masked
form, so the mask-free #206058 win is preserved, and it never increases
the instruction count.

Assisted-by: Claude Opus


  Commit: ba371791db4f9e7ef05f0a1c26529298b2951a4b
      https://github.com/llvm/llvm-project/commit/ba371791db4f9e7ef05f0a1c26529298b2951a4b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
    A llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/SPSCallersTest.cpp

  Log Message:
  -----------
  [ORC] Add rt::sps::MainCaller for running main-like functions. (#212948)

rt::MainCaller is a controller-side interface for running functions with
a main-like signature (int(int argc, char *argv[])) in the executor.
rt::sps::MainCaller is rt::MainCaller's first implementation, which
invokes main functions using on ORC runtime's orc_rt_ci_sps_call_main
entrypoint (using Simple Packed Serialization for argument/return
encoding / decoding).

These utilities live under the ExecutionEngine/Orc/RTBridge directory,
which is intended to hold controller-side utilities for invoking ORC
runtime systems. Subdirectories (e.g. SPS) hold implementations for
specific serialization schemes.

Adds SPSCallersTest with coverage for direct construction, the
synchronous and asynchronous call operators, use through the
rt::MainCaller interface, and the Create / bootstrap-JITDylib lookup
path.


  Commit: 18a49751d365d25e2f87a1a418bb5dae6592a0c1
      https://github.com/llvm/llvm-project/commit/18a49751d365d25e2f87a1a418bb5dae6592a0c1
  Author: Kieran B <kieran.bailey at arm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/neon-scalar-vcvtfp2fx.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Avoid cross-bank copy for NEON vcvtfp2fx result (#210275)

- Add SelectionDAG-only patterns for NEON vcvtfp2fx so integer result
select GPR instead of FPR, avoiding the need for cross-bank copies.
- Bitcast uses still select the FP/SIMD-register forms where available.
- Add testing for GPR-resulting and FPR-resulting patterns.
- Add missing tests in fp16_intrinsic_scalar_2op.ll:
test_vcvth_n_u64_f16_1 and test_vcvth_n_u64_f16_16.

A follow-up patch will also include the fix for GlobalIsel.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-cmp.ll

  Log Message:
  -----------
  [LLVM][InstCombine] Add simplification of SVE compare intrinsics. (#211249)

Extends SVEIntrinsicInfo to accept LLVM IR compare information, which is
then used to call simplifyCmpInst on the data operands of SVE compare
intrinsic calls.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-hadd.ll
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
    A llvm/test/CodeGen/AArch64/sve2-wide-ops.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Add isel patterns for add/sub where the second operand is promoted. (#212771)


  Commit: 0a1c936ef1427699f72a107f701aa79a92d313e8
      https://github.com/llvm/llvm-project/commit/0a1c936ef1427699f72a107f701aa79a92d313e8
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll

  Log Message:
  -----------
  [VPlan] Mark ComputeReductionResult as not reading or writing from memory (#212982)

Enables some DCE


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

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    R mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
    M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
    R mlir/test/lib/Dialect/Tosa/TestAvailability.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    R mlir/tools/mlir-tblgen/TosaUtilsGen.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][tosa] Remove availability interfaces from profile conformance (#207809)

This commit removes the "QueryProfileInterface" and
"QueryExtensionInterface" as they are superfluous in most cases, with
TosaComplianceData.h.inc already providing much of the data we need.
Removing these also helps prevent mistakes as observed in:
https://github.com/llvm/llvm-project/pull/206687

This commit removes these interfaces and updates the profile conformance
to extract supported profile/extension information from
TosaComplianceData.h.inc instead.

One factor that isn't duplicated is operations that rely on extensions,
but do not declare any data type support. This is a small set of
operations, such as tosa.custom, tosa.cond_if, tosa.while_loop and
tosa.const_shape, and we can add them to the TosaComplianceData.h.inc
file as needed.


  Commit: 9e1630622de397a3c8d284d15ce25ee62a00b406
      https://github.com/llvm/llvm-project/commit/9e1630622de397a3c8d284d15ce25ee62a00b406
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port ba371791db4f (#212996)


  Commit: a19d7a1c779c05f727ea5d55cd0434bbd39d179b
      https://github.com/llvm/llvm-project/commit/a19d7a1c779c05f727ea5d55cd0434bbd39d179b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 7ded638ea33b (#212995)


  Commit: 0af5e8419f4bb6c830f3e2ec4b640830ea63a8b0
      https://github.com/llvm/llvm-project/commit/0af5e8419f4bb6c830f3e2ec4b640830ea63a8b0
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    A lldb/test/API/commands/expression/result-with-destructor/Makefile
    A lldb/test/API/commands/expression/result-with-destructor/TestResultWithDestructor.py
    A lldb/test/API/commands/expression/result-with-destructor/main.cpp

  Log Message:
  -----------
  [lldb] Fix C++ expression evaluation with the MS C++ ABI (#212521)

IRForTarget didn't correctly handle the Microsoft C++ ABI when preparing
JIT'd expressions:

- `CreateResultVariable` could match a compiler generated dynamic
initializer function instead of the result variable, since both share
the same mangled substring under the MS ABI.
- `RemoveCXAAtExit` only stripped `__cxa_atexit` calls (Itanium ABI). On
the MS ABI, static destructors are registered via plain `atexit`.

Example:

```cpp
struct Foo {
    Foo() : x(42) {}
    ~Foo() {}
    int x;
};

void bar() {
    static Foo f;
    // <breakpoint here>
}
```

Evaluating `f.x` at the breakpoint on Windows previously could resolve
against the wrong symbol or crash, because the MS-ABI-specific dynamic
initializer function and atexit-registered destructor thunk weren't
accounted for.

Changes

- Restrict result variable lookup to GlobalVariables, so the dynamic
initializer function is skipped.
- Strip `atexit` registrations in addition to `__cxa_atexit`.
- Clear the body of any atexit destructor thunk.

This is needed for:
- https://github.com/swiftlang/llvm-project/pull/13517


  Commit: 6a932c6041a58a1c352ea65c94810a13d3b453d0
      https://github.com/llvm/llvm-project/commit/6a932c6041a58a1c352ea65c94810a13d3b453d0
  Author: janr-bay <jrehders at baylibre.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat][NFC] Generalize bitcast to also cover x87 semantics (#209781)

This removes the special case code for bitcasting APInt to a float with
x87 semantics in convertF80LongDoubleAPFloatToAPInt. This makes it
consistent with previous removal of special cases and will remove one
more small obstacle to making APFloat extensible.


  Commit: fcf4bb1af7450f618504201610ef8c3ef52844d7
      https://github.com/llvm/llvm-project/commit/fcf4bb1af7450f618504201610ef8c3ef52844d7
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
    M llvm/test/CodeGen/AArch64/misched-fusion-apple-sme-compute.mir

  Log Message:
  -----------
  [AArch64] Relax SDep requirement for AppleSMECompute clustering      (#212603)

Do not require RAW dependency for FuseAppleSMECompute.


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

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

  Log Message:
  -----------
  [SLP][NFC]Add extra tests for fadd/fsub reordering, NFC



Reviewers: 

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


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

  Changed paths:
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20Papers.csv

  Log Message:
  -----------
  [libc++] Fix incorrect paper statuses (#212827)

These two papers also added parallel algorithm overloads, which were
never implemented but the papers were still marked as implemented. Mark
the papers as Partial instead.

CF #103640 and #104095


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

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__math/gamma.h
    M libcxx/include/__ostream/print.h
    M libcxx/include/fstream
    M libcxx/include/print
    M libcxx/include/text_encoding
    M libcxx/include/wchar.h
    M libcxx/src/chrono.cpp
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/filesystem_clock.cpp
    M libcxx/src/filesystem/format_string.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/path.cpp
    M libcxx/src/filesystem/path_parser.h
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/filesystem/time_utils.h
    M libcxx/src/fstream.cpp
    M libcxx/src/include/aligned_alloc.h
    M libcxx/src/include/config_elast.h
    M libcxx/src/iostream.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/print.cpp
    M libcxx/src/std_stream.h
    M libcxx/src/system_error.cpp
    M libcxx/src/thread.cpp
    M libcxx/test/support/count_new.h

  Log Message:
  -----------
  [libc++] Clean up windows macros (#207577)

We have multiple macros for different Windows. However, most of them
don't actually define different things. We can condense the macros to
- `_WIN32` directly if it only depends on windows, or
- `_LIBCPP_MSVCRT`

This patch drops `_LIBCPP_MSVCRT_LIKE` and `_LIBCPP_WIN32API`, since
they are equivalent to `_WIN32`.


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

  Changed paths:
    M libcxx/.clang-format
    M libcxxabi/.clang-format

  Log Message:
  -----------
  [libc++abi] Use the same .clang-format as libc++ (#208661)

libc++abi is very close to libc++, and even shares some amount of code.
We should keep the formatting style the same between the two libraries.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    A clang/test/Driver/amdgpu-assembler-xnack-sramecc.s

  Log Message:
  -----------
  clang/AMDGPU: Forward xnack/sramecc mode to the assembler (#212955)

When assembling a .s file with no target ID directive, the requested
xnack/sramecc mode has no module flag to carry it. Forward the mode
requested via -mxnack/-msramecc (or the -mcpu target ID modifiers) to
the assembler as a target feature so it is recorded in the object's e_flags.

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


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

  Changed paths:
    M libcxx/test/extensions/libcxx/input.output/file.streams/fstreams/filebuf.members/xsgetn.buffer.pass.cpp

  Log Message:
  -----------
  [libc++] Switch XFAIL in xsgetn.buffer.pass.cpp to LLVM 23 (#212969)

We want to back-port the fix for xsgetn, so the XFAIL needs to be
updated to reflect that.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/ARM/non-fp-math-op.ll

  Log Message:
  -----------
  [SLP]Fix a crash on non-fp operator isFast request

isFast should be used only on FPMathOperator kind instructons.

Reviewers: 

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


  Commit: 424d5a7cb36fb4770f4436762b636ded1e035bb0
      https://github.com/llvm/llvm-project/commit/424d5a7cb36fb4770f4436762b636ded1e035bb0
  Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp

  Log Message:
  -----------
  [OFFLOAD] Fix a platform selection issue for llvm-gpu-loader (#212893)

Currently if an image supplied to llvm-gpu-loader is not properly
detected by its platform detection logic it does not accept it for
execution. The example could be a spirv or bitcode format. This fix
allows it to rely on devices to device if an image will be accepted and
uses its existing platform detection logic as an optimization only


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
    M llvm/test/Analysis/CostModel/AArch64/arith.ll
    M llvm/test/Analysis/CostModel/AArch64/clmul-fixed.ll
    M llvm/test/Analysis/CostModel/AArch64/clmul.ll
    M llvm/test/Analysis/CostModel/AArch64/cmp.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/div_cte.ll
    M llvm/test/Analysis/CostModel/AArch64/fshl.ll
    M llvm/test/Analysis/CostModel/AArch64/fshr.ll
    M llvm/test/Analysis/CostModel/AArch64/masked-divrem.ll
    M llvm/test/Analysis/CostModel/AArch64/mul.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll

  Log Message:
  -----------
  [AArch64] Add all cost kinds for integer getArithmeticInstrCost (#210759)

This adds all (CodeSize, Latency, LatSize) costs to
getArithmeticInstrCost integer operations, getting the cost more correct
especially for operations that expand into multiple instructions.
Floating point are left to another commit to limit the impact.


  Commit: dc6cd6a29a0831d1a4d607162a1dbd07b556143a
      https://github.com/llvm/llvm-project/commit/dc6cd6a29a0831d1a4d607162a1dbd07b556143a
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp

  Log Message:
  -----------
  [mlir] Honor IntrHasSideEffects on IntrNoMem LLVM intrinsics (#212760)

`[IntrNoMem, IntrHasSideEffects]` is a perfectly valid intrinsic trait
combination, and MLIR would CSE/DCE those without checking. This mirrors
how LLVM models this, see getEffectiveME in IntrinsicEmitter.cpp


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

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

  Log Message:
  -----------
  [clang][bytecode] Add Record::findBase() (#212952)

Similar to findField().


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

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

  Log Message:
  -----------
  [Bazel] Fixes ba37179 (#212986)

This fixes ba371791db4f9e7ef05f0a1c26529298b2951a4b (#212948).

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

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/si-fix-sgpr-copies-av-constrain.mir

  Log Message:
  -----------
  [AMDGPU] Fix getDestEquivalentVGPRClass narrowing AV-class registers (#212963)

isVGPRClass() rejects AV-class registers, so they were narrowed to
VGPR-only instead of preserved. Same reasoning behind the fix as in
SIPreAllocateWWMRegs (see
https://github.com/llvm/llvm-project/pull/211560)


  Commit: 8b36461fb271df4484a375c4b80800fcc8ef8e91
      https://github.com/llvm/llvm-project/commit/8b36461fb271df4484a375c4b80800fcc8ef8e91
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py

  Log Message:
  -----------
  [lldb-dap] Mirgate TestDAP_evaluate. (#212282)

rewrite the `assertEvaluate` and `assertEvaluateFailure` helpers to use
the already existing `session.verify_evaluate` function. THe helpers are
now inlined functions.


  Commit: 179ef900e31ef3b0dfbe762acfa0299551933c8e
      https://github.com/llvm/llvm-project/commit/179ef900e31ef3b0dfbe762acfa0299551933c8e
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

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

  Log Message:
  -----------
  [CodeGen] Remove deprecated createTargetMachineForTriple overload (#212984)

This overload was deprecated in favor of the Triple overload and marked
for removal after llvm 23 branched. All in-tree callers already use the
Triple overload.

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


  Commit: 289a4568f7d18d1d42687f3a2fc2c72bcbadaa28
      https://github.com/llvm/llvm-project/commit/289a4568f7d18d1d42687f3a2fc2c72bcbadaa28
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
    M lldb/source/Host/windows/DomainSocketWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
    M llvm/include/llvm/ADT/ScopeExit.h

  Log Message:
  -----------
  [ADT] Remove deprecated llvm::make_scope_exit (#212987)

Update remaining call sites in lldb to construct llvm::scope_exit
directly, per the deprecation notice.

---------

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


  Commit: b11722f1d3bd5debac949fe366c1801d39b8a2bb
      https://github.com/llvm/llvm-project/commit/b11722f1d3bd5debac949fe366c1801d39b8a2bb
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/docs/CommandGuide/index.md
    A llvm/docs/CommandGuide/llvm-calc-occupancy.rst
    M llvm/test/CMakeLists.txt
    M llvm/test/lit.cfg.py
    A llvm/test/tools/llvm-calc-occupancy/basic.test
    A llvm/tools/llvm-calc-occupancy/CMakeLists.txt
    A llvm/tools/llvm-calc-occupancy/llvm-calc-occupancy.cpp

  Log Message:
  -----------
  [llvm-calc-occupancy] Add an AMDGPU occupancy calculator tool (#208727)

Add a command-line utility that reports the occupancy (waves/EU) an
AMDGPU kernel would reach for a given workgroup size, VGPR/SGPR usage
and LDS. It reuses the backend's own occupancy math, so the numbers
match the compiler. Includes a lit test and a CommandGuide man page.

Assisted-by: Claude Opus

---------

Co-authored-by: mselehov <mselehov at amd.com>


  Commit: 04536c4984206eb20d93355145f9f4e9a0f0d266
      https://github.com/llvm/llvm-project/commit/04536c4984206eb20d93355145f9f4e9a0f0d266
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/include/mlir/Bindings/Python/IRTypes.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/python/mlir/extras/types.py
    M mlir/test/IR/attribute.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/python/ir/builtin_types.py
    M mlir/utils/lldb-scripts/mlirDataFormatters.py
    M mlir/utils/tree-sitter-mlir/grammar.js

  Log Message:
  -----------
  [MLIR][APFloat] Add Type definitions for UE5M3 type (#212712)

This commit adds UE5M3 type definitions in MLIR based on the Float8E5M3FNU APFloat type


  Commit: 31d99ba9e29acbb466380224dbad09eb8cb115ed
      https://github.com/llvm/llvm-project/commit/31d99ba9e29acbb466380224dbad09eb8cb115ed
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/docs/ParameterizedDerivedTypes.md
    M flang/docs/fstack-arrays.md
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    R flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    R flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    R flang/test/Fir/array-copies-pointers.fir
    R flang/test/Fir/array-modify.fir
    R flang/test/Fir/array-value-copy-2.fir
    R flang/test/Fir/array-value-copy-3.fir
    R flang/test/Fir/array-value-copy-4.fir
    R flang/test/Fir/array-value-copy-cam4.fir
    R flang/test/Fir/array-value-copy.fir
    M flang/test/Transforms/stack-arrays-hlfir.f90

  Log Message:
  -----------
  [flang] Delete the array-value-copy pass (#212643)

Since the removal of the legacy expression lowering (#210385, #210621,
#210639, #210873) nothing in flang produces the array-value operations
this pass legalizes, and #211816 already removed it from the default
pipeline. Delete the pass and the pieces that existed solely for it:

- ArrayValueCopy.cpp, its Passes.td definition,
createArrayValueCopyPass, and the (duplicated) CMake source entries.
- Optimizer/Builder/Factory.h in its entirety: the pass was its only
includer, and its contents (attrFortranArrayOffsets,
getExtents/getOrigins on shape values, originateIndices) have no other
users.
- The getTypeParams(fir::ArrayLoadOp) overload (sole caller was the
pass) and the ArrayLoadOp forward declaration in BoxValue.h.
- The pass LIT tests (array-value-copy*.fir, array-copies-pointers.fir,
array-modify.fir); stack-arrays-hlfir.f90 drops the --array-value-copy
stage from its RUN pipeline.
- The pass-describing paragraphs in fstack-arrays.md and the stale
ArrayValueCopy TODO entry in ParameterizedDerivedTypes.md.

The array-value operations themselves (fir.array_load and friends; not
fir.array_coor) remain in the dialect and will be deleted in a
follow-up.

Assisted-by: AI


  Commit: 938d446f7c1caa33aed9fcfdf350419fe8fb1002
      https://github.com/llvm/llvm-project/commit/938d446f7c1caa33aed9fcfdf350419fe8fb1002
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h

  Log Message:
  -----------
  [Support] Don't bring PatternMatchHelpers into top-level scope. NFC (#213016)


  Commit: 6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f
      https://github.com/llvm/llvm-project/commit/6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/src/math/CMakeLists.txt

  Log Message:
  -----------
  [libc][cmake] Make hermetic tests support FLAGS (#212460)

Currently the tests skip themselves because this gets treated as a
(missing) dependency.

I also enable tests that were explicitly skipped with UNIT_TEST_ONLY.
Some of the FP tests are claiming to be failing on GPUs (in 2023). If
that is still true, I'll skip them with if(TARGET_IS_GPU).


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

  Changed paths:
    M libc/test/IntegrationTest/CMakeLists.txt
    M libc/test/IntegrationTest/test.h
    M libc/test/integration/src/pthread/pthread_name_test.cpp
    M libc/test/integration/src/stdio/sprintf_size_test.cpp
    M libc/test/integration/src/stdlib/CMakeLists.txt
    M libc/test/integration/src/stdlib/getenv_test.cpp
    M libc/test/integration/src/stdlib/putenv_test.cpp
    M libc/test/integration/src/stdlib/setenv_test.cpp
    M libc/test/integration/src/stdlib/unsetenv_test.cpp
    M libc/test/integration/startup/gpu/args_test.cpp
    M libc/test/integration/startup/linux/args_test.cpp

  Log Message:
  -----------
  [libc][test] Add EXPECT_STREQ and ASSERT_STREQ macros for integration tests (#212729)

Add EXPECT_STREQ and ASSERT_STREQ macros to IntegrationTest/test.h using
cpp::string_view. Note that, unlike the unit test macro (but like
googletest), this version treats NULL as distinct from "". The
inconsistency is unfortunate, but I think it's important as the code is
used for testing functions like getenv(), where "" and NULL have very
different meanings.

We should probably follow this up with a change to make the unit test
macro behave the same way.

Update integration tests to use the new macros instead of handrolled
string equality functions (my_streq), strcmp, inline_strcmp, or
string_view wrappers.


  Commit: 3122acf9f49012f645ea45e741b81910333a77bc
      https://github.com/llvm/llvm-project/commit/3122acf9f49012f645ea45e741b81910333a77bc
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/src/strings/wide_read_memory_test.cpp

  Log Message:
  -----------
  [libc] Move test macro implementations out of the Test class (#212783)

This is useful for several reasons:
- it makes it possible to use the macros outside of the test methods,
aligning with googletest. Although this isn't recommended, the
alternatives are often not worth it.
- it makes it possible (with additional changes) to expose this
infrastructure to C_TESTs (which currently use the assert() macro, which
is a no-op in release mode)
- it makes it possible to add (and have assertions in) googletest style
SetUp/TearDownTestSuite functions.

I've converted the main assertion macros for now, to test the waters.
I'm planning to handle EXPECT/ASSERT_THAT and EXPECT/ASSERT_EXIT/DEATH
in a follow-up.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll

  Log Message:
  -----------
  [NFC][LLVM] Cleanup Transforms/InstCombine/AArch64/sve-intrinsic-simplify-*.ll (#213012)


  Commit: 0c60c8ad15a0c4255f094bc799c80a683348109c
      https://github.com/llvm/llvm-project/commit/0c60c8ad15a0c4255f094bc799c80a683348109c
  Author: Diego Novillo <dnovillo at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    A llvm/test/CodeGen/SPIRV/debug-info/debug-typedef-nested-drop.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-typedef-skip-base-not-in-regs.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-typedef.ll

  Log Message:
  -----------
  [SPIRV] Emit NonSemantic DebugTypedef (#211883)

This adds `DebugTypedef` emission to the SPIR-V
NonSemantic.Shader.DebugInfo handler.

`SPIRVNonSemanticDebugHandler` now collects `DIDerivedType` nodes tagged
`DW_TAG_typedef` and emits one `DebugTypedef` per node. The emitter
reuses the handler's type-id map and skips a typedef whose base type was
not emitted.

This one has similar limitations to the other type emitters (tracked in
#211850)

1. Typedefs are emitted in one `DebugInfoFinder`-order pass, so a
typedef whose base is another typedef emitted later in that pass is
dropped.
2. The Parent operand uses the enclosing type's id when the typedef's
scope is an emitted `DIType`, otherwise the compile unit. On its own
this PR emits no type that can be a typedef's scope. I'll address this
after debug info for composite types is in mainline.

Tests:

1. `debug-typedef.ll` covers a file-scope typedef of `int` parented to
the compile unit, checking all six operands.
2. `debug-typedef-skip-base-not-in-regs.ll` covers the skip path with a
typedef of a pointer that has no DWARF address space.
3. `debug-typedef-nested-drop.ll`: tests the one-pass limitation: a
two-level typedef emits one `DebugTypedef`, with
`--implicit-check-not=DebugTypedef`.


  Commit: cf6335b275a996adff8334cb35245480ece481e1
      https://github.com/llvm/llvm-project/commit/cf6335b275a996adff8334cb35245480ece481e1
  Author: tfzee <tim.ziegler at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/avx10_2bf16-arith-scalar.ll
    M llvm/test/CodeGen/X86/avx10_2bf16-fma.ll

  Log Message:
  -----------
  [X86] Lower scalar bf16 arithmetic on AVX10.2 via packed ops (#212245)

Currently basic(fadd/fsub/fmul/fdiv/fsqrt/fma) bf16 operations, as they
are not natively supported, are expanded to f32 operations.
However with AVX10.2 there are packed versions for these operations
which should be used instead and are enabled with this PR.

Since there is no native bf16 register class I instead go through f16
since it matches its size and register class.
This conversion will end up getting optimized away leaving only the
intended packed operation.


I used AI to double check and expand on comments.


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

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

  Log Message:
  -----------
  [NFC][AArch64ISelLowering] Use getExtractSubvector and getInsertSubvector helpers. (#213004)


  Commit: f30df0953917256142cfbe1172e22ebbca8204b3
      https://github.com/llvm/llvm-project/commit/f30df0953917256142cfbe1172e22ebbca8204b3
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    A llvm/test/CodeGen/Hexagon/fmaximum.ll
    A llvm/test/CodeGen/Hexagon/fminimum.ll

  Log Message:
  -----------
  [Hexagon] Fix ISel error: LLVM: cannot select -fmaximum (#211283)

This patch adds a custom lowering for FMAXIMUM.
FMAXIMUM is NaN-propagating, and currently, we
don't have any hexagon instruction to support
that behaviour. The patch is also extended to
cover FMINIMUM as well.

Check if any of the inputs are NaN. If so,
propagate the NaN to the output, otherwise
return the maximum/minimum of the inputs,
using ISD::FMINNUM/ISD::FMAXNUM to run
Hexagon's F2_sfmin/F2_sfmax when no operand
is NaN. NaN is propagated (rather than
replaced with a new ConstantFP NaN node) to
avoid triggering a wrong C2_MUX selection in
ISD::SELECT.


  Commit: 2d697f8562d7845d5554cc1d2cd2264401b9d68f
      https://github.com/llvm/llvm-project/commit/2d697f8562d7845d5554cc1d2cd2264401b9d68f
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/fuse_codegen.cpp
    M clang/test/OpenMP/interchange_codegen.cpp
    A clang/test/OpenMP/loop_transform_final_iv.c
    M clang/test/OpenMP/reverse_codegen.cpp
    M clang/test/OpenMP/stripe_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp

  Log Message:
  -----------
  [OpenMP] Restore loop variable values after loop-transformation constructs. (#212853)

This PR relands #208533 which was reverted in #212832 due to test
failures with iterator-based loops.

Original Change:
#208533 fixes loop variable finalization for OpenMP 6.0
loop-transformations constructs: tile, stripe, reverse, interchange and
fuse to comply with spec requirement page 371, lines 19-21. The spec
requires that "After the execution of the loop-transforming construct,
the loop-iteration variables of any of its transformation-affected loops
have the values that they would have without the loop-transforming
directive".

What's Fixed in This Reland:
The original implementation attempted to finalize all loop variables,
including iterators in range-based for loops (CXXForRangeStmt). This
caused issues because the finalization formula `final_value =
lower_bound + num_iterations * step` only applies to arithmetic types
(integers, floats).


  Commit: b95468ff04ba648fa637a4c0783b0e2d332b712c
      https://github.com/llvm/llvm-project/commit/b95468ff04ba648fa637a4c0783b0e2d332b712c
  Author: Paulius Velesko <pvelesko at pglc.io>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/test/Driver/hipspv-link-static-library.hip
    M clang/test/Driver/hipspv-pass-plugin.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp

  Log Message:
  -----------
  [HIPSPV] Add in-tree SPIR-V backend support for chipStar (#206910)


  Commit: cb0944c34b44c4ceadc891e7ee8fd5013ada8b93
      https://github.com/llvm/llvm-project/commit/cb0944c34b44c4ceadc891e7ee8fd5013ada8b93
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
    M offload/unittests/OffloadAPI/program/olCreateProgram.cpp

  Log Message:
  -----------
  [offload][lit] Add jit unittest (#212860)

Basic test for the JIT path.

Context: https://github.com/llvm/llvm-project/pull/212823

---------

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: 11d7c9c9b4e8ebaf5f9bfb6ba80aecd498aa25ca
      https://github.com/llvm/llvm-project/commit/11d7c9c9b4e8ebaf5f9bfb6ba80aecd498aa25ca
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/tools/llvm-calc-occupancy/llvm-calc-occupancy.cpp

  Log Message:
  -----------
  [llvm-calc-occupancy] Fix build after SGPR queries moved to TargetParser (#213023)

Urgent buildbot fix for #208727.

That PR was developed before #209848, which moved the SGPR count queries
into TargetParser and removed
`AMDGPU::IsaInfo::getAddressableNumSGPRs()`, so
`llvm-calc-occupancy.cpp` fails to compile on current `main`:

```
llvm-calc-occupancy.cpp:229:41: error: no member named 'getAddressableNumSGPRs' in namespace 'llvm::AMDGPU::IsaInfo'
```

This switches to the equivalent
`GCNSubtarget::getAddressableNumSGPRs()`, which forwards to the
TargetParser version. All other `IsaInfo::*` calls in the file were
checked against the new API and are unaffected.

Verified locally: `ninja llvm-calc-occupancy` builds clean,
`llvm/test/tools/llvm-calc-occupancy` passes, and the reported
addressable SGPR count is unchanged (102 on gfx90a).


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/trimmed-node-gather-cost.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the non-profitable vectorization, NFC



Reviewers: 

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


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

  Changed paths:
    M libcxx/src/exception.cpp
    M libcxx/src/support/runtime/exception_fallback.ipp

  Log Message:
  -----------
  [libc++] Fix exception_fallback.ipp not compiling (#212961)


  Commit: a853e6fcaf602b3c9bdd21a02af2c4f32a2cb5d1
      https://github.com/llvm/llvm-project/commit/a853e6fcaf602b3c9bdd21a02af2c4f32a2cb5d1
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/i386/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_passwd.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_passwd.h
    A libc/include/pwd.yaml
    M libc/src/CMakeLists.txt
    A libc/src/pwd/CMakeLists.txt
    A libc/src/pwd/pwd_utils.cpp
    A libc/src/pwd/pwd_utils.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/pwd/CMakeLists.txt
    A libc/test/src/pwd/pwd_utils_test.cpp

  Log Message:
  -----------
  [libc] Add struct passwd type, pwd.yaml, and pwd_utils parser (#212421)

Added struct passwd type definition, pwd.yaml header specification, and
parse_passwd_line utility returning ErrorOr<struct passwd> for
colon-separated
password file parsing with hermetic unit tests.

Note: Additional POSIX pwd.h functions (getpwuid, getpwnam, getpwuid_r,
getpwnam_r, fgetpwent) are omitted from this initial change and will be
added in follow-up PRs.

* Added libc/include/llvm-libc-types/struct_passwd.h and proxy header
* Added libc/include/pwd.yaml header specification
* Added pwd_utils.h and pwd_utils.cpp implementing ErrorOr<struct
passwd> parse_passwd_line
* Added pwd.h to target public headers for linux architectures
* Added unit tests in libc/test/src/pwd/pwd_utils_test.cpp

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/trimmed-node-gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-parent-instr-copyable-regular.ll
    M llvm/test/Transforms/SLPVectorizer/X86/poor-throughput-seeds.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-node-reused-in-later-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll

  Log Message:
  -----------
  [SLP]Recalculate gather costs after tree trimming

Gather node costs are computed against the set of vectorized nodes
available for reuse. Tree trimming changes that set, but the costs were
not recalculated: a gather that reused a trimmed-away vectorized value
kept its 0 cost, and the node transformed to a gather matched the same
sibling gather for a free reuse, so the buildvector cost was lost and
unprofitable trees were vectorized.

Recalculate costs of all gather nodes after trimming.

Fixes #212983

Reviewers: 

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


  Commit: e74432084f392d19bf7f30dfd58d3c47a1a32178
      https://github.com/llvm/llvm-project/commit/e74432084f392d19bf7f30dfd58d3c47a1a32178
  Author: David Young <davidayoung at meta.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

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

  Log Message:
  -----------
  [Bazel] Fix Host target's exported headers to include windows (#213018)

When PR# 201283 added windows os select to the build of the Host target,
it missed the exported headers since the CI checks run only linux and
mac (and I hadn't gotten to this in my slow slog of windows bazel lldb
support). I found when translating to BUCK and running into this
compilation error on windows for buck2 built lldb.
Still cannot build and claude tells me the exclude is necessary to avoid
a duplicate.

claude assisted with bazel rule creation


  Commit: aa07c1f12d5d7fd61484236fbfdb2c26c81575fe
      https://github.com/llvm/llvm-project/commit/aa07c1f12d5d7fd61484236fbfdb2c26c81575fe
  Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-namespace-scope.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-with-declaration.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function.ll

  Log Message:
  -----------
  Implement support for NSDI DebugFunction opcode. (#211760)

Add support for
[DebugFunction](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugFunction).


  Commit: 2f08dff5138a4ce908b6d4511a9439e859fedf86
      https://github.com/llvm/llvm-project/commit/2f08dff5138a4ce908b6d4511a9439e859fedf86
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_statfs.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/fsid_t.h
    A libc/include/llvm-libc-types/struct_statfs.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fstatfs.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/statfs.h
    M libc/src/sys/statvfs/linux/CMakeLists.txt
    M libc/src/sys/statvfs/linux/fstatvfs.cpp
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/linux/statvfs.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/fpathconf.cpp
    M libc/src/unistd/linux/pathconf.cpp
    M libc/src/unistd/linux/pathconf_utils.cpp
    M libc/src/unistd/linux/pathconf_utils.h

  Log Message:
  -----------
  [libc] Refactor statfs Linux syscalls and provide 'struct statfs' (#212930)

* Extract statfs/fstatfs Linux syscall wrappers to
`linux/syscall_wrappers` directory;
* Provide our own definition of `struct statfs` type and a corresponding
proxy header (to use system type in overlay mode);
* Migrate callers (e.g. statfs->statvfs translation) to use the new
syscall wrapper.

This would allow us to add Linux-specific (non-POSIX) `<sys/statfs.h>`
header as a next step.

Assisted by: Gemini, human-reviewed


  Commit: 11b58f0e4c84437b2c39e0e5cc415077b3fe06d3
      https://github.com/llvm/llvm-project/commit/11b58f0e4c84437b2c39e0e5cc415077b3fe06d3
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/__ranges/elements_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/istream_view.h
    M libcxx/include/__ranges/join_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.elements/iterator/base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.base.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.other.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.base.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.convert.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent.iter.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.base.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent_base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/iterator/base.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.split/iterator/ctor.base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.split/iterator/ctor.parent.iter.subrange.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/iterator/deref.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.split/sentinel/ctor.parent.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.split/sentinel/ctor.parent.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.base.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.base.pred.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.convert.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.base.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.transform/iterator/ctor.parent.iter.compile.pass.cpp
    A libcxx/test/std/ranges/range.adaptors/range.transform/sentinel/ctor.base.compile.pass.cpp
    A libcxx/test/std/ranges/range.factories/range.iota.view/iterator/ctor.value.compile.pass.cpp
    R libcxx/test/std/ranges/range.factories/range.iota.view/iterator/ctor.value.pass.cpp
    A libcxx/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.value.compile.pass.cpp
    R libcxx/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.value.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.istream.view/ctor.pass.cpp
    A libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.parent.compile.pass.cpp
    R libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.istream.view/iterator/deref.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] P3059R2: Making user-defined constructors of view iterators/sentinels private (#193891)

Implements https://wg21.link/P3059R2 (DR)

Closes #189599

1. Made constructors of iterator and sentinel types of the following
views private:
  - `iota_view`
  - `basic_istream_view`
  - `filter_view`
  - `transform_view`
  - `take_view`
  - `take_while_view`
  - `join_view`
  - `lazy_split_view`
  - `split_view`
  - `elements_view`
2. Updated all relevant tests to fix the usages of the now private
constructor, including:
   1. Removed now obsolete tests (files and cases).
2. Updated all relevant tests to get the iterators and the sentinels via
`begin()` and `end()`, wherever applicable .
   3. Added test cases to confirm that P3059R2 was implemented properly.
   4. Minor other (necessary) tweaks.

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>


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

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

  Log Message:
  -----------
  [RISCV] Improve lowerVECTOR_SHUFFLEAsPPair. (#212895)

Allow V1 and V2 to be swapped. Allow V1 or V2 to be used twice.

Assisted-by: Claude


  Commit: 66d049cdad21a7ad387f358f7593bee91221bd39
      https://github.com/llvm/llvm-project/commit/66d049cdad21a7ad387f358f7593bee91221bd39
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/seed_sseq.pass.cpp

  Log Message:
  -----------
  [libc++] Fix std::mt19937 seeding with std::seed_seq under vectorized ABI (#209860)

This PR fixes a bug in `std::mersenne_twister_engine::seed(_Sseq&)`
where the initialization twist is bypassed when the vectorized engine
optimization (`_LIBCPP_ABI_VECTORIZED_MERSENNE_TWISTER_ENGINE`) is
enabled.

In the vectorized implementation introduced in #206423, the engine state
must be pre-twisted during initialization by calling
`__update_all_states()` at the end of the `seed` functions.

However, in `seed(_Sseq& __q)`, the all-zero state check contains an
early `return;` when a non-zero state is verified. This early return
bypasses the trailing `__update_all_states()` call. Consequently, the
generator is initialized with raw, untwisted seed values (tempered)
rather than the standard twisted values.

This only manifests when compiled with unstable ABI settings
(`_LIBCPP_ABI_VERSION >= 2`) which enables the vectorized
implementation.

I replaced the early `return;` inside the all-zero state verification
block with a loop break, and conditionalized the zero-state fix using
the loop index `__i`, ensuring `__update_all_states()` is always
executed at the end of the function. Added regression tests to
`seed_sseq.pass.cpp` asserting the exact deterministic outputs for both
32-bit and 64-bit engines.


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

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

  Log Message:
  -----------
   [analyzer] Improve UseAfterLifetimeEnd checker's diagnostic with descriptive names and value tracking (#212158)

Currently the `UseAfterLifetimeEnd` checker used `getString()` for
constructing error message. However, `getString()` is a debug only
stringification and should not be used for emitting reports to the
users. That is why I have changed it to `getDescriptiveName()` and also
implemented the `getRegionName`(#211552) function to return the region's
descriptive name. The `getRegionName()` function got also moved to the
modeling checker since both of the reporting checkers consume it
(#211818). This PR also uses the `trackStoredValue()` for value tracking
path notes, so the report points at where the value's source came from.


  Commit: e5bc20b1a810aec0cb7df3f3a834d14a0418ece0
      https://github.com/llvm/llvm-project/commit/e5bc20b1a810aec0cb7df3f3a834d14a0418ece0
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/include/lldb/ValueObject/DILAST.h
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/source/ValueObject/DILAST.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Bitwise/TestFrameVarDILBitwise.py
    M lldb/test/API/commands/frame/var-dil/expr/Bitwise/main.cpp

  Log Message:
  -----------
  [lldb] Add bitwise operators to DIL (#209768)

Add binary bitwise operators `|`, `^`, `&`, and unary bitwise `~`.


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

  Changed paths:
    M clang/test/Analysis/string-search-modeling.c

  Log Message:
  -----------
  [analyzer] Require x86 target for Analysis/string-search-modeling.c (#213048)

This is a fixup to #212124.
The Solaris/sparcv9 build bot failure was reported in:
https://github.com/llvm/llvm-project/pull/212124#issuecomment-5130635364

Build bot failure:
https://lab.llvm.org/buildbot/#/builders/13/builds/14261

```
# RUN: at line 3
/opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c    -analyzer-checker=core,unix    -analyzer-checker=debug.ExprInspection    -analyzer-config eagerly-assume=false
# executed command: /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c -analyzer-checker=core,unix -analyzer-checker=debug.ExprInspection -analyzer-config eagerly-assume=false
# RUN: at line 10
/opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -triple x86_64-scei-ps4 -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c    -analyzer-checker=core,unix    -analyzer-checker=debug.ExprInspection    -analyzer-config eagerly-assume=false
# executed command: /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -triple x86_64-scei-ps4 -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c -analyzer-checker=core,unix -analyzer-checker=debug.ExprInspection -analyzer-config eagerly-assume=false
# .---command stderr------------
# | error: 'expected-warning' diagnostics expected but not seen:
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 528: TRUE
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 539: TRUE
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 551: TRUE
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 565: TRUE
# | error: 'expected-warning' diagnostics seen but not expected:
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 528: FALSE [debug.ExprInspection]
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 539: FALSE [debug.ExprInspection]
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 551: FALSE [debug.ExprInspection]
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 565: FALSE [debug.ExprInspection]
# | 8 errors generated.
# `-----------------------------
# error: command failed with exit status: 1
```


  Commit: 3d6d0457bbc4698cb515f5d68e981a1ebf3d724e
      https://github.com/llvm/llvm-project/commit/3d6d0457bbc4698cb515f5d68e981a1ebf3d724e
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-strict_fsub.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Switch some FP opcodes to extended LLTs (#212664)

Migrate G_FADD, G_FMUL, G_FMA, and G_FSUB and their strict variants,
along with G_FCANONICALIZE to use extended LLTs.

Also update the relevant MIR tests.


  Commit: 0eddedc4e718f05617c8649be78c72eda60d14a2
      https://github.com/llvm/llvm-project/commit/0eddedc4e718f05617c8649be78c72eda60d14a2
  Author: Ian Li <ian.li at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/lib/Tooling/DependencyScanningTool.cpp
    A clang/test/ClangScanDeps/modules-invalid-target.c

  Log Message:
  -----------
  [clang][DependencyScanning] Return failure upon CompilerInstanceWithContext failure to create target (#211607)

This was first pointed out by a static analysis scan: Success/failure
results from `CompilerInstance::createTarget` in
`CompilerInstanceWithContext::initialize` is currently being discarded.

AFAICT, `initialize` should have failed if
`CompilerInstance::createTarget` failed, as I noticed that calls in
`CompilerInstanceWithContext::computeDependencies` (which is ran right
after `initialize`) contains function calls (i.e. `CI.loadModule`) that
make references to `CompilerInstance::getTarget`: `getTarget` then tries
to obtain a reference to the very `TargetInfo` instance that the earlier
`CompilerInstance::createTarget` call failed to create.

AFAIK `createTarget` doesn't actually seem to fail currently, but I
haven't been able to find a good reason as for why success/failure from
`CompilerInstance::createTarget` should be ignored even if it failed.
But please let me know if I am not seeing something here!


  Commit: e4c2875c397861ea45a0cca05107d91d7d785d03
      https://github.com/llvm/llvm-project/commit/e4c2875c397861ea45a0cca05107d91d7d785d03
  Author: Ehren Bendler <143813417+ebendler at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/docs/UsersManual.md
    M clang/docs/analyzer/user-docs/CommandLineUsage.rst

  Log Message:
  -----------
  [clang][docs] Update CommandLineUsage and UsersManual with some flags (#209519)

The current user-manual is missing implemented options that are useful
for machine-readable output, such as `-fdiagnostics-format=sarif` and
`-fdiagnostics-absolute-paths`.


  Commit: 565fdb70e6063e27230f6397d2cbccf1003beaed
      https://github.com/llvm/llvm-project/commit/565fdb70e6063e27230f6397d2cbccf1003beaed
  Author: Yoonseo Choi <Yoonseo.Choi at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    A llvm/test/CodeGen/AMDGPU/asyncmark-merge-rebase-pregfx12.mir

  Log Message:
  -----------
  [AMDGPU] SIInsertWaitcnts: rebase async marks into the merged frame at CFG joins (#211688)

This PR fixes `WaitcntBrackets::mergeAsyncMarks` to call `mergeScore` at
CFG join block even when one of its predecessors has no AsyncMark

At a CFG join block, the upper bounds of counts from predecessors are
merged. Then,
`mergeScore` rebase each predecessor’s `Score` by the merged upper
bound. Even if a predecessor has no AsyncMark, scores of other
predecessors with AsyncMarks should be rebased by `mergeScore`.

Suppose a predecessor, bb B, without AsyncMark (Score 0) visited later
than another predecessor with AsyncMarks (positive Score), bb A. If
merging upper bounds of bb B into that of bb A increases the new global
upper bounds to UB’ from UB, bb A’s Score should be rebased by the new
UB’. Previously in that case, only UB was merged but Score of bb A was
not updated as `mergeScore` was not called due to bb B’s having zero
score.

Detailed example can be seen in added test,
`llvm/test/CodeGen/AMDGPU/asyncmark-merge-rebase-pregfx12.mir`. Here are
the descriptions on the test.

The join (bb.3) has two predecessors:
- (bb.2) an AsyncMark predecessor: one async LDS DMA + ASYNCMARK, so one
     AsyncMark recorded at LOAD_CNT score 1 (small frame, UB = 1).
- (bb.1) a load predecessor: several async LDS DMAs with no ASYNCMARK.
These stay
outstanding (they write LDS, no VGPR result) and extend the frame to UB
= 4,
     but contribute no async marks.

si-insert-waitcnts visits the branch target bb.2 before the fall-through
bb.1. So, bb.2 seeds bb.3's incoming state and bb.1 with an empty
AsyncMarks list is merged in.
When UB of LOAD_CNT is still merged to 4 = max(1,4).
If bb.2's Score 1 is not rebased to new UB 4, the vmcnt value wrongly
becomes 3 (= 4 - 1), which was the previous behavior.
Score 1 must be rebased to 4 (= 1 + (4 - 1)) to make correct vmcnt, 0 (=
4 - 4). That rebase logic is already within `mergeScore`. `mergeScore`
should be called even when one of the predecessors has zero Score.

Notice that the bug doesn’t show up if bb.1 was visited before bb.2.


  Commit: 75b5df8f0af1000cae8e21fedbc14d0c51a01318
      https://github.com/llvm/llvm-project/commit/75b5df8f0af1000cae8e21fedbc14d0c51a01318
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    A clang/test/Preprocessor/pragma_set_pp_state.cpp
    M clang/test/SemaCXX/libstdcxx_format_kind_hack.cpp

  Log Message:
  -----------
  [Clang] Support libstdc++ workarounds when using `-E` (#210802)

We have a libstdc++ workaround in place to address a hack in libstdc++15
that is used in the definition of `std::format_kind`. GCC accepts the
hack, while Clang does not. libstdc++ was eventually updated to remove
the hack, but we still need the workaround for some versions of
libstdc++15 (see #139560 for more information).

Whether this workaround (and others that address libstdc++ hacks) is
active depends on the value of `__GLIBCXX__`. This stops working if
someone first preprocesses the input (via `-E`) and then attempts to
compile the preprocessed code with Clang (see #160314): since
preprocessing has already happened, `__GLIBCXX__` will be undefined and
the workaround will not be applied.

In case of this particular workaround, this results in `#include
<format>` failing to compile on some versions of libstdc++ if you’re
using separate preprocessing.

To resolve this problem, this patch introduces a new pragma (`#pragma
clang __set_pp_state MACRO_NAME INTEGER`). This is intended as a general
solution to preserving preprocessor state across runs of the
preprocessor.

Currently, the only supported value for `MACRO_NAME`is `__GLIBCXX__`.
When we encounter this form of the pragma, we update
`Preprocessor::CXXStandardLibraryVersion` (we don’t actually define
`__GLIBCXX__` or do anything w/ that macro here). In `-E` mode, the
pragma is retained in the output, and a pragma is emitted for `#define
__GLIBCXX__` if printing macro definitions is disabled.

Things like `#undef __GLIBCXX__` and redefinitions of `__GLIBCXX__` are
deliberately left unhandled (i.e. you get what you get), since users
shouldn’t ever be undefining or redefining this macro anyway (and since
it starts w/ `__`, it would also be UB to do so).

Fixes #160314.


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

  Changed paths:
    M lldb/docs/use/mcp.md

  Log Message:
  -----------
  [lldb][docs] Rewrite the MCP documentation for lldb-mcp (#212821)

The docs still describe lldb-mcp as a thin stdio-to-socket bridge that
auto-launches an LLDB and exposes a single lldb_command tool. It is now
a full featured multiplexer hosting its own sessions, with four tools
and pid-qualified URIs. Also restructure the documentation around how it
is used, with an explanation of the underlying architecture towards the
end.


  Commit: ce7a6f9d239979d9ae7d4c422d830a17dbb4075a
      https://github.com/llvm/llvm-project/commit/ce7a6f9d239979d9ae7d4c422d830a17dbb4075a
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpowi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptosi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptoui.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptosi-sat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptoui-sat.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Switch more FP opcodes to extended LLTs (part 2) (#212909)

Migrate G_FPOW, G_FPOWI, G_INTRINSIC_FPTRUNC_ROUND, and FP<->INT
conversions opcodes to extended float LLTs.

Also update the relevant MIR tests.


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

  Changed paths:
    M lldb/docs/resources/build.md

  Log Message:
  -----------
  [lldb][docs] Document the script interpreter plugin build options (#212655)

Describe LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS and how it interacts
with LLDB_ENABLE_PYTHON_LIMITED_API, including the platform defaults for
both and why the Python Limited API requires dynamic script interpreter
plugins everywhere but Windows.


  Commit: 0cfc5bc3aa10274776306e4a4a179974d3fadb4b
      https://github.com/llvm/llvm-project/commit/0cfc5bc3aa10274776306e4a4a179974d3fadb4b
  Author: Ian Tayler Lessa <ian.taylerlessa at arm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [mlir][tosa][tosa-to-linalg] Use 0 weights at skippable RFFT2D locations (#212293)

The TOSA specifications indicates that when computing the imaginary
output for locations (0,0), (0,W/2), (H/2,0), (H/2, W/2),
implementations may choose to skip the computation entirely and return
0, or compute each accumulation term as `-val_real * 0.0`.

The previous legalizations used `-val_real * sin(a)` but `sin(a)` may
not return exactly 0.0 due to representation error in the input to
`sin`.

This patch updates the legalization to instead check for indices where
`sin(a)` should be replaced by `0.0` and uses a `select` op to match the
expected behaviour according to the Specification when
tosa_extra_multiplies is set to `true`.

Signed-off-by: Ian Tayler Lessa <ian.taylerlessa at arm.com>


  Commit: 5e3f4038530f54fa80ef2e2e648dcb399d279b70
      https://github.com/llvm/llvm-project/commit/5e3f4038530f54fa80ef2e2e648dcb399d279b70
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/IR/fenv.cir
    M clang/test/CIR/IR/invalid-cast.cir
    M clang/unittests/CIR/FenvOpTest.cpp

  Log Message:
  -----------
  [CIR] Add fenv attribute to cast operation (#212899)

This adds the optional #cir.fenv attribute to the cir.cast operation and
updates the verifier to enforce the attribute being present only when
the cast involves floating-point values.

Assisted-by: Cursor / various models


  Commit: 1dd9687d41e1331996ece0839e58673ab4d8e10f
      https://github.com/llvm/llvm-project/commit/1dd9687d41e1331996ece0839e58673ab4d8e10f
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/fma_legacy.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/fmul_legacy.ll

  Log Message:
  -----------
  [AMDGPU] Fix fmul/fma legacy sign-of-zero miscompile (#203567)

V_MUL_LEGACY_F32 always returns +0.0 when either operand is ±0.0 or a
denormal treated as zero, while IEEE fmul XORs operand signs. This makes
results observably different when one operand is a runtime ±0.0:

  fmul.legacy(-2.0, +0.0) = +0.0  (legacy zero clause forces +0.0)
  fmul       (-2.0, +0.0) = -0.0  (IEEE sign XOR: - * + = -)

The previous code folded whenever one operand matched m_FiniteNonZero()
or both were known never Inf/NaN, without accounting for sign-of-zero
divergence on the other operand.

Restructure the guard:

- Always safe: both operands are known never zero (legacy zero clause
  cannot fire). Uses isKnownNeverLogicalZero to correctly account for
  denormals flushed to zero under the function's f32 denormal mode.

- With nsz (sign-of-zero is don't-care), two additional cases apply:
  1. One operand is not zero or infinity or NaN: zero clause cannot fire
     on that side, and 0*Inf/0*NaN (where legacy returns +0.0 but IEEE
     returns NaN) is excluded.
  2. Neither operand is infinity or NaN: 0*Inf and 0*NaN cases excluded,
     nsz covers any sign-of-zero difference from the zero clause.
  A single condition captures both cases.

- Compute Known1 lazily: bail before the second computeKnownFPClass call
  if Op0 may be zero and nsz is not set, since Op1 cannot help.

Update fmul_legacy.ll and fma_legacy.ll to reflect the corrected
behavior: cases that previously folded without nsz now require it or
require both operands to be provably non-zero.


  Commit: 665d200b160d15ef7e8ddeb21c7028d774c7e1b1
      https://github.com/llvm/llvm-project/commit/665d200b160d15ef7e8ddeb21c7028d774c7e1b1
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir

  Log Message:
  -----------
  [mlir][xegpu] Handle size-1 broadcast dim in insert_strided_slice layout setup (#211725)

This PR enhance `setupInsertStridedSliceResultLayout` to treat a size-1
source dim as a broadcast dim: keep its lane_data at 1 instead of
requiring divisibility.

Add regression tests for both the layout propagation setup and the
subgroup-to-lane distribution of such an op.

Assisted-by-claude

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


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/regalloc-hint-movprfx-streaming.mir
    M llvm/test/CodeGen/AArch64/sve-ldst-multi-vec.mir
    M llvm/test/CodeGen/AArch64/sve-multivector-load-stores.ll
    M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll

  Log Message:
  -----------
  [AArch64][SME2] Add stridedorcontiguous pseudos for multi-vector-stores (#211551)

Select strided-or-contiguous psuedos for SME2 multi-vector stores,
allowing register allocation to choose the most profitable tuple layout.
The pseudos can then be expanded to choose the appropriate contiguous or
strided instruction after allocation.


  Commit: 188aa82fd8d0b9f322f6d5b3812f8cb4a970b60c
      https://github.com/llvm/llvm-project/commit/188aa82fd8d0b9f322f6d5b3812f8cb4a970b60c
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-s-buffer-load.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ptr.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.ptr.s.buffer.load.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.ptr.s.buffer.load.subdword.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ptr.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-wwm-single-lane.ll
    M llvm/test/CodeGen/AMDGPU/bug-deadlanes.ll
    M llvm/test/CodeGen/AMDGPU/bug-vopc-commute.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    A llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_ptr_s_buffer_loads.ll
    M llvm/test/CodeGen/AMDGPU/group-image-instructions.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.s.buffer.load-gfx12.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.s.buffer.load-mmo.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.s.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
    A llvm/test/CodeGen/AMDGPU/ptr-s-buffer-load-mmo-offsets.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
    M llvm/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
    M llvm/test/CodeGen/AMDGPU/set_kill_i1_for_floation_point_comparison.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-copy.ll
    M llvm/test/CodeGen/AMDGPU/si-scheduler.ll
    M llvm/test/CodeGen/AMDGPU/si-sgpr-spill.ll
    M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/Transforms/EarlyCSE/AMDGPU/intrinsics.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [AMDGPU] Add ptr.s.buffer.load intrinsic, use it from Clang (#209243)

This commit adds a version of the existing s_buffer_load intrinsic that
more accurately models the memory semantics of the s_buffer_load
instruction, namely that it is, in fact, a memory load.

To preserve the existing behavior that the "nomem" s.buffer.load
intrinsic was using, Clang and MLIR add !invariant.load metadata when
constructing the intrinsic (matching documented requirements on
scalarazable buffer loads) and a late codegen pass adds the metadata
just to be safe.

Tests that were "about" s.buffer.load have been copied to create
versions that use the new intrinsic, as was done for the other
*.ptr.buffer.* operations.

Other tests have been upgraded to use the new intrinsic. This has mainly
resulted in minor instruction ordering changes in prologues, if any
change at all. However, CodeGen/AMDGPU/dagcombine-fma-fmad.ll has seen a
v_fma => v_mad pattern fail to match in one case, I don't know if this
is a real regression.

While I was here, the s_buffer_load => buffer_load fallback has been
updated to preserve cachepolity.

AI disclosure: Primarily AI-written code, but I have at least looked at
and tried to find the worst of the silliness.

---------

Co-authored-by: Codex <codex at openai.com>


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

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

  Log Message:
  -----------
  [mlir][xegpu] Fix DPAS subgroup layout propagation for broadcast K dim (#211695)

This PR fixes an issue in getDpasSubgroupLayouts(): It failed to find
valid subgroup layouts for otherwise-legal DPAS ops. It treated the K
(contraction) dimension as distributed across subgroups — requiring
wgShape % sgLayout == 0 on every dim and gating on a
checkAlignedSgDataAB() equality — when K is actually broadcast: its full
extent stays in every subgroup. This rejected the only valid candidate,
causing layout propagation to bail out.
 
Update the two affected tests, which now propagate successfully instead
of failing.

assisted-by-claude

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


  Commit: 94ef6a696069211685027fe4aa65a31ccfbe3453
      https://github.com/llvm/llvm-project/commit/94ef6a696069211685027fe4aa65a31ccfbe3453
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lld/test/ELF/aarch64-thunk-align.s
    M lld/test/ELF/aarch64-thunk-bti-execute-only.s
    M lld/test/ELF/aarch64-thunk-bti-multipass.s
    M lld/test/ELF/aarch64-thunk-bti.s
    M lld/test/ELF/aarch64-thunk-script.s

  Log Message:
  -----------
  [test] Migrate AArch64 thunk tests to the default thunk order (#212691)

Drop -z nosort-thunks (added by #211721 to keep creation order) and
update expectations to the default order: forward thunks sorted by
descending destination.


  Commit: 524e0d24b274ad5ae5687558963661196eb1ab87
      https://github.com/llvm/llvm-project/commit/524e0d24b274ad5ae5687558963661196eb1ab87
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lld/test/ELF/arm-bl-v4t.s
    M lld/test/ELF/arm-branch-rangethunk.s
    M lld/test/ELF/arm-force-pi-thunk.s
    M lld/test/ELF/arm-thumb-condbranch-thunk.s
    M lld/test/ELF/arm-thumb-interwork-shared.s
    M lld/test/ELF/arm-thumb-interwork-thunk.s
    M lld/test/ELF/arm-thumb-mix-range-thunk-os.s
    M lld/test/ELF/arm-thumb-plt-range-thunk-os.s
    M lld/test/ELF/arm-thumb-range-thunk-os-no-ext.s
    M lld/test/ELF/arm-thumb-range-thunk-os.s
    M lld/test/ELF/arm-thunk-arm-thumb-reuse.s
    M lld/test/ELF/arm-thunk-linkerscript-dotexpr.s
    M lld/test/ELF/arm-thunk-linkerscript-orphan.s
    M lld/test/ELF/arm-thunk-linkerscript.s
    M lld/test/ELF/arm-thunk-re-add.s

  Log Message:
  -----------
  [test] Migrate Arm thunk tests to the default thunk order (#212694)

Drop -z nosort-thunks (added by #211721 to keep creation order) and
update expectations to the default order: forward thunks sorted by
descending destination. Backward-only thunk sections keep creation
order and are unchanged.

In arm-thunk-re-add.s, retarget beq.w to imported2: sorting places
imported's pool thunk just within conditional-branch range, so
beq.w imported would reuse it instead of re-adding a thunk.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll

  Log Message:
  -----------
  [AMDGPU] Fix miscompile in performSelectCombine for fcmp one with NaN (#213029)

The fold `select (fcmp one x, K), y, K -> ..., x` returned x instead of
K when x was NaN, changing the result


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp

  Log Message:
  -----------
  [CIR] Fix path generation to understand redecls (#213051)

Found this during a self-build, an additional decl was confusing the
check between getParent and the currentClass. This patch generalizes it
to use the 'isSameEntity' function which makes sure they are the same.

Also, as a drive-by, the test had some check-lines that andy submitted a
while back, that were accidentially not being tested, so fixed the
check-title to be actually checked.


  Commit: f176fde8c823da74fc9ca1064077056c77846aee
      https://github.com/llvm/llvm-project/commit/f176fde8c823da74fc9ca1064077056c77846aee
  Author: Alok Kumar Sharma <AlokKumar.Sharma at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    A llvm/test/Transforms/MergeFunc/merge-functions-entry-count-imports.ll

  Log Message:
  -----------
  [MergeFunctions] Preserve import GUIDs when folding functions (#207003)

Computes the union of SamplePGO/ThinLTO import GUIDs from both inputs
and attaches it to the surviving function.


  Commit: 9e43e04108dddff6476152d0fff672fb4c577925
      https://github.com/llvm/llvm-project/commit/9e43e04108dddff6476152d0fff672fb4c577925
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    A mlir/test/Dialect/Arith/expand-ops-min-max.mlir
    M mlir/test/Dialect/Arith/expand-ops.mlir
    M mlir/test/Dialect/EmitC/arith/ops.mlir

  Log Message:
  -----------
  [mlir][arith] Gate min/max expansion in arith-expand behind include-min-max (#211884)

`arith-expand` expanded `arith.maximumf`/`minimumf`/`maxnumf`/`minnumf`
and the signed/unsigned integer max/min ops into `cmpf`/`cmpi` +
`select` sequences. These ops also have a direct arith-to-llvm lowering
to the `llvm.intr.maximum`/`minimum`/... intrinsics, which are a single
hardware instruction on many targets. Pipelines that run arith-to-llvm
after arith-expand (e.g. the GPU-to-XeVM pipeline) therefore paid a
large, avoidable overhead.

Add `include-min-max-f` (the float ops
maximumf/minimumf/maxnumf/minnumf) and `include-min-max-i` (the
signed/unsigned integer ops maxsi/maxui/minsi/minui) option (default `false`, changing the existing
behavior) that controls whether these min/max ops are expanded. The
min/max converters are factored into new
`populateExpandMinMaxFPatterns` and
`populateExpandMinMaxIPatterns`; the ceil/floor-div and scaling ext/trunc
expansions (which have no LLVM lowering) always run.

---------

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


  Commit: f8eefd3d9d1b083563b1b095a8cf4513026252e0
      https://github.com/llvm/llvm-project/commit/f8eefd3d9d1b083563b1b095a8cf4513026252e0
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Fix difference_type expectations in range adaptor iterator member_types tests (#201853)

This fixes incorrect expectations in:

```
libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
```

These iterators define difference_type as `range_difference_t<Base>`.
For `ForwardSizedView` and `InputCommonView`, the `difference_type` of
the underlying iterators is `std::intptr_t` in `test_iterators.h`.

The tests instead assert `std::ptrdiff_t`. That happens to hold on
platforms where `std::intptr_t` and `std::ptrdiff_t` are the same type,
but fails elsewhere.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/attr-alias-no-proto.c

  Log Message:
  -----------
  [CIR] Fixup type of no-prototype functions when emitting an alias. (#212308)

If a function is first used through a no-prototype declaration, then
defined later as an alias, we erased the old declaration and created the
new one with the new type. However the earlier references still used the
old type, which caused a verification error.

This patch just makes sure we replace the uses of it similar to how we
do with a similar problem with normal functions.

Note: there is a bit of inconsistency in how we're setting the type of
the function between OGCG and CIR that I'm not sure of the impact of,
    but that is prexisting.


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c

  Log Message:
  -----------
  [CIR]Implement lowering for simple sin/cos/tan/exp10 builtins. (#211614)

Discovered these just looking around, they are pretty simple/trivial
translations to LLVM-IR intrins, and the infrastructure to do so is
already in place, so this is a bit of simple wiring up!

Implements f/h/hl versions of sin/cos/tan. Also implements base-10
exponent, since it is also trivial.


  Commit: 3ce0df7ca8027229618de9802eeffe1f0023bf74
      https://github.com/llvm/llvm-project/commit/3ce0df7ca8027229618de9802eeffe1f0023bf74
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Parse/ParseAST.cpp
    M clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/decl-attr-merge-explicit-modules.c
    A clang/test/Modules/decl-attr-merge2.c
    M clang/test/OpenMP/declare_variant_construct_codegen_1.c
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  [Modules] Handle decl attributes on deserialization the same as during parsing. (#208348)

Replace manual handling of 2 attributes with
`Sema::mergeDeclAttributes`, which is called during parsing too. Also
propagate attributes not from a previous redeclaration but from a
previous redeclaration outside of the current module. This is done to
avoid double propagation because attributes from a previous decl in the
same module are already handled when a module is built.

Call `ASTDeclReader::attachLatestDecl` after each decl is added to a
redeclaration chain, not once per `ASTReader::loadPendingDeclChain`
call. This is done to maintain correct redeclaration chain for each
`ASTDeclReader::attachPreviousDecl` call because [newly added]
`mergeDeclAttributes` requires a correct redeclaration chain.

Separated `Parser::Initialize` and `Parser::ConsumeToken` so can move
the initialization earlier, into `Parser` constructor. This way
`Parser::Initialize`, `Sema::Initialize`, `ASTReader::InitializeSema` are
executed before deserialization. This specific case is verified by
"Modules/decl-attr-merge-explicit-modules.c".

The change can cause compilation errors for downstream `Parser` clients.
Instead of calling `Parser::Initialize` now you need to call
`Parser::ConsumeToken`.

rdar://175997317


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/CodeGen/address-space.c
    M clang/test/CIR/IR/copy.cir

  Log Message:
  -----------
  [CIR] Allow cir.copy to work across address spaces- (#211873)

LLVM Memcpy supports copying across address spaces, so we should too. IN
C, this is legal, and there are no associated AST nodes to reasonably
put in a cast, so this patch just legalizes it to match the LLVM
behavior.

Note: I've added a 'CopyTypes' printer/parser as well, because it seems
unfortunate to make EVERY copy have to show all of its types.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/reassoc-copyable-sched-deps.ll

  Log Message:
  -----------
  [SLP]Release scheduling deps of copyable reassoc operands only once

A flattened reassoc node may have a scalar that is both a modeled
copyable tree operand (child entry) and a direct IR operand of a node
member. Scheduling such a member released its ScheduleCopyableData
dependency twice - in the per-lane operand scan and again in the
reassoc operand cleanup - driving UnscheduledDeps negative. Dedup the
cleanup release through the same Checked set the operand scan uses.

Reviewers: 

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


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

  Changed paths:
    M clang/lib/CodeGen/Targets/PPC.cpp
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  IR: Use LongDoubleFormat enum for long-double-type module flag (#213056)

Add parse/print helpers for the LongDoubleFormat enum, and route the
"long-double-type" module flag producers and consumers through them
instead of hardcoded strings in every location. Also clean up some
unnecessary failure checks guaranteed by the verifier.

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


  Commit: 2e838bf84da94760fa49e132108e954a62815573
      https://github.com/llvm/llvm-project/commit/2e838bf84da94760fa49e132108e954a62815573
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M libc/test/UnitTest/HermeticTestUtils.cpp

  Log Message:
  -----------
  [libc] Fix aligned_alloc used in hermetic tests. (#213041)

Use the provided alignment for the pointer to the returned
memory chunk instead of the size.

This fixes occasional segfaults in `hsearch` tests after
ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0, since
hash-table bitmask implementation uses SSE2 intrinsics with 16-byte
alignment.


  Commit: 056dae16f7d219f0dc943828dccd6cc3773d2674
      https://github.com/llvm/llvm-project/commit/056dae16f7d219f0dc943828dccd6cc3773d2674
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Fir/CUDA/cuda-stream.mlir
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
    M mlir/test/Dialect/GPU/invalid.mlir
    M mlir/test/Dialect/GPU/ops.mlir

  Log Message:
  -----------
  [mlir][gpu] Add stream-based async mode to gpu.launch (#213031)

Currently, only gpu.launch_func supports stream-based asynchronicity. This
patch adds the same mode to gpu.launch, and makes kernel outlining preserve
that when converting to gpu.launch_func.

This patch also documents the stream-based model in the operations description,
which was previously missing.

This patch changes the builders for the two launch operations:

To retain the current behavior for gpu.launch one needs to add a `nullptr` for
the new `Value asyncObject` argument after the `ValueRange asyncDependencies`,
and make sure to pass a valid type for the `Type asyncTokenType` parameter if
dependency-based async behavior is intended.

For gpu.launch_func, both stream-based and dependency-based async models now go
through the same builders, which take all three `Type asyncTokenType,
ValueRange asyncDependencies, Value asyncObject` arguments. To retain
stream-based behavior, pass `nullptr, {}` to the first two parameters, while to
retain dependency-based behavior, pass `nullptr` to the third parameter.

Assisted-by: Claude Code


  Commit: 44cf7e37312967a0538501cc8ac044f6a72c9efb
      https://github.com/llvm/llvm-project/commit/44cf7e37312967a0538501cc8ac044f6a72c9efb
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll

  Log Message:
  -----------
  Fix test case failure due to Commit aa50eb69 DwarfDebug: Move emission of types from beginModule() to endModule() (#212805)

Commit `aa50eb69 ("DwarfDebug: Move emission of types from beginModule()
to endModule()") ` added new CHECK lines
to `debug-info-qualifiers.ll` that broke on XCOFF/AIX in two ways:
(1) `CHECK-NOT: DW_TAG_subprogram` tripped on abbrev table entries
printed before .debug_info, and
(2) the pattern `{{.*}} "g")` had a space/paren mismatch against the AIX
dwarfdump output format

This PR is fix that by adding `; CHECK: .debug_info contents: ` anchor
and changed the pattern to `{{.*}}"g"` in the test file


  Commit: 2f238db9da1cec04f7e143fb264aa1c0fd4578ef
      https://github.com/llvm/llvm-project/commit/2f238db9da1cec04f7e143fb264aa1c0fd4578ef
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/test/Lower/CUDA/cuda-managed-assign.cuf
    A flang/test/Lower/CUDA/cuda-unified-assign.cuf

  Log Message:
  -----------
  [flang][cuda] Treat unified data as host data in assignments (#212912)

Unified data was counted as managed data in the data transfer predicate,
so assignments between unified sides, or between unified and host data,
became synchronous copies.

Unified data is host memory that the device can also access, so it now
takes the place of host data there: the assignment is a copy only when
the other side is device or constant data, or a whole managed array, and
is done on the host otherwise.

This matches the reference compiler for whole arrays, sections,
elements, scalars, allocatables, components and expressions.


  Commit: c486d28c1ec80f832a0e3cb3173d1940e632742c
      https://github.com/llvm/llvm-project/commit/c486d28c1ec80f832a0e3cb3173d1940e632742c
  Author: Bar Soloveychik <barsolo at meta.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwo-not-found-warning.cpp
    M lldb/tools/lldb-test/lldb-test.cpp
    M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel

  Log Message:
  -----------
  [lldb] Make missing DWO diagnostics customizable (#212338)

Adds a default-empty `LLDB_DWO_DIAGNOSTIC_SUFFIX` macro and appends it
to both missing-DWO diagnostics.

The idea is companies or build engineers can build with an extra cmake
-D flag to include internal URL links or troubleshooting tips when dwo
files are missing.

tested with:
```
bin/llvm-lit -sv tools/lldb/test/Shell/SymbolFile/DWARF/x86/dwo-not-found-warning.cpp
```

added `GetDwoDiagnosticSuffix()` because a macro has no runtime symbol.
The function lets lldb-test read the exact value compiled into the DWARF
plugin.

---------

Co-authored-by: Bar Soloveychik <barsolo at fb.com>


  Commit: 730b803ed05e307d635b6b2764fad833629042c2
      https://github.com/llvm/llvm-project/commit/730b803ed05e307d635b6b2764fad833629042c2
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/SelectOpsConversion.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Fir/SelectOpsConversion/select.fir
    A flang/test/Fir/SelectOpsConversion/select_case.fir
    A flang/test/Fir/SelectOpsConversion/select_rank.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/select.fir
    M flang/test/Lower/volatile3.f90

  Log Message:
  -----------
  [flang][Transforms] Add `SelectOpsConversion` pass (#212977)

Introduces `--fir-select-ops-conversion`, which lowers `fir.select`,
`fir.select_case`, and `fir.select_rank` to the control-flow dialect
(`cf.switch` / `cf.cond_br` / `cf.br`) while preserving the CFG shape.
`fir.select_case` becomes an if-then-else ladder of `arith.cmpi` +
`cf.cond_br`; Fortran `UNSIGNED` selectors use `ule`. Signed / unsigned
FIR integer values are normalized to signless via `fir.convert` first.

`fir.select_type` is not handled here — it is already lowered by
`--fir-polymorphic-op` (`PolymorphicOpConversion`).

The pass runs in the default FIR optimizer pipeline right after
`PolymorphicOpConversion`. Pipeline-check tests are updated to expect
`SelectOpsConversion` in the sequence; `Fir/select.fir` and
`Lower/volatile3.f90` are relaxed to accept the newly-canonicalized form
of the lowered output.

The main purpose of moving these conversion pattern earlier in the MLIR
pipeline and target `cf` instead of directly `llvm` is to be able to
later on use control-flow to structured-control-flow lifting:
https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Conversion/Passes.td#L402.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply at anthropic.com>


PR Stack:
* ▶️ https://github.com/llvm/llvm-project/pull/212977
* https://github.com/llvm/llvm-project/pull/212978

---------

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/find-last.ll

  Log Message:
  -----------
  [VPlan] Fix optimizeFindIVReductions not negating condition of blend (#213050)

Fixes #212993

#194729 made the m_Select a m_SelectLike, so FindLastSelect could now be
a blend. However we were checking the first operand to see if the Cond
needed inverted. A select has `select %cond, %true, %false`, a blend is
`blend %false, %cond, %true`, so we were failing to negate the
condition.


  Commit: 005b3858f602ec5a193740cb166244d5234ce98f
      https://github.com/llvm/llvm-project/commit/005b3858f602ec5a193740cb166244d5234ce98f
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/IR/fenv.cir
    A clang/test/CIR/IR/invalid-cmp.cir
    M clang/test/CIR/Transforms/vector-cmp-fold.cir
    M clang/unittests/CIR/FenvOpTest.cpp

  Log Message:
  -----------
  [CIR] Add fenv attribute to compare operations (#213072)

This adds the #cir.fenv attribute to the cir.cmp and cir.vec.cmp and
adds verfiers to enforce that the attribute is only present when the
comparison involves floating-point values.

The cir.vec.cmp operation has an existing folder which is skipped in
this change when the fenv attribute is present. In most circumstance,
this folding could still be done, but the implementation is
intentionally conservative at this point. Proper checking of the
conditions under which folding would be legal will be added later.

The cir.cmp operation does not currently have a folder.

Assisted-by: Cursor / various models


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-delayed-stack-protector.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-protector-trap-unreachable.ll

  Log Message:
  -----------
  [GlobalISel] Use integer type for LOAD_STACK_GUARD (#212202)


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

  Changed paths:
    M clang/docs/UsersManual.md
    M clang/docs/analyzer/user-docs/CommandLineUsage.rst

  Log Message:
  -----------
  Revert "[clang][docs] Update CommandLineUsage and UsersManual with some flags (#209519)" (#213092)

This PR reverts commit e4c2875c397861ea45a0cca05107d91d7d785d03.
Reverting because of:
https://github.com/llvm/llvm-project/actions/runs/30559163159/job/90927389811#step:10:822


  Commit: 6162922a8d7cef0cf2e27b91c980197d371c89b9
      https://github.com/llvm/llvm-project/commit/6162922a8d7cef0cf2e27b91c980197d371c89b9
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/test/Driver/hipspv-link-static-library.hip
    M clang/test/Driver/hipspv-pass-plugin.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp

  Log Message:
  -----------
  Revert "[HIPSPV] Add in-tree SPIR-V backend support for chipStar" (#213088)

Reverts llvm/llvm-project#206910 
which broke buildbot:
https://lab.llvm.org/buildbot/#/builders/144/builds/60707


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

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/Support/PatternMatchHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [PatternMatchHelpers] Introduce m_Unless (NFC) (#212454)

Introduce m_Unless from PatternMatch, that inverts a match, in
PatternMatchHelpers.


  Commit: 5b897d9b57494ef37615cd9af88507a212ab5703
      https://github.com/llvm/llvm-project/commit/5b897d9b57494ef37615cd9af88507a212ab5703
  Author: vsimion26 <vlad.simion at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp

  Log Message:
  -----------
  Fix classof implementation for QuantizedType (#213014)

This PR aims to fix the misleading implementation of `classof` which
accepted as a `QuantizedType` every type registered under the
`QuantDialect.`

The now updated implementation makes the checks more restrictive,
allowing only direct subtypes of `QuantizedType` to be recognized as a
`QuantizedType,` therefore preventing `QuantileType` and other types
that are registered under `QuantDialect` to be seen as a subtype of
`QuantizedType` and wrongfully use its methods which might lead to
potential crashes.


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

  Changed paths:
    M clang/lib/Basic/Cuda.cpp
    A llvm/include/llvm/TargetParser/NVPTXTargetParser.def
    A llvm/include/llvm/TargetParser/NVPTXTargetParser.h
    M llvm/lib/TargetParser/CMakeLists.txt
    A llvm/lib/TargetParser/NVPTXTargetParser.cpp
    M llvm/unittests/TargetParser/CMakeLists.txt
    A llvm/unittests/TargetParser/NVPTXTargetParserTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/TargetParser/BUILD.gn

  Log Message:
  -----------
  NVPTX: Add target names in TargetParser (#212734)

Track the canonical sm name and other target information.
This will eventually be used to reduce the pain of maintaining
OffloadArch in clang; all of the disjoint targets share an
enum which makes target specific covered switches annoying.

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


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

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp

  Log Message:
  -----------
  clang: Use NVPTX TargetParser for OpenMP unified-addressing check (#212746)

processRequiresDirective enumerated every OffloadArch value in a switch
only to error on nvptx architectures older than sm_60. Replace it with
NVPTX::supportsUnifiedAddressing() applied to the parsed target CPU so
we don't need to keep adding cases here every time a new target is
added.

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


  Commit: 6e92d6d0577cbe102bd48f396301ea5cd0ebf247
      https://github.com/llvm/llvm-project/commit/6e92d6d0577cbe102bd48f396301ea5cd0ebf247
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/tsan/go/buildgo.sh
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp

  Log Message:
  -----------
  [tsan] Fix buildgo.sh on FreeBSD/NetBSD (#213047)

This patch fixes the remaining compile errors when running `ninja
check-all` on FreeBSD and NetBSD:

- `sanitizer_linux.cpp` doesn't compile on NetBSD, so this patch adds a
cast:
  ```
sanitizer_common/sanitizer_linux.cpp:2492:10: error: format specifies
type 'unsigned long long' but the argument has type '__greg_t' (aka
'unsigned long') [-Werror,-Wformat]
   ```

- `tsan_interface_atomic.cpp` doesn't compile on both FreeBSD and
NetBSD, so this patch disables the warning:
  ```
tsan_interface_atomic.cpp:353:12: error: unused function template
'NoTsanAtomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:358:12: error: unused function template
'Atomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:389:12: error: unused function template
'NoTsanAtomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:394:12: error: unused function template
'Atomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:401:12: error: unused function template
'NoTsanAtomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:406:12: error: unused function template
'Atomic' [-Werror,-Wunused-template]
  ```

- `sanitizer_linux_libcdep.cpp` doesn't compile on NetBSD:
  ``` 
sanitizer_linux_libcdep.cpp:527:27: error: use of undeclared identifier
'__lwp_getprivate_fast'; did you mean '_lwp_getprivate'?
  ```
This is the same issue already handled in `tsan_platform_linux.cpp`: to
expose the `__lwp_getprivate_fast` definition in `<machine/mcontext.h>`,
`_RTLD_SOURCE` needs to be defined before `<machine/mcontext.h>` is
included (indirectly from `<signal.h>` in this case). It also needs to
include `<sys/types.h>` to get a definition of the `__aligned` macro.

Tested on `amd64-pc-freebsd15.1` and `amd64-pc-netbsd10.1`.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll

  Log Message:
  -----------
  [VPlan] Set correct VPIRFlags for FP selects when sinking stores. (#212973)

Selects of floats carry fast-math flags. Update getDefaultFlags to take
the result type and use it to handle selects. I am planning on extending
this to other similar opcodes, including PHIs.

Then update sinkPredicatedStores to pass through the correct default
flags.

This fixes a crash in cse when intersecting common metadata.

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

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


  Commit: 5f10bade30ec9e73f19349df7eb833aae323a2e3
      https://github.com/llvm/llvm-project/commit/5f10bade30ec9e73f19349df7eb833aae323a2e3
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll

  Log Message:
  -----------
  [LoopUnroll] Fix freqs for unconditional latches: N>2, uniform (#182405)

This patch introduces the command-line option `-unroll-uniform-weights`.
When computing probabilities for the remaining N conditional latches in
the unrolled loop after converting some iterations' latches to
unconditional, LoopUnroll now supports the following three strategies:

- A. If N <= 2, use a simple formula to compute a single uniform
  probability across those latches.
- B. Otherwise, if `-unroll-uniform-weights` is not specified, apply the
  original loop's probability to all N latches and then, as needed, adjust
  as few of them as possible.
- C. Otherwise, bisect the range [0,1] to find a single uniform
  probability across all N latches. This patch implements this strategy.

An issue with C is that it could impact compiler performance, so this
patch makes it opt-in. Its appeal over B is that it treats all latches
the same given that we have no evidence showing that any latch should
have a higher or lower probability than any other. A has neither
problem, but I do not know how to apply it for N > 2. More experience or
feedback from others might determine that some strategies are not
worthwhile to maintain.

This patch depends on PR #182404.


  Commit: 3d94aebde11a6410fc1ee93f12622114c60ace3d
      https://github.com/llvm/llvm-project/commit/3d94aebde11a6410fc1ee93f12622114c60ace3d
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/lib/Evaluate/intrinsics-library.cpp

  Log Message:
  -----------
  [flang] Fix POSIX.1/XPG checks in intrinsics-library.cpp (#201072)

PR #201063 breaks the `flang` build on Solaris:

```
flang/lib/Evaluate/intrinsics-library.cpp:225:26: error: address of overloaded function 'acos' does not match required type '__float128 (__float128)'
flang/lib/Evaluate/intrinsics-library.cpp:225:26: error: address of overloaded function 'acos' does not match required type '_Complex __float128 (_Complex __float128)'

```

There are two problems here:
- The `__float128` support in `intrinsics-library.cpp` is guarded by the
POSIX.1 >= 2001/XPG >= 6 check, but only depends on `HAVE_QUADMATHLIB`.
- That check is done incorrectly: it tests for `_POSIX_C_SOURCE >=
200112L` or `_XOPEN_SOURCE >= 600`, which are no longer defined on
Solaris after the PR above. This check is due a misunderstanding of
those feature test macros: as detailed in [The Open Group Base
Specifications Issue 8, 2.2.1 POSIX.1
Symbols](https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html),
those macros are expected to be **defined** by the user to ensure that
the features introduced by a particular version of POSIX.1 or XPG are
enabled, and only be checked by system headers. To test if they actually
are supported, the values of `_POSIX_VERSION` or `_XOPEN_VERSION` need
to be checked instead, as explained in [2.1.3.1 POSIX System
Interfaces](https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap02.html).
The feature test macros being defined by the system headers is a
non-portable glibc/AIX extension, it seems.
If the XPG6 features required for `flang` are present by default in a
compilation environment, `_POSIX_VERSION` or `_XOPEN_VERSION` will be
defined to the required values even without defining `_POSIX_C_SOURCE`
or `_XOPEN_SOURCE`.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and
`x86_64-pc-linux-gnu`.


  Commit: bb7c7d1e2a6b4a3487df8604f94e0b981e873899
      https://github.com/llvm/llvm-project/commit/bb7c7d1e2a6b4a3487df8604f94e0b981e873899
  Author: satyanarayana reddy janga <satyajanga at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    A lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/Makefile
    A lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py
    A lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/main.cpp

  Log Message:
  -----------
  [lldb][minidump] Fix Memory64List DataSize over-counting on a failed read (#212861)

**Issue:**
save-core records each range's DataSize from the value
ReadMemoryInChunks returns. That value counts bytes read from the
inferior even when the callback dropped them: a chunk that errors
part-way returns Stop before AddData, so the partially-read bytes are
counted but never written.

Because the Memory64List locates every range by the cumulative DataSize
of the preceding ranges, an over-counted DataSize desyncs the shared
data blob: the descriptors claim more bytes than the file holds and
every later range reads back corrupted.

**Fix**
Record the bytes actually written (total_bytes_read) as the range's size
so the descriptor DataSize matches the data in the blob.

**Test**
Add an API test that custom-saves a fully-readable region alongside a
region whose tail is unreadable (a file mapped larger than the file),
and checks the Memory64List does not claim more data than the file holds
and that the readable region round-trips byte-for-byte.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/clamp.ll

  Log Message:
  -----------
  [AMDGPU] Canonicalize constant CLAMP source (#207902)

CLAMP lowers to v_max_f32, which canonicalizes its result: signaling
NaNs are quieted and denormals are flushed per the function denormal
mode

The constant fold returned the source unchanged, giving a different
result than the hardware. Route the folded constant through
getCanonicalConstantFP so it matches


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/ne-tightening.ll

  Log Message:
  -----------
  [ConstraintElim] Tighten bounds using inequalities with constants. (#213049)

Update ConstraintElimination to tighten existing bounds using
inequalities. Given an inequality %a != %b and %a >= %b, we can tighten
the fact to %a > %b.

For now this is limited to constant %b.

This helps to remove some checks in practice:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/819

Compile-time impact in the noise:
https://llvm-compile-time-tracker.com/compare.php?from=2f08dff5138a4ce908b6d4511a9439e859fedf86&to=fafe1d0d9d012654bc10e2b68d50ffe3b9fdbdcd&stat=instructions:u

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


  Commit: aae5b3f2a92cc1c08a4bd65ba397fba5e37272fe
      https://github.com/llvm/llvm-project/commit/aae5b3f2a92cc1c08a4bd65ba397fba5e37272fe
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

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

  Log Message:
  -----------
  [scudo] Fix GCC build after 212604 (#212904)

Change #212604 introduced an issue when building with gcc where it
complains there are "too few template-parameter-lists" (see log:

https://lab.llvm.org/buildbot/#/builders/131/builds/51269/steps/6/logs/stdio
)
This PR fixes the build.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/OpenMP/requires_codegen.cpp

  Log Message:
  -----------
  clang: Use proper error for unified shared memory openmp error (#212750)

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp

  Log Message:
  -----------
  [VPlan] Migrate VPBuilder to VPInsertPt fully (NFC) (#209764)

There is already a VPInsertPoint in VPBuilder which is used just with
InsertPointGuard. In order to share code, migrate VPBuilder to fully use
VPInsertPoint as the canonical insertion point.


  Commit: b6e3037f6e6283392f306b58c8444e0efe40a23e
      https://github.com/llvm/llvm-project/commit/b6e3037f6e6283392f306b58c8444e0efe40a23e
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M offload/unittests/OffloadAPI/program/olCreateProgram.cpp

  Log Message:
  -----------
  [offload][lit] Disable failing olCreateProgram test on AMD (#213126)

Fails with an error about not being able to find `lld`. AMD team is
investigating, but disable the test in the meantime.

Context: https://github.com/llvm/llvm-project/pull/212860

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: b75ab58e83301a56e958ea011fd851c88d976fe5
      https://github.com/llvm/llvm-project/commit/b75ab58e83301a56e958ea011fd851c88d976fe5
  Author: Patrick Simmons <patrick.simmons at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    A llvm/test/CodeGen/AMDGPU/s_bcnt0.ll
    M llvm/test/CodeGen/AMDGPU/s_cmp_0.ll

  Log Message:
  -----------
  [AMDGPU] Match bitsin(typeof(x)) - ctpop(x) to s_bcnt0_i32 (#164847)

This PR optimizes the pattern bitsin(typeof(x)) - popcnt(x) to
s_bcnt0_i32 on AMDGPU. It also creates a Clang builtin for s_bcnt0_i32
so that users can call this instruction directly instead of relying on
the compiler to match this pattern.


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

  Changed paths:
    M lldb/unittests/Utility/ArchSpecTest.cpp

  Log Message:
  -----------
  [lldb] Add a unit test for Wasm architecture compatibility (#213070)

A Wasm module encodes neither a vendor nor an OS, so ObjectFileWasm
reports a bare wasm32 or wasm64 architecture. That keeps an on-disk
module compatible with the more specific triple a Wasm runtime reports
at launch, which lets the dynamic loader reuse the module instead of
reparsing it from process memory. An over-specified triple, including
one that spells out an unknown vendor and OS, does not match, because an
explicitly specified component still counts as specified.


  Commit: cdec735f774869f2949a94a7bf2e446798bf3b8c
      https://github.com/llvm/llvm-project/commit/cdec735f774869f2949a94a7bf2e446798bf3b8c
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    A libc/docs/_static/llvm_libc_logo.svg
    M libc/docs/index.md

  Log Message:
  -----------
  [libc][docs] Add logo to website (#213120)

Add the excellent new logo drawn by @ajordanr-google to the homepage.


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

  Changed paths:
    M lldb/bindings/python/CMakeLists.txt
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/bindings/python/python-wrapper.swig
    M lldb/docs/CMakeLists.txt
    A lldb/examples/python/templates/scripted_synthetic_children.py
    M lldb/include/lldb/API/SBPlatform.h
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    A lldb/include/lldb/Interpreter/Interfaces/ScriptedSyntheticChildrenInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb/script] Migrate synthetic children providers onto ScriptedPythonInterface (#210845)

Give `type synthetic add -l` a formal
`ScriptedSyntheticChildrenInterface`, matching the architecture used
elsewhere in this series: a C++ interface header, a Python-backed
implementation, `PluginManager` registration with CLI/API usages, and a
generatable ABC template (`scripted_synthetic_children.py`) wired into
`scripting extension generate`.

Every method goes through the shared `Dispatch<T>()` machinery instead
of hand-rolling its own Locker/raw-SWIG calls. `Dispatch<T>()` is taught
to introspect the target method's arity via
`PythonCallable::GetArgInfo()` and drop trailing args before calling, so
providers that legitimately define an argument as optional
(`num_children(self)` vs. `num_children(self, max_count)`) still work
through the generic dispatch path.

This retires the ad-hoc `LLDBSwigPython_*` synthetic-children bridge
functions entirely.

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


  Commit: f0da3dd9289e1b76da2658a0e6dad0e05842bdfd
      https://github.com/llvm/llvm-project/commit/f0da3dd9289e1b76da2658a0e6dad0e05842bdfd
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/fuse_codegen.cpp
    M clang/test/OpenMP/interchange_codegen.cpp
    R clang/test/OpenMP/loop_transform_final_iv.c
    M clang/test/OpenMP/reverse_codegen.cpp
    M clang/test/OpenMP/stripe_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp

  Log Message:
  -----------
  Revert "[OpenMP] Restore loop variable values after loop-transformation constructs. (#212853)" (#213127)

Revert "[OpenMP] Restore loop variable values after loop-transformation
constructs. (#212853)"

This reverts commit 2d697f8562d7845d5554cc1d2cd2264401b9d68f.
 Reverting this PR. Bot is failing with:
    Failed Tests (2):
      libomptarget :: spirv64-intel :: offloading/target-tile.c
libomptarget :: x86_64-unknown-linux-gnu :: offloading/target-tile.c


  Commit: cc0f33be52a5a04fd809d6e6e6e41c0af794283d
      https://github.com/llvm/llvm-project/commit/cc0f33be52a5a04fd809d6e6e6e41c0af794283d
  Author: Frank <147031176+frank-suwen at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp

  Log Message:
  -----------
  [clang-format] Add SpacesInComments option for block comments (#204727)

Adds a new `SpacesInBlockComments` clang-format option to control
spacing after `/*` and before `*/` in ordinary block comments.

Supported values:

* Always: formats `/*comment*/` as `/* comment */`
* Never: formats `/* comment */` as `/*comment*/`
* Leave: preserves existing spacing

Documentation comments such as `/** ... */` and `/*! ... */`, and
parameter comments such as `/*Arg=*/`, are left unchanged.

Tests added for all option values, multiline block comments, and
excluded parameter/doc comments.

Addresses #160682


  Commit: 100e8df6fc863f39e6f3e06862ee9500e859121f
      https://github.com/llvm/llvm-project/commit/100e8df6fc863f39e6f3e06862ee9500e859121f
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/Tooling/DependencyScanningTool.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Extracting a Driver-free CompilerInstaneWithContext Initializer (#211405)

This PR extracts out an initializer of `CompilerInstanceWithContext`
that does not depend on any driver code in preperation of moving the
`CompilerInstanceWithContext` into `DependencyScanningWorker.cpp` as an
implementation detail that is not exposed by any APIs.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-branch-weights.ll
    A llvm/test/Transforms/LoopVectorize/expression-recipe-branch-weights.ll
    A llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights-merged-mem-ops.ll
    M llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights.ll

  Log Message:
  -----------
  [LV] Add tests for preserving branch weights through VPlan (NFC). (#213131)

Add coverage for carrying the branch weights of a predicated block from
VPlan0 through to the generated IR


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

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

  Log Message:
  -----------
  [mlir][OpenACC] Atomicize contended shared array reduction updates (#212971)

Example:
```fortran
!$acc parallel loop gang reduction(+:a)
do i = 1, N
  !$acc loop worker reduction(+:a)
  do j = 1, M
    a(i) = a(i) + b(j,i)
  end do
end do
```

In this code, the worker accumulator is block-shared, so every worker
updates
the same element with a plain read-modify-write and all but one partial
is lost.

Fix: make in-place updates of a block-shared array accumulator atomic,
unless
the element index varies per thread, in which case each thread owns its
element
and the plain update is already race-free.

---------

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


  Commit: 21d9869c206e12f1932aecff50d03f06f5a96339
      https://github.com/llvm/llvm-project/commit/21d9869c206e12f1932aecff50d03f06f5a96339
  Author: yebinchon <86588366+yebinchon at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/Passes.td
    A flang/lib/Optimizer/OpenACC/Transforms/ACCDevicePtrToCUFKernel.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
    A flang/test/Fir/OpenACC/device-ptr-to-cuf-kernel.mlir

  Log Message:
  -----------
  [flang] Add a pass to get OpenACC device ptr for CUDA kernel (#212299)

When a CUDA kernel is launched inside an OpenACC data region, it does
not properly get the device pointers and instead uses host data. This PR
adds a pass to get the device pointers set up by the OpenACC data
construct and pass them explicitly to the CUDA kernel.

Note: A possibly non-contiguous array argument is currently not supported. This pass will skip these cases.

---------

Co-authored-by: Yebin Chon <ychon at nvidia.com>


  Commit: 256a6d2807a980c1477df0ed3b6ea6763460b967
      https://github.com/llvm/llvm-project/commit/256a6d2807a980c1477df0ed3b6ea6763460b967
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td

  Log Message:
  -----------
  [AMDGPU] Use a single SubtargetPredicate for fp8/bf8 -> f32 conversions (#212888)

Add FeatureCvtFP8SDWASrcSel for the form that takes the byte from the SDWA src0_sel field and FeatureCvtFP8ByteSel for the form that takes it from a byte_sel operand. Both imply FeatureFP8ConversionInsts, and a subtarget provides one of them, so the multiclass-generated HasCvtFP8SDWASrcSel and HasCvtFP8ByteSel replace the GFX9 and GFX11Plus predicates outright.

Assisted-By: Claude Opus 5


  Commit: f279abcc818a89c2c73c305a1ce5a9a18d2215ec
      https://github.com/llvm/llvm-project/commit/f279abcc818a89c2c73c305a1ce5a9a18d2215ec
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M offload/test/unit/lit.cfg.py
    M offload/test/unit/lit.site.cfg.in

  Log Message:
  -----------
  [Offload][Test] Add llvm bin in the PATH for offload-unit suite (#213149)

This PR makes the offload-unit suite put llvm bin directory on PATH so
that tests need lld can find. It fixes the issue exposed in:
https://github.com/llvm/llvm-project/pull/212860


  Commit: 2d0b45bc0a7fcb29aa77242b9262eb7c9eba5333
      https://github.com/llvm/llvm-project/commit/2d0b45bc0a7fcb29aa77242b9262eb7c9eba5333
  Author: johnnyb2543 <134093951+johnnyb2543 at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

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

  Log Message:
  -----------
  [clang-format] Prevent re-assigning type on finalized tokens (#210763)

Prevents a finalized token inside modifyContext from being reassigned
through the setType member function by checking if the token is
finalized.

This ensures ill-defined code like does not trigger an assertion failure
during reformatting.
Fixes #210509


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/OpenACC/Transforms/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes 21d9869 (#213147)

This fixes 21d9869c206e12f1932aecff50d03f06f5a96339 (#212299).

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

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


  Commit: 197e68dbd324fa48d45666a9c95a83303c995356
      https://github.com/llvm/llvm-project/commit/197e68dbd324fa48d45666a9c95a83303c995356
  Author: Rafael Auler <rafaelauler at meta.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Revert "[github] Move BOLT reviewers to team (#211422)" (#213141)

We haven't really being tagged in new PRs anymore, so it looks like this
is not working.

Revert for now until we can fix this, so we don't miss PRs.

This reverts commit 04f124f6151e8c8410e28aba28dc38e590e34c58.


  Commit: 7e35cbb1b6f5915ab732a22e83b3afc20e29181a
      https://github.com/llvm/llvm-project/commit/7e35cbb1b6f5915ab732a22e83b3afc20e29181a
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h

  Log Message:
  -----------
  [NVPTX] Cleanup PTX virtual register encoding (NFC) (#212395)

Unify the scheme used to carry PTX virtual registers through
`MCOperand`s. The register class was encoded and decoded 
by two hand-written switchtables, one in
`NVPTXAsmPrinter::encodeVirtualRegister` and one in
`NVPTXInstPrinter::printRegName`, kept in sync only by
comment. Both now share a `VirtualRegisterKind` enum and
`getVirtualRegisterPrefix` in `NVPTXBaseInfo.h`, which also
subsumes `getNVPTXRegClassStr` and drops the stale
`%f`/`%fd` cases left over from the typed float register
classes.

Co-Authored by Opus-5.


  Commit: 56a48d712006ff7d9a09eef6a86b78d4b2eec3aa
      https://github.com/llvm/llvm-project/commit/56a48d712006ff7d9a09eef6a86b78d4b2eec3aa
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M compiler-rt/test/msan/vararg_shadow.cpp

  Log Message:
  -----------
  [msan][test] Disable UB cases in vararg_shadow.cpp (#204246)

This patch comments out the tests for char and float, which have
undefined behavior: `warning: second argument to 'va_arg' is of
promotable type 'char'/'float'; this va_arg has undefined behavior
because arguments will be promoted to 'int'/'double' [-Wvarargs]`.

The non-UB way to rewrite the tests is to use `va_arg()` with int and
double types (when the original variables are char and float), but there
are already test cases for int and double.

Note also that the float test makes an assumption that
`cast<float>(cast<double>(float))` will maintain the original shadow,
which MSan need not guarantee. In particular,
https://github.com/llvm/llvm-project/pull/204197 breaks that assumption
(which led to a buildbot breakage and revert).


  Commit: 30611cae030a654be821dfc817126568ac6d2baa
      https://github.com/llvm/llvm-project/commit/30611cae030a654be821dfc817126568ac6d2baa
  Author: Adam Bzowski <adam.bzowski at arm.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/AArch64/constant_island_pie_update.s

  Log Message:
  -----------
  [BOLT] Fix RELR addend updates for non-zero image bases (#213000)

This patch fixes an AArch64 BOLT failure exposed by LLVM commit
`fbba327208d7f6994f9a28a51dca3e913e3b444a`, which enabled packed
relative relocations (RELR) globally. BOLT incorrectly used a virtual
relocation address as a file offset when updating RELR addends,
corrupting instrumented executables when their image base was non-zero.
The observed CMake compiler-check failure was only a consequence of the
corrupted BOLT-instrumented Clang executable crashing; the defect itself
is in BOLT, not CMake.

The regression test links an AArch64 PIE with a non-zero image base and
verifies that BOLT updates the RELR addend at the correct file offset.

Assisted-by: Codex


  Commit: f68fba7a512c0dd3662540259e032a4a4de653b1
      https://github.com/llvm/llvm-project/commit/f68fba7a512c0dd3662540259e032a4a4de653b1
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Fix notifyEraseInstr to skip scheduled neighbors (#212868)

Guard both loops with !PredN->scheduled() so scheduled neighbors are
left untouched, and add a unit test that erases a node with one
scheduled and one unscheduled predecessor to cover the fix.


  Commit: 17088c9b104e807ba29a0d115796bc6de23e9f63
      https://github.com/llvm/llvm-project/commit/17088c9b104e807ba29a0d115796bc6de23e9f63
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
    A llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVectorizer] Implement topdown/bottomup vectorizers in unison (#205249)

Extend the Sandbox Vectorizer's `bottom-up-vec` pass so a single
implementation can vectorize in either direction, and add the top-down
strategy that walks def-use chains forward from a seed.

Direction selection
--------------------
The pass direction is chosen from the Region's auxiliary pass argument:
"bottom-up" (or empty, the default) and "top-down" map onto a
SchedDirection, and any other value is rejected with a fatal usage
error.
The vectorizer always runs in the same direction as the scheduler.

Top-down traversal
------------------
Bottom-up starts from a seed slice (e.g. stores to consecutive
addresses)
and recurses into operands. Top-down instead starts from a seed of
consecutive loads and recurses into *users*:

- vectorizeRec() registers the current bundle's vector (pre-order)
before
  recursing, so instructions are marked vectorized as soon as they are
  claimed. This prevents sibling user bundles from claiming the same
  instruction and guarantees termination.
- VecUtils::getNextUserBundles() drives the walk. For each user of lane
0
it tries to assemble a matching user for every remaining lane, requiring
  the same opcode, type, parent block, and operand-usage indices, and
claiming each instruction at most once. Only complete bundles (one user
  per lane) are returned.
- A non-Widen legality result stops the walk down that path: the bundle
is
left scalar and no action is recorded. DiamondReuse results cannot occur
top-down because already-vectorized users are skipped, so a bundle never
  contains an instruction already in InstrMaps.

Operand and external-use handling
---------------------------------
Because a user bundle is emitted after its operand bundle, emitVectors()
looks up each operand's vector in InstrMaps and creates a pack when the
operand was not vectorized. emitUnpacksForExternalUses() now redirects
only the genuinely external (non-vectorized) uses via
replaceUsesWithIf(),
instead of a blanket replaceAllUsesWith() that would corrupt the
operands
of user bundles not yet emitted. Scheduling is currently skipped for the
top-down direction (TODO).

Refactoring
-----------
Unify the two strategies to avoid code duplication: introduce a shared
BundleTy alias, move user-bundle collection into VecUtils (with unit
tests), and thread the direction through legality checks and vector
emission.

Depends on #207237

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 4912831bc346aa48a3c06475ad8d24f37f84bc8d
      https://github.com/llvm/llvm-project/commit/4912831bc346aa48a3c06475ad8d24f37f84bc8d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/test/API/commands/settings/TestSettings.py

  Log Message:
  -----------
  [lldb] Add target.jit-engine setting (#212998)

Add a target.jit-engine setting that lets users choose which LLVM
execution engine (MCJIT or ORC) is used to JIT expressions. Defaults to
MCJIT to preserve current behavior. This is groundwork for migrating
expression evaluation from MCJIT to ORC; IRExecutionUnit does not yet
consult this setting.


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

  Changed paths:
    M lldb/docs/CMakeLists.txt
    M lldb/docs/python_extensions.md

  Log Message:
  -----------
  [lldb/docs] Document the remaining scripted-extension plugin categories (#213140)

`python_extensions.md` only covered the first five plugin categories.

This commit adds the missing sections for every plugin category added
since: `ScriptedBreakpointResolver`, `ScriptedHook`,
`ScriptedStackFrameRecognizer`, `ScriptedCommand`, `ParsedCommand`,
`ScriptedStringSummary`, and `ScriptedSyntheticChildren`.

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


  Commit: a1d93f19bed4c73051f9379e2c64d4303b6866ca
      https://github.com/llvm/llvm-project/commit/a1d93f19bed4c73051f9379e2c64d4303b6866ca
  Author: Abhinav Gaba <abhinav.gaba at intel.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M offload/libomptarget/omptarget.cpp
    A offload/test/offloading/firstprivate_packed_buffer_lifetime.c

  Log Message:
  -----------
  [OpenMP][Offload] Fix use-after-free of the packed firstprivate transfer buffer (#212905)

`packAndTransfer()` called `submitData()`, which captured the address of
the data of
the `SmallVector` member of `PrivateArgumentManagerTy`, as the host
source of an
async transfer. The manager was later moved into an `AsyncInfo`
post-processing
lambda, changing the underlying address of the data:
`addPostProcessingFunction()`
copies the closure rather than moving it, but even if it "moved", the
address of the data owned by `SmallVector`'s inline capacity would have
changed.

The AMDGPU plugin read from the stale host source address when doing the
actual transfer.

Fix: allocate the packed buffer via
`getOrCreateSourceBufferForSubmitData()`, so
that `AsyncInfo` owns it. The non-packed
corresponding-pointer-initialization
path in this same class already built its source buffer that way.


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

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    A clang/test/CIR/CodeGen/attr-musttail.cpp

  Log Message:
  -----------
  [CIR] Implement most of 'musttail' statement attr (#213154)

This implements the basics, and leaves NYI in a few places (particularly
those that require cleanup calculations). There IS some additional work
that needs to be done when the ABI work is put in place as well, and the
thunk 'tail' hint isn't implemented either, and is left as a
missing-feature.

This is necessary for compiling the bytecode interpreter in Clang in a
few places during self-build.


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

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

  Log Message:
  -----------
  If the address of the isa_pointer is returned as an error don't ask if it is a tagged pointer (#213163)

The answer isn't right and the wrong type might stick and cause
downstream failures.

Note, the correct solution to this is to distinguish between "couldn't
get the address" and "got a real value of LLDB_INVALID_ADDRESS" but
piping an optional all the way down and then through all the uses is an
intrusive change which I don't have time for right now. That only risk
is that this really IS a tagged pointer with the value
LLDB_INVALID_ADDRESS, so this seems an acceptable workaround.

I ran across this when debugging the ObjC test failures in the ObjC
testuite after 8b9cce358bef26ae4cb9275dd6a43f903bafbaa0. This patch
clears up all those testsuite failures, which should stand as a test for
this patch when I resubmit that change.


  Commit: 6d9de525456298c7df08d77942d3ec50dddf5eaa
      https://github.com/llvm/llvm-project/commit/6d9de525456298c7df08d77942d3ec50dddf5eaa
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/bug-pk-f32-imm-fold.mir
    M llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir
    M llvm/test/CodeGen/AMDGPU/coexec-sched-flavor-classification.mir

  Log Message:
  -----------
  [AMDGPU] Duplicate packed fp32 instructions (#212857)

These have different semantics on gfx9 and gfx12 with respect to
scalar operands.


  Commit: 53e16d7708c39ecc03f97d32d1db9afdd355deca
      https://github.com/llvm/llvm-project/commit/53e16d7708c39ecc03f97d32d1db9afdd355deca
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    A clang/include/clang/CIR/CIRDataLayoutSpec.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/lib/CIR/CodeGen/CIRDataLayoutSpec.cpp
    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/CIRTypes.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/pointer-width-32bit.cpp
    A clang/test/CIR/IR/pointer-data-layout.cir
    A clang/test/CIR/Tools/pointer-width-from-triple.cir
    M clang/tools/cir-translate/cir-translate.cpp

  Log Message:
  -----------
  [CIR] Pointer and vptr width from a CIR-native data-layout entry (#204185)

PointerType and VPtrType have hard-coded sizes and alignments of 64/8
bits. On targets with 32-bit pointers (e.g., nvptx, spirv32), this trips
the record layout builder. Any record containing a pointer hit the
insertPadding assertion (offset >= size)
because the pointer was sized at 8 bytes while the following field was
placed at the AST-mandated 4-byte offset.

 ### Changes:
- CIRGenerator: attaches a CIR-native cir.ptr data-layout entry at
module setup, storing {size-in-bits, abi-align-in-bits} read
  from the target DataLayout (only for the default address space).
- CIRTypes: PointerType reads its size/alignment from that entry
(falling back to 64/8 when absent); VPtrType routes through a cir.ptr so
it picks up the same width.
- LowerToLLVM: strips the cir.ptr entry during CIR→LLVM lowering, since
cir.ptr has no meaning in LLVM IR.
- Unit test: checking 4-byte pointer/vptr layout on nvptx, verified
across CIR, CIR→LLVM.


  Commit: 0879c1092c66242027065634210692cc06359fee
      https://github.com/llvm/llvm-project/commit/0879c1092c66242027065634210692cc06359fee
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/extenddftf2.cpp
    A compiler-rt/lib/builtins/extendsfdf2.cpp
    A compiler-rt/lib/builtins/extendsftf2.cpp
    A compiler-rt/lib/builtins/extendxftf2.cpp
    A compiler-rt/lib/builtins/truncdfsf2.cpp
    A compiler-rt/lib/builtins/trunctfdf2.cpp
    A compiler-rt/lib/builtins/trunctfsf2.cpp
    A compiler-rt/lib/builtins/trunctfxf2.cpp
    M libc/shared/builtins.h
    A libc/shared/builtins/extenddftf2.h
    A libc/shared/builtins/extendsfdf2.h
    A libc/shared/builtins/extendsftf2.h
    A libc/shared/builtins/extendxftf2.h
    A libc/shared/builtins/truncdfsf2.h
    A libc/shared/builtins/trunctfdf2.h
    A libc/shared/builtins/trunctfsf2.h
    A libc/shared/builtins/trunctfxf2.h
    M libc/src/__support/builtins/CMakeLists.txt
    A libc/src/__support/builtins/extenddftf2.h
    A libc/src/__support/builtins/extendsfdf2.h
    A libc/src/__support/builtins/extendsftf2.h
    A libc/src/__support/builtins/extendxftf2.h
    A libc/src/__support/builtins/fpconvert_helper.h
    A libc/src/__support/builtins/truncdfsf2.h
    A libc/src/__support/builtins/trunctfdf2.h
    A libc/src/__support/builtins/trunctfsf2.h
    A libc/src/__support/builtins/trunctfxf2.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_builtins_test.cpp

  Log Message:
  -----------
  [compiler-rt][builtins] libc-backed floating-point extend/trunct builtins (#209984)

Add libc-backed floating-point extend/truncate builtins

Part of #197824


  Commit: 0142992aea1df89fec8c20bf77520e37bfb69e2a
      https://github.com/llvm/llvm-project/commit/0142992aea1df89fec8c20bf77520e37bfb69e2a
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/test/Driver/flang/multiple-inputs-mixed.f90
    A clang/test/Driver/flang/runtimes.f90

  Log Message:
  -----------
  Reapply "[NFC][clang][Driver] Add tests for --driver-mode=flang" (#211724)

This reapplies #207658.

Some targets do not support flang_rt or clang_rt.
It seems difficult to create a blocklist, so the tests are now
configured to explicitly specify the known-working targets.
The specified targets are extracted from tests in flang/test/Driver.

-----
The original commit message:
This patch intends to clarify the current behaviors, not to state the
expected/desirable behaviors.


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

  Changed paths:
    M lldb/include/lldb/Core/BugReporter.h
    M lldb/source/Commands/CommandObjectDiagnostics.cpp
    A lldb/source/Core/BugReporter.cpp
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Plugins/BugReporter/GitHub/GitHubReporter.cpp
    M lldb/test/Shell/Diagnostics/TestReport.test

  Log Message:
  -----------
  [lldb] Ask the reporter what happened in a bug report (#213173)

A diagnostics bundle records the state of the debugger, never what the
user was doing or what they expected instead, so reports arrive with a
generic title and no description of the problem. Pre-fill the report
with the questions only the person filing it can answer, and print a
checklist when the bundle is written so an incomplete report doesn't get
shared as-is.

rdar://183356348


  Commit: 2e3f4ef5855e07f4bd2b0a1270e6101beceb1f8c
      https://github.com/llvm/llvm-project/commit/2e3f4ef5855e07f4bd2b0a1270e6101beceb1f8c
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/legalization/matrix-wide-vector-shader.ll

  Log Message:
  -----------
  [SPIRV] Legalize Cast Instructions for Matrix Types (#212619)

fixes #186864

This is a more limited fix. that doesn't require us to change the whole
legalization strategy for SPIR-V.

To get the last fix to work it looks like I would have to have changed
every global opcode to no longer use power of 2 based legalization.

This change with power of 2 fixed the transpose case in the offload
testsuite when we do the conversion of bools to i32s before we call
transpose.

There remains an issue when a i1 makes it into a transpose intrinsic.
That said I can only trigger that case via llvmir and not HLSL so will
move on for now.


  Commit: b4d2b2f9a31ba82b5bcbf9060748bde8beae814b
      https://github.com/llvm/llvm-project/commit/b4d2b2f9a31ba82b5bcbf9060748bde8beae814b
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/pstl.lexicographical_compare.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/pstl.lexicographical_compare_comp.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::lexicographical_compare() based on std::mismatch() (#212366)

This PR adds an implementation of parallel
`std::lexicographical_compare()` based on parallel `std::mismatch()`.

The implementation is close to a one-liner:
```c++
auto __res = _Mismatch()(__policy, __first1, __last1, __first2, __last2, [&](_Ref1 __lhs, _Ref2 __rhs) {
  return !__comp(__lhs, __rhs) && !__comp(__rhs, __lhs);
});
```

Included tests check that:
- Semantics of the iterator-only version is correct.
- Semantics of the predicated version is correct.
- The functions correctly SFINAE out when the first argument is not an
execution policy.
- The `noexcept` policy is followed.
- The `nodiscard` policy is followed.
- `static_assert` verifies iterators' categories.

Part of #99938.


  Commit: 71e0359a1acd9ab267c72fcf9dfb683afc59fbea
      https://github.com/llvm/llvm-project/commit/71e0359a1acd9ab267c72fcf9dfb683afc59fbea
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp

  Log Message:
  -----------
  [ORC] Generalize RTBridge callers over signature types. (#213179)

Recast the RTBridge callers as templates parameterized on the call
signature, so future executor accessors can be added as thin
declarations rather than hand-written classes.

rt::Caller<RetT(ArgTs...)> is the runtime-agnostic caller interface for
a given signature, providing the asynchronous and synchronous call
operators and the associated result types. rt::MainCaller is now an
alias for rt::Caller<int64_t(ArrayRef<std::string>)>.

rt::sps::Caller<BaseT, SPSSigT, CIName> implements any such interface by
invoking an executor-side SPS wrapper in the runtime's controller
interface, deducing the argument and result types from BaseT. A concrete
caller is a typedef supplying the interface, its SPS signature, and the
CI entry-point name; see rt::sps::MainCaller.

MainCaller's observable behavior is unchanged (the existing
SPSCallersTest still passes). The out-of-line destructor anchor in
OrcRTBridge.cpp is dropped, as the templated base now provides an inline
defaulted destructor.


  Commit: 5e90b7bad3cc0960a26f46969063c5acf03ac137
      https://github.com/llvm/llvm-project/commit/5e90b7bad3cc0960a26f46969063c5acf03ac137
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    A llvm/test/DebugInfo/X86/DW_AT_LLVM_stmt_seq_split_dwarf.ll

  Log Message:
  -----------
  [DebugInfo] Make DW_AT_LLVM_stmt_seq work with split DWARF (#213128)

Before this change, we would end up with a relocation in the dwo, which
would then result in an error.


  Commit: 8b04cf374d4ac63edf973eb23b0566c21b6f638f
      https://github.com/llvm/llvm-project/commit/8b04cf374d4ac63edf973eb23b0566c21b6f638f
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [AMDGPU] Rename packed 64-bit features to include SingleSGPR. NFCI. (#212891)


  Commit: 88329c4ad200b71e0cbcc7ac0093c7caf934ddea
      https://github.com/llvm/llvm-project/commit/88329c4ad200b71e0cbcc7ac0093c7caf934ddea
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ADT/SetVector.h
    M llvm/lib/Transforms/IPO/Attributor.cpp

  Log Message:
  -----------
  [ADT] Introduce SetVector::reserve (NFC) (#209951)

This patch introduces SetVector::reserve to allocate capacity in the
underlying containers.

We also adopt SetVector::reserve across Attributor.cpp where the exact
number of unique functions being inserted is known ahead of time.

Assisted-by: Antigravity


  Commit: ca5549224e06c5ed57332bf1bc89c0ac06c69e60
      https://github.com/llvm/llvm-project/commit/ca5549224e06c5ed57332bf1bc89c0ac06c69e60
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-07-30 (Thu, 30 Jul 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:
  -----------
  Reland "[msan] Apply handleGenericVectorConvertIntrinsic() to fptrunc/fpext" (#213161)

Reverts llvm/llvm-project#204221 i.e., reapplies
https://github.com/llvm/llvm-project/pull/204197. The original patch was
reverted was due to a buildbot failure in vararg_shadow.cpp that relied
on undefined behavior as well as an unwarranted assumption that the
shadow is preserved when round-tripping from float->double->float. The
UB cases have been disabled in
https://github.com/llvm/llvm-project/pull/204246.

Original commit message:

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: 151b53deb836f82fdc068f05d4af1b42e1c4748a
      https://github.com/llvm/llvm-project/commit/151b53deb836f82fdc068f05d4af1b42e1c4748a
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/aarch64-thunk-sort.s

  Log Message:
  -----------
  [ELF] Remove -z sort-thunks (#213074)

The option was added by #211721 (sort forward thunks by descending
destination to prevent convergence failures) as a temporary opt-out.
Tests have been migrated to the default order.


  Commit: 4311bccd19e2db25e7c410acd9d77a86d2b779d1
      https://github.com/llvm/llvm-project/commit/4311bccd19e2db25e7c410acd9d77a86d2b779d1
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    R llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    R llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h

  Log Message:
  -----------
  [NVPTX] Move NVPTXAsmPrinter and NVPTXDAGToDAGISel out of headers (NFC) (#213162)

Both headers were only included by their own `.cpp` file, so move the
class definitions into anonymous namespaces there and delete the
headers.

`getFromTypeWidthForLoad` was the only thing `NVPTXISelLowering.cpp`
needed from the ISel class, so it moves to `NVPTXUtilities` as a free
function.


  Commit: 08bfd2e3fd81e6930b12076a670fc9e59ef32a84
      https://github.com/llvm/llvm-project/commit/08bfd2e3fd81e6930b12076a670fc9e59ef32a84
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/utils/perf-training/perf-helper.py

  Log Message:
  -----------
  [clang] perf_helper.py ignore clang warning/note when parsing cc1 command  (#212401)

Parsing cc1 command fails in `perf_helper` when `clang: note:` or
`clang: warning:` due to driver warnings. As an example, harmless macOS
sdk mismatch and `-Wunused-command-line-argument`.


  Commit: 1ddfb94fa6c645af9e10ad4946d9b7aea3c46454
      https://github.com/llvm/llvm-project/commit/1ddfb94fa6c645af9e10ad4946d9b7aea3c46454
  Author: Krisitan Erik Olsen <kristian.erik at outlook.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGenCXX/GH211943.cpp

  Log Message:
  -----------
  [Sema] Fix crash in __builtin_dump_struct with -Werror -Wformat-pedantic (#212377)

`DiagnosticErrorTrap::hasErrorOccurred()` treats warnings promoted to
errors by `-Werror` as real errors, causing `BuiltinDumpStructGenerator`
to bail out before building the `PseudoObjectExpr` wrapper. CodeGen then
encounters the untransformed `CallExpr` with a placeholder builtin type
and hits `llvm_unreachable` in `CodeGenTypes::ConvertType`.
Use `hasUnrecoverableErrorOccurred()` instead, which ignores `-Werror`
promoted warnings and only bails on genuine compilation errors.

Fixes #211943


  Commit: 503e7f6a2674bd80490d69670e86e6b8d823215c
      https://github.com/llvm/llvm-project/commit/503e7f6a2674bd80490d69670e86e6b8d823215c
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/module.modulemap

  Log Message:
  -----------
  Module Build Fix: Add NVPTXTargetParser.def as a header (#213194)

Fixes module build `-DLLVM_ENABLE_MODULES=ON` in
https://ci.swift.org/job/llvm.org/job/clang-stage2-Rthinlto/job/main/457
by adding missing header for `NVPTXTargetParser.def`.

rdar://183685761


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
    M llvm/test/CodeGen/X86/merge-store-partially-alias-loads.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  DAG: Use poison in getLoad/getStore for offsets (#212066)


  Commit: 8b1821512db03f0cf0d443ac836f42ab993e9c53
      https://github.com/llvm/llvm-project/commit/8b1821512db03f0cf0d443ac836f42ab993e9c53
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMFastISel.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.h
    M llvm/unittests/Target/ARM/InstSizes.cpp
    M llvm/unittests/Target/ARM/MachineInstrTest.cpp

  Log Message:
  -----------
  ARM: Thread float ABI through ARMSubtarget (NFC) (#212931)


  Commit: 7fc837632399955e281bce975033ff7b389eb790
      https://github.com/llvm/llvm-project/commit/7fc837632399955e281bce975033ff7b389eb790
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll

  Log Message:
  -----------
  AMDGPU: Add missing flat-global-insts to gfx13 frontend feature map (#213121)


  Commit: cee7b71929312666c5cf48eb79873893811b99a7
      https://github.com/llvm/llvm-project/commit/cee7b71929312666c5cf48eb79873893811b99a7
  Author: Kirill A. Korinsky <kirill at korins.ky>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/test/CodeGen/SPARC/reserved-regs-named.ll

  Log Message:
  -----------
  [SPARC] Accept named register aliases (#212838)

Handle r0-r31, sp, fp and the optional '%' prefix in llvm.read_register
and llvm.write_register.


  Commit: afd4c46353bf77b9f4ebfde664e4fcf8d2ef2fc8
      https://github.com/llvm/llvm-project/commit/afd4c46353bf77b9f4ebfde664e4fcf8d2ef2fc8
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-structured-store-memoperands.ll
    M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll

  Log Message:
  -----------
  [AArch64] Preserve store memoperand (#210936)


  Commit: 5b1539c0fca2e3f9362d100848983a3cc4272764
      https://github.com/llvm/llvm-project/commit/5b1539c0fca2e3f9362d100848983a3cc4272764
  Author: David Green <david.green at arm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-addo-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-binop-reassoc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-conflict.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-and-mask.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern-align.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-load-or-pattern.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-mulo-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-narrow-binop-feeding-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-select-to-fminmax.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-use-vector-truncate.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-ashr-shl-to-sext-inreg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-binop-same-val.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-br.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-bzero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-commute-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-concat-vectors.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads-cornercases.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads-s1.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-funnel-shifts-to-rotates.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-hoist-same-hands.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-icmp-redundant-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-invert-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-not-really-equiv-insts.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-prop-extends-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-ptradd-chain.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-sextload-from-sextinreg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector-disjoint-mask.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector-undef-rhs.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-simplify-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-undef.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-xor-of-and-with-same-reg.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update prelegalize tests with concrete types. NFC (#213199)


  Commit: 79537625e213b6a5f329da1d5a443de265346a5e
      https://github.com/llvm/llvm-project/commit/79537625e213b6a5f329da1d5a443de265346a5e
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/avoid-ld4.ll

  Log Message:
  -----------
  [AArch64] Avoid factor-4 deinterleaved loads feeding uitofp (#210894)

Avoid generating ld4 when all values produced by the deinterleaved load
are fed into uitofp. Keeping the loads separate allows the backend to
optimize them into shifts and masks.


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

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll

  Log Message:
  -----------
  AMDGPU: Add missing atomic-fmin-fmax-global to gfx13 feature map (#213119)

fillAMDGCNFeatureMap omitted atomic-fmin-fmax-global-f32 and
atomic-fmin-fmax-global-f64 for gfx1310/gfx13-generic, so clang wrongly
rejected the raw_ptr_buffer_atomic_f{min,max}_f{32,64} builtins on those
targets even though the backend enables the features. Add them to the
gfx13 case.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 14192adddc39cb28b7bcb1e6d50dc6ef87f4d54b
      https://github.com/llvm/llvm-project/commit/14192adddc39cb28b7bcb1e6d50dc6ef87f4d54b
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaObjC/objc-constant-literal-dict-key-restrictions.m

  Log Message:
  -----------
  [clang][Sema] Fix ObjC file-scope literal diagnostic (#209688)

A non-constant ObjC collection literal used as a file-scope initializer
should get the targeted err_objc_literal_nonconstant_at_file_scope
pointing at the offending element. CheckForConstantInitializer instead
inspected the wrapped Init/Culprit, so under -fobjc-arc, for id-typed
variables, or with parentheses it skipped the per-element loop and fell
back to the generic "initializer element is not a compile-time constant"
on the whole @{...}/@[...] -- or blamed the wrong element (e.g. a valid
string key rather than the non-constant value).

Unwrap the culprit with IgnoreParenImpCasts and drive classification and
per-element reporting off it, mirroring BuildObjC{Array,Dictionary}Literal
(unwrap before each isa<>; keys must be string literals, values/elements
constant object literals). Also treat CK_ARCReclaimReturnedObject as
transparent in Expr::isConstantInitializer so ARC-wrapped literals are
recognized and the reported culprit is the literal itself.

Add objc-constant-literal-dict-key-restrictions.m (macOS no-ARC, iOS ARC,
ObjC++), with each culprit on its own line so -verify checks the caret.

[Assisted-by](https://t.ly/Dkjjk): Opus 4.8


  Commit: 6a38e4e0971285ccd7cca1b732f644a49f772d49
      https://github.com/llvm/llvm-project/commit/6a38e4e0971285ccd7cca1b732f644a49f772d49
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-30 (Thu, 30 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h

  Log Message:
  -----------
  [BFI] Simplify computeMassInLoops. NFC (#213200)

Iterate backwards with a plain iterator instead of dancing with
prev(base()).


  Commit: 0312615e54f021ed2dc400a3ecd6698058490ae6
      https://github.com/llvm/llvm-project/commit/0312615e54f021ed2dc400a3ecd6698058490ae6
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/Maintainers.md

  Log Message:
  -----------
  [clang][doc] Use my private email for now (#213058)

I'm in the middle of changing employers and will loose access to the
current email soon for a while.


  Commit: 9f6b782c7a993dedc8fe8b6e69c36c9684191f27
      https://github.com/llvm/llvm-project/commit/9f6b782c7a993dedc8fe8b6e69c36c9684191f27
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll

  Log Message:
  -----------
  [WebAssembly] Fix legalization of v8f16 insertelement (#212992)

```
define <8 x half> @insert_v8f16(<8 x half> %v, half %x) {
  %r = insertelement <8 x half> %v, half %x, i32 3
  ret <8 x half> %r
}
```

```
llc \
  -mtriple=wasm32-unknown-unknown \
  -mattr=+simd128,+fp16 \
  -o /dev/null \
  /private/tmp/wasm-v8f16-insert-only.ll
```

Would lead to 
```
Initial selection DAG: %bb.0 'insert_v8f16:'
SelectionDAG has 10 nodes:
    t0: ch,glue = EntryToken
      t2: v8f16 = WebAssemblyISD::ARGUMENT TargetConstant:i32<0>
          t4: i32 = WebAssemblyISD::ARGUMENT TargetConstant:i32<1>
        t5: i16 = truncate t4
      t6: f16 = bitcast t5
    t8: v8f16 = insert_vector_elt t2, t6, Constant:i32<3>
  t9: ch = WebAssemblyISD::RETURN t0, t8

Soft promote half operand 1:
t8: v8f16 = insert_vector_elt t2, t6, Constant:i32<3>

SoftPromoteHalfOperand Op #1:
t8: v8f16 = insert_vector_elt t2, t6, Constant:i32<3>

LLVM ERROR: Do not know how to soft promote this operator's operand!
```


  Commit: 652e04312e8c5f4fc90ac16be494c3562c111ab9
      https://github.com/llvm/llvm-project/commit/652e04312e8c5f4fc90ac16be494c3562c111ab9
  Author: Ramon Munoz Jr <ramon.g.munoz.jr at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSubtargetInfo.h

  Log Message:
  -----------
  [MC] Add default ctor to SubtargetSubTypeAliasKV for zero-alias targets- #38762 (#212919)

Fixes a Windows MSVC 2019-only build break from 02da012 ("TableGen: Use
a compact table for CPU aliases", #211952).

That commit added std::array<SubtargetSubTypeAliasKV, NumAliases> to
SubtargetSubTypeKVStorage. SubtargetSubTypeAliasKV uses relative string
offsets, so it is non-copyable and declares only a two-argument
constructor -
no default constructor. In the MSVC 2019 STL, std::array<T, 0> still
holds a
real _Ty _Elems[1] and value-initializes it, so it requires T to be
default-constructible. Any target that defines no ProcessorAlias records
instantiates std::array<..., 0> and fails to compile. MSVC 2022 changed
this
member to a conditionally-empty type, so only MSVC 2019 is affected.

Fix: add a constexpr default constructor.

Co-Authored-By: Claude Opus 5
Signed-off-by: Munoz Jr, Ramon <ramon.g.munoz.jr at intel.com>


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-2-icmps-of-0-and-or.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-add-of-sub.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-add.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-addv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-and-or-disjoint-mask.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-anyext-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-avg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-binop-neg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-binop-undef-left-to-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-canonicalize-fcmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-canonicalize-icmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-const-infinite-loop.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-fp-const-lhs.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-const-fold-barrier-rhs.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-fma.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-fp-rounding.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-itofp-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-unary-int.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-copy.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ctlz-cttz-zero-poison.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-debugloc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fabs.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-flog2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fminimum-fmaximum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fminnum-fmaxnum.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fneg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fpowi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fptrunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fshl.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fshr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-fsqrt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-of-binop-to-icmp-of-0.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-icmp-to-lhs-known-bits.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-inttoptr-ptrtoint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-max-min.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-mul-to-shl.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-mul.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-mulo-with-2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-narrow-binop.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-op-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-or-of-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-overflow.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-int2ptr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptradd-reassociation.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ptrtoint.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-same-op.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-sdiv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-sext-debugloc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-sext-trunc-sextload.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-shift-immed-mismatch-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-shifts-undef.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-shufflevector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-srem-by-pow2.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-sub.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udivrem-use-bug.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-umulh-to-lshr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-unary-undef-to-zero.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge-undef.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-use-vector-truncate-order.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-vscale.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update combine tests with concrete types. NFC (#213212)


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

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Use auto* if we can (#213209)

Instead of just auto.


  Commit: e1823e8b1778997d12ba947350190af5ee845ca9
      https://github.com/llvm/llvm-project/commit/e1823e8b1778997d12ba947350190af5ee845ca9
  Author: Nathaniel McCallum <nathaniel at mccallum.life>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/fptosi-sat-scalar-f16.ll
    M llvm/test/CodeGen/X86/fptosi-sat-scalar.ll

  Log Message:
  -----------
  [X86] Fix miscompile of fptosi.sat.iN.f16 for NaN under avx512fp16 (#210556)

`X86TargetLowering::LowerFP_TO_INT_SAT` incorrectly lowered
`llvm.fptosi.sat.iN.f16` for N = 13, 14, 15, 16 under `avx512fp16`
codegen: NaN inputs produced the destination type's minimum value
instead of the 0 that the intrinsic's documented semantics require.
Vector forms that scalarize through this lowering are affected under
the same condition, applied per element. See the third commit message
for the full root-cause analysis and fix rationale.

---

Assisted-by: Claude (Anthropic)
Assisted-by: Codex (OpenAI)

The investigation, root-cause analysis, fix, and tests in this PR were
developed with substantial AI assistance (Claude), including four
independent AI-assisted review rounds (Codex). I reviewed and take
responsibility for all code, analysis, and claims in this PR, and can
answer questions about the reasoning above.


  Commit: bcf20310bdafd37253c6c849cd9bd3ba5b79752f
      https://github.com/llvm/llvm-project/commit/bcf20310bdafd37253c6c849cd9bd3ba5b79752f
  Author: Jakob Koschel <jakobkoschel at google.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M compiler-rt/test/cfi/anon-namespace.cpp
    M compiler-rt/test/cfi/bad-cast.cpp
    M compiler-rt/test/cfi/base-derived-destructor.cpp
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/cross-dso/simple-fail.cpp
    M compiler-rt/test/cfi/cross-dso/target_out_of_bounds.cpp
    M compiler-rt/test/cfi/icall/bad-signature.c
    M compiler-rt/test/cfi/lit.cfg.py
    M compiler-rt/test/cfi/mfcall.cpp
    M compiler-rt/test/cfi/multiple-inheritance.cpp
    M compiler-rt/test/cfi/nvcall.cpp
    M compiler-rt/test/cfi/overwrite.cpp
    M compiler-rt/test/cfi/simple-fail.cpp
    M compiler-rt/test/cfi/target_uninstrumented.cpp
    M compiler-rt/test/cfi/vdtor.cpp

  Log Message:
  -----------
  [ubsan] Test CFI summaries globally (#206434)

Always enable report_error_type=1 and print_summary=1 for CFI tests, and
update existing tests to check for cfi-bad-type. This allows us to
verify summary output comprehensively across the test suite.

This is a prerequisite for the change to the UBSan summary for CFI in
https://github.com/llvm/llvm-project/pull/203341.

Assisted-by: Automated tooling, human reviewed.


  Commit: 5eb4272b04144bded2ca1819c2d93b1cd4f1a26b
      https://github.com/llvm/llvm-project/commit/5eb4272b04144bded2ca1819c2d93b1cd4f1a26b
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/Todo/select_case_with_character.fir
    M flang/test/Fir/convert-to-llvm-invalid.fir
    M flang/test/Fir/convert-to-llvm.fir

  Log Message:
  -----------
  [flang][CodeGen] Replace fir.select* FIR-to-LLVM patterns with stubs that emit conversion errors (#212978)

`fir.select`, `fir.select_case`, `fir.select_rank`, and
`fir.select_type` are lowered to cf.* earlier in the pipeline
(`--fir-select-ops-conversion` and `--fir-polymorphic-op`). Their
FIR-to-LLVM conversion patterns are dead in a correct pipeline. Replace
them with a single templated stub
`SelectShouldHaveBeenConvertedStub<OP>` that emits `"'fir.<op>' op
should have already been converted"` and fails legalization, so running
`--fir-to-llvm-ir` standalone on stale IR reports a clear diagnostic
instead of "unable to legalize".

`Fir/convert-to-llvm.fir`'s six select* test blocks are removed (the
lowering no longer runs; CF-level coverage lives in
`Fir/SelectOpsConversion/`). `Fir/convert-to-llvm-invalid.fir` gains a
stub-error test per op. `Fir/Todo/select_case_with_character.fir` is
retargeted to check the equivalent diagnostic now emitted by
`--fir-select-ops-conversion`.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply at anthropic.com>

PR Stack:
* https://github.com/llvm/llvm-project/pull/212977
* ▶️ https://github.com/llvm/llvm-project/pull/212978

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


  Commit: 2897ee1dbbbfb2d28ba23105b85697824b4a98a5
      https://github.com/llvm/llvm-project/commit/2897ee1dbbbfb2d28ba23105b85697824b4a98a5
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/docs/AMDGPUMemoryModel.md

  Log Message:
  -----------
  [AMDGPU][Docs] Memory Model: Refactor location-order to cover reads (#213044)

This shouldn't change anything semantically, only make the spec
(a) closer to the Vulkan spec, which includes reads in their location-ordered
    relation: https://docs.vulkan.org/spec/latest/appendices/memorymodel.html#memory-model-location-ordered
(b) more uniform: this way, the may-see constraints are the same as the vanilla
    LLVM constraints, only with all occurrences of "happens-before" replaced by
    "location-ordered before".


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

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Enforce internal linkage (#213208)

For a struct and a function.


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

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove redundant casts (#213210)


  Commit: 99b3c767c34a04af0a2bbb1fd41bf1b2cb62b331
      https://github.com/llvm/llvm-project/commit/99b3c767c34a04af0a2bbb1fd41bf1b2cb62b331
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/Transforms/IndVarSimplify/ARM/code-size.ll
    M llvm/test/Transforms/IndVarSimplify/replace-loop-exit-folds.ll
    M llvm/test/Transforms/LoopIdiom/basic.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/expand-ptrtoaddr-reuse-ptrtoint.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-metadata.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
    M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp

  Log Message:
  -----------
  [Analysis] Optimise mul(const, (udiv %n, const)) during SCEV expansion (#212769)

We sometimes see SCEV expansions like this:

  %lshr = lshr i64 %n, 2
  %shl = shl i64 %lshr, 2

which originate from SCEV mul and udiv expressions:

  mul(4, udiv(%n, 4))

that both share the same multiplicand, divisor. The instcombine pass
normally canonicalises this into

  %and = and %n, -4

which is the final IR typically seen by the backend. In the case of SCEV
expansion during a pass like the loop vectoriser, instcombine does clean
this up. However, before this is cleaned up it will lead to
over-estimation of costs of SCEV checks, since the shifts are costed
separately and added up. It doesn't seem like there is an easy way to
look at the use count of a SCEV node in the SCEVExpander code. However,
I think for simple cases like this it's always beneficial to fold them
even if there are multiple uses of the SCEV udiv because we're dropping
both shifts.


  Commit: 9d1018038c01d12801ccca9da5e6b5589989750a
      https://github.com/llvm/llvm-project/commit/9d1018038c01d12801ccca9da5e6b5589989750a
  Author: Lukas Sommer <lukas.sommer at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    A llvm/test/CodeGen/AMDGPU/greedy-wwm-copy-prologue-assert.mir

  Log Message:
  -----------
  [RegAlloc] Avoid split past block-prologue interference (#209704)

`leaveIntvAtTop` skips the target-specific block prologue when
determining the insertion point.

If the block prologue itself contains an instruction that interferes
with the interval, we must leave the interval before the block,
otherwise we will hit an assertion in `splitLiveThroughBlock`.

---------

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


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

  Changed paths:
    M clang/test/Analysis/dangling-ptr-deref.cpp
    M clang/test/Analysis/lifetime-bound.cpp

  Log Message:
  -----------
  [analyzer][NFC] Add test cases for the lifetime test suite (#212254)

During the development of the lifetime checkers I had many important
test cases saved locally and were never imported to the test files of
the checkers. This PR adds those missing test cases to the test files.
By adding these test cases it helps tracking the state of the lifetime
checkers and what improvements they need in order to have better
coverage and reduce the false positive rate.

*AI policy*: During the development I have consulted with claude sonnet
5 to list me test case scenarios it thinks are useful and then reviewed
its feedback and implemented/wrote those test cases by myself. Since
some of the test cases are edge cases I wanted to make sure the
implementation is on the right track.


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

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp

  Log Message:
  -----------
  [analyzer][NFC] Match the parameters order of getEndPath and finalizeVisitor with VisitNode (#212883)

Currently the ordering of the parameters in `getEndPath` and
`finalizeVisitor` functions does not match the declaration of the
`VisitNode` function. This PR resolves it by reordering the parameters
among these functions to be consistent.


  Commit: 2b4f6c42a7dbc8b28c71a334a9fbecce99b68eaf
      https://github.com/llvm/llvm-project/commit/2b4f6c42a7dbc8b28c71a334a9fbecce99b68eaf
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll

  Log Message:
  -----------
  AMDGPU: Add missing mqsad-pk-insts to gfx13 frontend feature map (#213124)

fillAMDGCNFeatureMap omitted mqsad-pk-insts for gfx1310/gfx13-generic,
so clang wrongly rejected __builtin_amdgcn_mqsad_pk_u16_u8 on those 
targets even though the backend enables the feature. Add it to the gfx13 case.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: df81098826f9b45df3cbe2f29af3c44d69d5851a
      https://github.com/llvm/llvm-project/commit/df81098826f9b45df3cbe2f29af3c44d69d5851a
  Author: Sergey Shcherbinin <sscherbinin at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    A llvm/test/tools/llvm-profgen/X86/first-loadable-address.test
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Preserve zero-valued first PT_LOAD address (#212258)

FirstLoadableAddress was initialized with if (!FirstLoadableAddress), so
a valid first PT_LOAD at vaddr 0 was treated as unset and overwritten by
a later segment. Track whether the first loadable segment has been seen
instead.

Assisted by GPT-5


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

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

  Log Message:
  -----------
  [mlir][SPIR-V] Add SPIRVToLLVM conversions for FMod and SMod (#206933)


  Commit: 814c0e672dfc81ae02a0772879f993a57bdbc1ad
      https://github.com/llvm/llvm-project/commit/814c0e672dfc81ae02a0772879f993a57bdbc1ad
  Author: Jeremy Johnson <jeremy.johnson at arm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir

  Log Message:
  -----------
  [mlir][tosa] Switch matmul_t output to bf16 from fp16 (#212970)

Note that this implements the TOSA specification change:
https://github.com/arm/tosa-specification/pull/67

---------

Signed-off-by: Jeremy Johnson <jeremy.johnson at arm.com>


  Commit: 9b734e25473bc9e299a4b58575b9b0e618925b78
      https://github.com/llvm/llvm-project/commit/9b734e25473bc9e299a4b58575b9b0e618925b78
  Author: Siyi Xu <siyix at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][NVVM] Add memory clobber support to inline_ptx and BasicPtxBui… (#212937)

PTX with memory side effects (stores, atomics, mbarrier operations with
acquire/release semantics) emitted through `nvvm.inline_ptx` lowers to
`llvm.inline_asm` with register constraints only. Without a `~{memory}`
clobber, LLVM may reorder memory accesses across the inline assembly.
There was no way to express the clobber through this op or the
`BasicPtxBuilderInterface` machinery.

This patch adds, as discussed with @grypp:
- A `hasMemoryClobber` interface method (default `false`) on
`BasicPtxBuilderOpInterface`; when it returns `true`, `PtxBuilder`
appends `~{memory}` to the constraints of the generated inline assembly,
after all register constraints and tied indices.
- An opt-in `memory_clobber` boolean attribute (default `false`) on
`nvvm.inline_ptx` exposing this. Existing behavior is unchanged unless
the attribute is set to `true`.

For example:
```mlir
nvvm.inline_ptx "mbarrier.init.b64 [$0], $1;" ro(%p, %c : !llvm.ptr, i32) memory_clobber = true
```
now lowers to inline assembly with constraints `"l,r,~{memory}"`.

Tests: constraint emission with/without the attribute, combination with
predicate (`"l,r,b,~{memory}"`), read-write operands with tied indices
(`"=f,=f,r,r,0,1,~{memory}"`), and the no-operand case (`"~{memory}"`).
The op documentation's first example (mbarrier.init) is updated to show
correct usage.


  Commit: 65cd5388148e798798507dd9301e1dfe564f8ab3
      https://github.com/llvm/llvm-project/commit/65cd5388148e798798507dd9301e1dfe564f8ab3
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
    M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/histograms.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-2.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.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/loop-scalars.ll
    M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
    M llvm/test/Transforms/LoopVectorize/non-const-n.ll
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/store-shuffle-bug.ll
    M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vector-geps.ll

  Log Message:
  -----------
  [LV][NFC] Remove almost all remaining instcombine passes in RUN lines (#213067)


  Commit: 4120b5f5a3770cea9b26063eaca3d18153307961
      https://github.com/llvm/llvm-project/commit/4120b5f5a3770cea9b26063eaca3d18153307961
  Author: Yingying Wang <3171290993 at qq.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
    A llvm/test/CodeGen/RISCV/frame-base-addr-reuse.mir
    M llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv32.mir
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir

  Log Message:
  -----------
  [RISCV] Deduplicate frame base address materializations for large stack frames (#211748)

For large stack frames, `eliminateFrameIndex` materializes the frame
base with a `LUI+ADD` sequence for every frame index access. When
multiple accesses share the same 4096-aligned base, this generates
redundant `LUI+ADD` sequences that `MachineLateInstrsCleanup` cannot
eliminate because it operates on individual instructions.

Introduce `PseudoAddUpperImm` to represent the `LUI+ADD` sequence as a
single pseudo instruction during frame index elimination. This enables
`MachineLateInstrsCleanup` to CSE identical frame base computations
within a basic block. The pseudo is expanded back to `LUI+ADD` in
`RISCVPostRAExpandPseudo`.

This patch improves SPEC CPU2026 `cactus` performance by 18% on the
SpaceMit K3 processor.

  ### Example

Before :

```assembly
  lui  a0, 4
  add  a0, a0, sp
  fsd  fa3, -1976(a0)
  lui  a0, 4          # redundant
  add  a0, a0, sp     # redundant
  ld   s10, -160(a0)
```

After :

```assembly
  lui  a0, 4
  add  a0, a0, sp
  fsd  fa3, -1976(a0)
  ld   s10, -160(a0)  # reuses a0
```


  Commit: 6f9c189f738d47c7ad80f6bdf928fea441bfa8d6
      https://github.com/llvm/llvm-project/commit/6f9c189f738d47c7ad80f6bdf928fea441bfa8d6
  Author: Jakob Koschel <jakobkoschel at google.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_checks.inc
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/lib/ubsan/ubsan_handlers_cxx.cpp
    M compiler-rt/test/cfi/anon-namespace.cpp
    M compiler-rt/test/cfi/bad-cast.cpp
    M compiler-rt/test/cfi/base-derived-destructor.cpp
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/cross-dso/simple-fail.cpp
    M compiler-rt/test/cfi/cross-dso/target_out_of_bounds.cpp
    M compiler-rt/test/cfi/icall/bad-signature.c
    M compiler-rt/test/cfi/mfcall.cpp
    M compiler-rt/test/cfi/multiple-inheritance.cpp
    M compiler-rt/test/cfi/nvcall.cpp
    M compiler-rt/test/cfi/overwrite.cpp
    M compiler-rt/test/cfi/simple-fail.cpp
    M compiler-rt/test/cfi/target_uninstrumented.cpp
    M compiler-rt/test/cfi/vdtor.cpp

  Log Message:
  -----------
  [ubsan] Report specific CFI checks in UBSan summaries (#213224)

Instead of reporting generic `cfi-bad-type` in UBSan summaries for CFI
failures, report the specific CFI check kind (e.g., `cfi-vcall`,
`cfi-nvcall`, `cfi-icall`, `cfi-mfcall`, `cfi-derived-cast`,
`cfi-unrelated-cast`).

This is done by splitting CFIBadType into specific error types in
ubsan_checks.inc, and updating the handlers to report the appropriate
ErrorType based on the check kind. The suppression flag name for all of
them remains `cfi` to maintain backward compatibility.

Also replaces cfi-bad-type expectations in the existing tests.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap.ll

  Log Message:
  -----------
  [SPIR-V] Expand atomicrmw nand through compare-exchange (#213217)


  Commit: ed0b5c0a428202f29f1477f1dbc31c1ab6083341
      https://github.com/llvm/llvm-project/commit/ed0b5c0a428202f29f1477f1dbc31c1ab6083341
  Author: Sean Clarke <sclarke at tenstorrent.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    A llvm/test/Transforms/LoopIdiom/cyclic-redundancy-check-memoryssa.ll

  Log Message:
  -----------
  [LoopIdiom] Update MemorySSA when optimizing CRC with lookup table (#213054)

Although the lookup table optimization of CRC loops inserts a `load`
instruction, MemorySSA is not properly updated, and is oblivious to the
new memory access. Insert a memory use immediately after creating the
`load` instruction, and verify MemorySSA at the end of the optimization
if applicable.


  Commit: 55418a582c8ced243b4a6eda9b9d7280499af56c
      https://github.com/llvm/llvm-project/commit/55418a582c8ced243b4a6eda9b9d7280499af56c
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-atomicrmw-fadd-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-atomicrmw-fadd-region.mir
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll

  Log Message:
  -----------
  GlobalISel: Don't use GISelMatchGenericTypes for floating point opcodes (#212814)

With GISelMatchGenericTypes, AMDGPU had the same input pattern for
G_ATOMICRMW_FADD that checks for v2s16, so the one that is first
in the tablegen table always fires (it was v2f16 in this case).
Should explicitly check for v2f16/v2bf16.


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

  Changed paths:
    M lldb/source/Utility/Args.cpp
    M lldb/test/API/commands/register/register_command/TestRegisters.py

  Log Message:
  -----------
  [lldb] Convert generic register names in a case insensitive way (#213001)

Part of #212778.

There are 3 types of register name:
* The primary name, displayed by default.
* An optional alias, for example AArch64 "lr" is also "x30".
* Generic convenience names like "sp", "ra" and so on.

The first two types are handled case insensitively, but generic names
were not. For example:
(lldb) register read RA
error: Invalid register name 'RA'
(lldb) register read ra
  lr = 0x0000fffff7e27400

In this change I've fixed that.

This does close a workaround for #212778, where you could get to the
actual x86_64 "sp" by using "sP". However, this is only known to work on
Linux, and other architectures are negatively impacted by the bug so I'm
fixing it.


  Commit: 303ec27d8b231f9fb3078333894fe9813761e566
      https://github.com/llvm/llvm-project/commit/303ec27d8b231f9fb3078333894fe9813761e566
  Author: antoine moynault <antoine.moynault at linaro.org>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/unittests/ProfileData/SampleProfTest.cpp

  Log Message:
  -----------
  Revert "[ProfileData] Implement contains in SampleProfileNameTable (NFC)" (#213231)

Reverts llvm/llvm-project#211995
Broke arm 32-bit buildbots (narrowing conversion uint64_t -> size_t)


  Commit: 9621bedd8a7a09c5e48a12697ff2d0463067e341
      https://github.com/llvm/llvm-project/commit/9621bedd8a7a09c5e48a12697ff2d0463067e341
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Core/Module.h
    M lldb/source/Core/Module.cpp

  Log Message:
  -----------
  [lldb] Only preload a Module's symbols once (#213094)

Creating several targets for the same file concurrently could deadlock.

Targets share Module objects. Therefore, each concurrent
`SBDebugger::CreateTarget()` call creates a `PreloadSymbols()` task for
the *same* Module. The thread pool running those tasks can pick up a
duplicate preload task for the same Module. The mutex used by the Module
is recursive, so the thread starts the task again, enters the same
`std::call_once` and deadlocks.

Preloading only needs to happen once: it does work taht a later lookup
would do anyway. If it's already in progress, skip it. This deduplicate
the task that causes the deadlock.

At desk, this fixes a timeout in
`api/multiple-targets/TestMultipleTargets.py`, roughly 1/40 runs. To
reproduce the issue, I shrunk the thread pool to 2 threads, which makes
it always timeout.


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-cvt-sr-pk-bf16-f32-err.cl
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.pk.bf16.ll
    M llvm/test/MC/AMDGPU/gfx950-unsupported.s

  Log Message:
  -----------
  AMDGPU: Give v_cvt_sr_pk_bf16_f32 its own subtarget feature (#213150)

v_cvt_sr_pk_bf16_f32 was gated on bf16-cvt-insts, but that feature is
also present on gfx950 where the (non-sr) v_cvt_pk_bf16_f32 was first
added. The stochastic-rounding v_cvt_sr_pk_bf16_f32 was only added
for gfx1250 and has no gfx950 encoding, so it would mis-select and
later hit the "Invalid opcode" assert. Introduce
cvt-sr-pk-bf16-f32-inst, currently added to gfx13 and 125*

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 275365f4f94a6e66b933d3d62cb62ac081daa3a9
      https://github.com/llvm/llvm-project/commit/275365f4f94a6e66b933d3d62cb62ac081daa3a9
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir

  Log Message:
  -----------
  GlobalISel: Fix lowerMergeValues when dst type is float (#212795)

Lowering is done in the integer domain. Similar to the type
mismatch when dst is a pointer, make a bitcast when dst is float.


  Commit: 81a8451de62458a29dd5cef6d0c52d0a6271ca30
      https://github.com/llvm/llvm-project/commit/81a8451de62458a29dd5cef6d0c52d0a6271ca30
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsCallingConv.td
    M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
    A llvm/test/CodeGen/Mips/write_register_gp.ll

  Log Message:
  -----------
  [Mips] Fix $gp was restored when used as global register variable (#201778)

The function `eliminateDeadMI` would check `if (MRI.isReserved(Reg))`,
now we only set GP to reserved when `!Subtarget.isABICalls()`. So
`eliminateDeadMI` delete the `move $gp, $4`. And we would restore $gp
after instr selection through `$gp_64 = LD $sp_64, 8`.

Check the module metadata `llvm.named.register.$28` to detect if $28 is
used as global register. Then append new conditon when set $gp to
reserverd status and return CalleeSavedRegs without $gp.

Fix #176546.


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

  Changed paths:
    M llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/OptimizePHIs.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-basic.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/llvm.memset.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.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/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
    M llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
    M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
    M llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
    M llvm/test/CodeGen/AMDGPU/valu-i1.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/X86/2011-09-14-valcoalesce.ll

  Log Message:
  -----------
  [MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#211715)

This recommits #119826, which taught `MachineLICM` to use
`RegisterClassInfo` when computing register pressure limits so
reserved registers are accounted for (#118787).

The original change was reverted by eeac0ff because it increased
compile time by causing repeated `RegisterClassInfo` computations.

This PR is based on #210826, in which `MachineRegisterClassInfo`
analysis pass was added. `MachineRegisterClassInfo` is required
by `MachineLICM` now, but the intervening machine passes that do
not affect `RegisterClassInfo` now preserve it, so the analysis
is reused instead of recomputed.

Assisted-by: TRAE CLI (GPT-5.5)


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
    M llvm/test/CodeGen/AArch64/vector-absolute-difference.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Use pairwise instruction for partial_reduce_[s/u]mla. (#212772)


  Commit: 136347be7aac1614000a9072d794d91ca16aa4f1
      https://github.com/llvm/llvm-project/commit/136347be7aac1614000a9072d794d91ca16aa4f1
  Author: Manasij Mukherjee <manasijm at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h

  Log Message:
  -----------
  [TableGen] Speed up intrinsic lookups with DenseMap (NFC) (#213198)

Store in DenseMap, avoids linear lookups.
Speeds up NVPTX -gen-dag-isel and -gen-instr-info by 10%.
RISCV shows similar gains.
Neutral or marginally beneficial for other targets.


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

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

  Log Message:
  -----------
  [VPlan] Remove redundant x && (y && x) -> x && y combine (#213219)

It can be subsumed by making the combine above commutative. In theory
this isn't NFC as it changes the order, in practice it doesn't make a
difference.


  Commit: 6ebd9e1a12235fdc42e3e7b157678e6711af9c62
      https://github.com/llvm/llvm-project/commit/6ebd9e1a12235fdc42e3e7b157678e6711af9c62
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
    M llvm/unittests/ExecutionEngine/Orc/SPSCallersTest.cpp

  Log Message:
  -----------
  [ORC] Add VoidVoid and IntVoid Callers, with tests. (#213211)

Add rt::VoidVoidCaller (void()) and rt::IntVoidCaller (int64_t())
runtime-agnostic interfaces and their rt::sps implementations, targeting
the orc_rt_ci_sps_call_void_void and orc_rt_ci_sps_call_int_void
controller-interface wrappers. Both are experimental and may be removed.

Extend SPSCallersTest to cover the new callers. VoidVoidCaller is the
first caller instantiated with a void result type, which exposed a
latent bug in sps::Caller::callAsync: its result handler declared a
CalleeRetT parameter, ill-formed when CalleeRetT is void. It now
special-cases void via `if constexpr`.


  Commit: 5aec353bd686dbca51755e772971c65ee6ae70f6
      https://github.com/llvm/llvm-project/commit/5aec353bd686dbca51755e772971c65ee6ae70f6
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/copysignl.ll

  Log Message:
  -----------
  [NFC][PowerPC] add more `copysign` tests (#213236)


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

  Changed paths:
    M libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp

  Log Message:
  -----------
  [libc++] Make __has_array_cookie a variable template (#212767)

Using variable templates is slightly faster to compile and more
readable, so we might as well use them.


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

  Changed paths:
    M libcxx/include/__atomic/clear_padding.h

  Log Message:
  -----------
  [libc++] Simplify clear_padding.h a bit (#212426)


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

  Changed paths:
    M libcxx/test/libcxx/clang_tidy.sh.py
    A libcxxabi/.clang-tidy

  Log Message:
  -----------
  [libc++abi] Add a clang-tidy config and test (#207324)

This essentially copies the `.clang-tidy` file from libc++ into
libc++abi, except that the naming conventions are updated to not add
underscores and some checks are disabled that don't pass currently. They
will be fixed in follow-ups.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-fadd-reassoc.ll

  Log Message:
  -----------
  [SLP][NFC]Add some extra tests for reductions, NFC



Reviewers: 

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


  Commit: 0a1f0aafed6dfce910e18090bfd408838b9a727a
      https://github.com/llvm/llvm-project/commit/0a1f0aafed6dfce910e18090bfd408838b9a727a
  Author: PushkarSingh <149073046+iitianpushkar at users.noreply.github.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/include/clang/Analysis/AnyCall.h
    A clang/unittests/Analysis/AnyCallTest.cpp
    M clang/unittests/Analysis/CMakeLists.txt

  Log Message:
  -----------
  [clang][Analysis] Add argument accessors to clang::AnyCall (#212934)

Add APIs to `clang::AnyCall` for accessing expression-backed call
arguments.

`AnyCall` already exposes formal parameters through `parameters()`,
`param_begin()`, `param_end()`, `param_size()`, and `param_empty()`.
This adds the corresponding argument-side helpers:

- `arguments()`
- `arg_begin()`
- `arg_end()`
- `arg_size()`
- `arg_empty()`
- `getArg()`

This lets clients reuse `AnyCall` for callee/argument inspection instead
of
open-coding argument extraction.

Prequel PR to #206337


  Commit: e44068cc129912c88dcdeae0d1b5dc5937eb1059
      https://github.com/llvm/llvm-project/commit/e44068cc129912c88dcdeae0d1b5dc5937eb1059
  Author: Karim Alweheshy <karim.alweheshy at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lld/MachO/ObjC.cpp
    M lld/test/MachO/objc-category-merging-minimal.s
    M lld/test/MachO/objc-category-merging-swift.s

  Log Message:
  -----------
  [lld][MachO] Preserve class-address addends in ObjC category merging (#211431)

Mach-O category merging can encounter Swift class references as an
enclosing
metadata symbol plus a non-zero addend after LTO removes the exact
class-address alias. For example, a category can refer to a `CMf` symbol
plus
the offset of the class object within that metadata record.

`tryGetSymbolAtIsecOffset()` previously resolved such a relocation to
the
enclosing symbol and discarded the residual addend. `getClassRo()` then
read
the class layout at the wrong address. For valid Swift metadata this can
return
null; before the defensive check in the first commit the linker
dereferenced
that result and crashed, while the check alone safely skipped a category
that
could have been merged.

Preserve the class reference as a symbol and residual addend throughout:

- category grouping;
- class and metaclass RO-data lookup;
- source-language detection; and
- relocations synthesized for merged categories.

An exact symbol at the target address is still preferred. When no exact
alias
survives, retain the offset from the closest containing symbol. The
defensive
checks remain in place for genuinely incomplete or unsupported metadata.

The Swift regression now omits the exact class-address alias and points
the
category classlist directly into the enclosing metadata record, matching
the
shape observed after ThinLTO.

Testing:

- Release + assertions AArch64 LLVM/LLD build
- focused `llvm-lit` coverage for the alias-free Swift metadata and
  missing-metadata cases
- full Swift 6 application link with `-objc_category_merging`

The application result is integration evidence for correctness and
folding
coverage


  Commit: a6a1cb05d247f1fc4414bb6d789f390b2554eac7
      https://github.com/llvm/llvm-project/commit/a6a1cb05d247f1fc4414bb6d789f390b2554eac7
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libsycl/src/detail/global_objects.hpp

  Log Message:
  -----------
  [libsycl] Add missing header include to global_objects.hpp (#213020)

Fixes a build error observed on Windows.


  Commit: c29bcd45ddd96c5d3ea0d5f7de051b5174966a3b
      https://github.com/llvm/llvm-project/commit/c29bcd45ddd96c5d3ea0d5f7de051b5174966a3b
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp

  Log Message:
  -----------
  [lldb][Windows] Don't cut the loader helper off after 250ms (#213010)

`LoadLibraryW` runs on the debuggee with a timeout of 250ms (the
default). On a loaded machine (in CI), this timeout is reached quite
often, causing tests failures.

This patch gives both loader helpers an explicit timeout of 5s (clamped
to half the overall timeout so the two stay consistent).


  Commit: e84daa62201acd161c6b77375eb26d0b0ac63ed2
      https://github.com/llvm/llvm-project/commit/e84daa62201acd161c6b77375eb26d0b0ac63ed2
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session_helpers.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py

  Log Message:
  -----------
  [lldb-dap] Migrate console and restart tests (#213019)

Migrated Tests
- TestDAP_console.py
- TestDAP_redirection_to_console.py
- TestDAP_restart.py
- TestDAP_restart_console.py


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

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.msad.u8.ll

  Log Message:
  -----------
  AMDGPU: Add missing msad-insts to gfx13 frontend feature map (#213122)

fillAMDGCNFeatureMap omitted msad-insts for gfx1310/gfx13-generic, so
clang wrongly rejected __builtin_amdgcn_msad_u8 on those targets even
though the backend enables the feature (FeatureGFX9 generation,
inherited through FeatureGFX13). Add it to the gfx13 case.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 3f9b96996cac75b960adf84f5722afe48c20b480
      https://github.com/llvm/llvm-project/commit/3f9b96996cac75b960adf84f5722afe48c20b480
  Author: Zmicier Prybysh <zprybysh at baylibre.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir

  Log Message:
  -----------
  [mlir][linalg] Support non-unit dilations in im2col decomposition (#208424)

The im2col patterns for conv_2d_nhwc_hwcf, conv_2d_nchw_fchw and
conv_2d_nhwc_fhwc avoided non-unit dilations, but the restriction
doesn't seem to be fundamental: dilation only affects the gather step,
which can fold it into its indexing map. Generalize the convolved index
expression from `oh * stride + fh` to `oh * stride + fh * dilation` and
drop the match failures.

Verified by comparing the results of a dilated convolution lowered
directly to loops against the im2col decomposition with mlir-runner.

Assisted-By: Claude Code (for generating tests).


  Commit: 2f30bd168ccb47a82a25faba92cae4d6d0b47f0d
      https://github.com/llvm/llvm-project/commit/2f30bd168ccb47a82a25faba92cae4d6d0b47f0d
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/pstl.adjacent_find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/pstl.adjacent_find_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/pstl.find_first_of.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/pstl.find_first_of_pred.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/pstl.mismatch.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/pstl.mismatch_pred.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Make size_t -> int conversions explicit in a few PSTL tests (#213145)

The implicit truncating conversions that were introduced in some PSTL
tests are causing warnings on MSVC. This PR fixes that.

See
https://github.com/llvm/llvm-project/pull/212366#discussion_r3679252259
for more details.


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

  Changed paths:
    M llvm/tools/llvm-calc-occupancy/CMakeLists.txt

  Log Message:
  -----------
  [Build] Fix llvm-calc-occupancy link errors when using LLVM_LINK_LLVM_DYLIB. (#213262)


  Commit: 95ee221ea8fade17576845f12df8c2cd26f85aa5
      https://github.com/llvm/llvm-project/commit/95ee221ea8fade17576845f12df8c2cd26f85aa5
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    R flang/docs/FIRArrayOperations.md
    M flang/docs/HighLevelFIR.md
    M flang/docs/ReleaseNotes.md
    M flang/docs/index.md
    M flang/include/flang/Optimizer/Builder/MutableBox.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir
    M flang/test/HLFIR/inline-elemental.fir
    M flang/test/Transforms/loop-versioning.fir
    M flang/test/Transforms/simplifyintrinsics.fir

  Log Message:
  -----------
  [flang] Delete the legacy array-value operations from FIR (#213159)

Nothing in flang has produced fir.array_load, fir.array_fetch,
fir.array_update, fir.array_modify, fir.array_access, fir.array_amend,
or fir.array_merge_store since the legacy (non-HLFIR) expression
lowering was deleted (#210385, #210621, #210639, #210873), and the
array-value-copy pass that legalized them is gone (#211816, #212643).
Delete the operations and the surface that existed only for them:

- FIROps.td: the "Array value operations" section including the
copy-in/copy-out design comment; FIROps.cpp: the ops verifiers, effects
and getExtents. fir.array_coor is unrelated and stays, as does the
validTypeParams helper shared with fir.pack_array.
- Tests: the ops roundtrip/verifier blocks in fir-ops.fir and
invalid.fir; scaffolding rewrites in inline-elemental.fir (store via
hlfir.designate; hlfir.apply-in-do_loop coverage preserved),
loop-versioning.fir @test4 (the versioned loops are untouched), and
simplifyintrinsics.fir (inert copy-back loops dropped; no CHECK lines
affected).
- Docs: FIRArrayOperations.md (+ the index.md toctree line); past-tense
updates in HighLevelFIR.md; a stale comment in MutableBox.h; a
release-note entry recording the removal for downstream projects.
FIRLangRef is generated from FIROps.td and follows automatically.

Assisted-by: AI


  Commit: 315bbbc18c45079bab55575325b4d4f79aa9a4cd
      https://github.com/llvm/llvm-project/commit/315bbbc18c45079bab55575325b4d4f79aa9a4cd
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    A llvm/utils/gn/secondary/llvm/tools/llvm-calc-occupancy/BUILD.gn

  Log Message:
  -----------
  [gn] port b11722f1d3bd5de (llvm-calc-occupancy) (#213266)


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

  Changed paths:
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/float128.h
    M libc/test/src/__support/FPUtil/float128_test.cpp

  Log Message:
  -----------
  [libc] Fix float128-to-integer conversion UB  (#211593)

https://github.com/llvm/llvm-project/pull/200565#discussion_r3643991194
Fixes the recent issue pointed out in the above comment
about undefined behavior for float128 in the case of extremely large
values and extremely small values.


  Commit: f5ffd86a9bd6dd9327669448c3b604ce9b658941
      https://github.com/llvm/llvm-project/commit/f5ffd86a9bd6dd9327669448c3b604ce9b658941
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/source/Symbol/Variable.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py

  Log Message:
  -----------
  [lldb] Treat synthetic variables as always in scope (#204177)

When the variables in scope are requested, synthetic variables wouldn't
be returned, because `Variable::IsInScope` would return false. With this
PR, we return true for synthetic variables.

There's still one inconsistency between `frame var` and
`SBFrame::GetVariables` where `frame var` shows "re-exported" variables
from real frames (here: `variable_in_main`). Note that
`IsSyntheticValueType` returns false for `variable_in_main`.


  Commit: 5df5e8d9fd6386d99c37cb72ea92c99819c801bc
      https://github.com/llvm/llvm-project/commit/5df5e8d9fd6386d99c37cb72ea92c99819c801bc
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    A llvm/test/CodeGen/AMDGPU/arbitrary-fp-from-float-fp8-f16-hw.ll
    A llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td

  Log Message:
  -----------
  [AMDGPU] Add custom lowering of llvm.convert.from.arbitrary.fp for FP8 (#194144)

Map conversions from FP8 source formats to v_cvt_{,pk_}f32_{fp8,bf8} and v_cvt_{pk_}f16_{fp8,bf8} HW instructions.


  Commit: d73beb2ee622eb1aaa13a4bdbe25799031f647f8
      https://github.com/llvm/llvm-project/commit/d73beb2ee622eb1aaa13a4bdbe25799031f647f8
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    R flang/include/flang/Optimizer/Builder/Runtime/Ragged.h
    M flang/include/flang/Runtime/ragged.h
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    R flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    R flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  [flang] Delete the unused ragged-array runtime builders (#213160)

The ragged-array machinery served the legacy FORALL mask temporaries,
whose lowering was removed with the legacy expression lowering (#210639,
#210873) and the array-value-copy pass (#212643). The builders
(fir::runtime::genRaggedArrayAllocate/Deallocate) and the
getRaggedArrayHeaderType helper have no compiler callers left; only
their own unit test exercised them. Delete the builders, the helper, and
the unit test.

The flang-rt runtime entry points
(RaggedArrayAllocate/RaggedArrayDeallocate in
flang-rt/lib/runtime/ragged.cpp and their declarations in
flang/include/flang/Runtime/ragged.h) are ABI and remain.

Assisted-by: AI


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  DAG: Use poison for some load/store offsets in legalizer (#167756)

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


  Commit: 7d5dd438b286d4812a8d2e753262cb6db1c3be51
      https://github.com/llvm/llvm-project/commit/7d5dd438b286d4812a8d2e753262cb6db1c3be51
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_ucred.h
    M libc/include/sys/socket.yaml

  Log Message:
  -----------
  [libc] Add 'struct ucred' definition. (#213152)

This is a Linux extension that allows to obtain credentials of a peer
process connected to a socket, e.g. via passing `SO_PEERCRED` to
`getsockopt` function.


  Commit: c325d6fcb6db298f681ae1c450b89b4c255fb3ce
      https://github.com/llvm/llvm-project/commit/c325d6fcb6db298f681ae1c450b89b4c255fb3ce
  Author: Bryth <matteo.rizza-murgier at sipearl.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/test/Dialect/Complex/canonicalize.mlir

  Log Message:
  -----------
  [mlir][complex] Fix canonicalize tests (#213259)

Remove trailing spaces and double line breaks, fix variable
re-definitions, make variables match regex consistent.


  Commit: fd7993ea2dcc76f915da1baf1b36f5cd560722a8
      https://github.com/llvm/llvm-project/commit/fd7993ea2dcc76f915da1baf1b36f5cd560722a8
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/sys-statfs-macros.h
    A libc/include/llvm-libc-macros/sys-statfs-macros.h
    A libc/include/sys/statfs.yaml
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/statfs/CMakeLists.txt
    A libc/src/sys/statfs/fstatfs.h
    A libc/src/sys/statfs/linux/CMakeLists.txt
    A libc/src/sys/statfs/linux/fstatfs.cpp
    A libc/src/sys/statfs/linux/statfs.cpp
    A libc/src/sys/statfs/statfs.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/statfs/CMakeLists.txt
    A libc/test/src/sys/statfs/linux/CMakeLists.txt
    A libc/test/src/sys/statfs/linux/fstatfs_test.cpp
    A libc/test/src/sys/statfs/linux/statfs_test.cpp

  Log Message:
  -----------
  [libc] Add <sys/statfs.h> header and entrypoints. (#213108)

Implement `statfs` and `fstatfs` functions on Linux.

We already have `struct statfs` and syscall wrappers defined (to
implement POSIX `<sys/statvfs.h>`). Use them to provide Linux-specific
functions as well.


  Commit: 8719d58faf6fb5780bf44fc89df72c951f381f5b
      https://github.com/llvm/llvm-project/commit/8719d58faf6fb5780bf44fc89df72c951f381f5b
  Author: Sean Clarke <sclarke at tenstorrent.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/test/Transforms/LoopIdiom/cyclic-redundancy-check.ll

  Log Message:
  -----------
  [LoopIdiom] Fix miscompile for big-endian sub-byte CRC (#213040)

The Sarwate lookup table optimization shifts the top bits of the
`Indexer` down to the low byte before indexing into the table. Though
uncommon, if the CRC has a sub-byte width, the top bits of `Indexer`
must be shifted *up* to align with the low byte, but this is never
accounted for. Shift `Indexer` either right *or* left depending on CRC
bitwidth.


  Commit: 1505b3e83d2810fbff92b645a1b67e18918900c0
      https://github.com/llvm/llvm-project/commit/1505b3e83d2810fbff92b645a1b67e18918900c0
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libsycl/src/detail/context_impl.cpp
    M libsycl/src/detail/context_impl.hpp
    M libsycl/src/detail/platform_impl.cpp
    M libsycl/src/detail/queue_impl.cpp
    M libsycl/unittests/mock/helpers.cpp
    M libsycl/unittests/mock/helpers.hpp
    M libsycl/unittests/mock/mock.cpp

  Log Message:
  -----------
  [libsycl] Add liboffload context handler to default context (#213249)

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


  Commit: 3e65a09adcd9a57bf495b73e2b96c77b13ae7779
      https://github.com/llvm/llvm-project/commit/3e65a09adcd9a57bf495b73e2b96c77b13ae7779
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M offload/test/jit/empty_kernel_lvl1.c
    M offload/test/jit/empty_kernel_lvl2.c

  Log Message:
  -----------
  [ClangLinkerWrapper][SPIRV] Fix embed bitcode option (#213137)

We need to pass the right linker option and not try to containerize it.

Fixes two OpenMP offload JIT tests, the other has some front end assert
I will look at.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>


  Commit: 7b8d7c9d687b177f0b61ef71992b5ed847334eba
      https://github.com/llvm/llvm-project/commit/7b8d7c9d687b177f0b61ef71992b5ed847334eba
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir

  Log Message:
  -----------
  [mlir][x86] Adds extra pattern for AMX lowering (#213228)

This patch add extra pattern for `AMX` lowering, where the `M`, `N`, and
`K` loops are removed as part of `Canonicalization `


  Commit: 25aec49d40d52ab730d360fc362ecd8b46e00db5
      https://github.com/llvm/llvm-project/commit/25aec49d40d52ab730d360fc362ecd8b46e00db5
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/WindowScheduler.h
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    A llvm/test/CodeGen/AArch64/sms-analyzeloop-remarks.mir
    A llvm/test/CodeGen/AArch64/sms-schedule-remark.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-exp.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-0.mir
    M llvm/test/CodeGen/PowerPC/sms-remark.ll

  Log Message:
  -----------
  [llvm][AArch64] Add pipeliner remarks (#213157)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-mul-part.ll

  Log Message:
  -----------
  [SLP]Support copyables in the fmuladd multiplicand

Allow a non-fmuladd lane V to be modeled as fmuladd(V, 1.0, -0.0),
which equals V for every V (V * 1.0 is exact, and V + -0.0 preserves
signed zeros). The addend modeling is still preferred; the
multiplicand is used as a fallback when the addend operand does not
allow vectorization. The copyable position is kept as an operand
index in InstructionsState, so other operands can be modeled later.

Reviewers: hiraditya, RKSimon

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


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/test/Analysis/string-search-modeling.c

  Log Message:
  -----------
  [analyzer] Don't fold wide string literals in CStringChecker (#213281)

`getStringRefAtRegion()` read literal contents via
`StringLiteral::getBytes()`, which returns the literal's raw trailing
storage. For wide literals (`u""`, `U""`, `L""`) that storage holds the
code units in *host* byte order: `LiteralSupport` writes them through
`reinterpret_cast<UTF16*>/<UTF32*>`, and `StringLiteral::getCodeUnit()`
reads them back the same way. Interpreting those bytes as a target byte
string made the strchr-family constant folding depend on the endianness
of the machine running the analyzer.

Bail out on `getCharByteWidth() != 1`, matching the contract the rest of
the checker already relies on -- `evalStrcmpCommon()` uses
`getString()`, which asserts it. Wide literals now fall back to the
symbolic-offset path and keep both branches.

Fixes up #212124
Inspired from:
https://github.com/llvm/llvm-project/pull/212124#issuecomment-5143598098

Supersedes #213279


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

  Changed paths:
    M llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/OptimizePHIs.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-basic.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/llvm.memset.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.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/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
    M llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
    M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
    M llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
    M llvm/test/CodeGen/AMDGPU/valu-i1.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/X86/2011-09-14-valcoalesce.ll

  Log Message:
  -----------
  Revert "[MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit`" (#213287)

Reverts llvm/llvm-project#211715 because of some failures.


  Commit: 61b16cb275a4823059b34f67c41c265098b6d35f
      https://github.com/llvm/llvm-project/commit/61b16cb275a4823059b34f67c41c265098b6d35f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    A clang/test/SemaOpenCL/builtins-amdgcn-image-bvh-intersect-ray-err.cl
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll

  Log Message:
  -----------
  AMDGPU: Do not give gfx12.5 bvh-ray-tracing-insts (#213246)

bvh-ray-tracing-insts was listed in the FeatureGFX12 generation, so
gfx1250/gfx1251/gfx12-5-generic inherited it even though they have no
BVH. Move the feature out of the common base and into FeatureISAVersion12.
This stops clang from wrongly accepting __builtin_amdgcn_image_bvh_intersect_ray*
on gfx1250.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: cb1642b6f9e458bf8ff5d2c41e22a7f7cf6ee419
      https://github.com/llvm/llvm-project/commit/cb1642b6f9e458bf8ff5d2c41e22a7f7cf6ee419
  Author: Rashmi Mudduluru <r_mudduluru at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm

  Log Message:
  -----------
  [Webkit Checkers][SaferCpp] Detect implicit `id`-to-specific-type casts in MemoryUnsafeCastChecker (#213113)

Flag arguments of type `id` implicitly converted to a specific
Objective-C pointer type at a call, message send, or constructor call
(e.g. passing `id` where an `NSString *` parameter is expected). These
conversions compile without a visible cast but throw at runtime if the
object is not actually of that type.

rdar://148708396


  Commit: 28d9aec513c63beffd2631412adfae327763559e
      https://github.com/llvm/llvm-project/commit/28d9aec513c63beffd2631412adfae327763559e
  Author: Sean Clarke <sclarke at tenstorrent.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/test/Transforms/LoopIdiom/AArch64/cyclic-redundancy-check.ll
    M llvm/test/Transforms/LoopIdiom/RISCV/cyclic-redundancy-check.ll
    M llvm/test/Transforms/LoopIdiom/X86/cyclic-redundancy-check.ll
    A llvm/test/Transforms/LoopIdiom/crc-debugify-remarks.ll
    M llvm/test/Transforms/LoopIdiom/cyclic-redundancy-check.ll

  Log Message:
  -----------
  [LoopIdiom] Use costing to determine CRC strategy (#211040)

The CRC loop clmul optimization currently only runs under optsize,
despite being significantly faster than the Sarwate table optimization
in many cases. Model the costs of each approach and weigh them against
each other to determine which optimization should be used. Since the
benefits of clmul are unclear for optsize, simply bail in that case
instead.

Assisted-by: Claude Opus 4.8


  Commit: 5f4d725bca798dc9ab56af114865212849eb6bda
      https://github.com/llvm/llvm-project/commit/5f4d725bca798dc9ab56af114865212849eb6bda
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyConsumer.h
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
    M clang/test/ClangScanDeps/modules-invalid-target.c
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Implement the Streaming Style By-name Scanning API (#211406)

This PR implements a streaming stype by-name scanning API. The new API
takes a `DependencyConsumer`, a `DiagnosticsConsumer` and a
`getNextName` lambda. Any diagnositcs flow to the `DependencyConsumer`,
and the results flows to to `DependencyConsumer`. The `getNextName`
lambda is allows the client to stream names into the API, and the API
keeps scanning dependencies for input names until `getNextName` does not
return more names.

rdar://178088113

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: 61090066768ecb5f88d0514bb586f24fa22f98c5
      https://github.com/llvm/llvm-project/commit/61090066768ecb5f88d0514bb586f24fa22f98c5
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Relocate CompilerInstanceWithContext to DependencyScanningWorker.cpp (#211407)

This PR relocates all `CompilerInstanceWithContext` code to
`DependencyScanningWorker.cpp` and hides them as implementation details,
since no public APIs should use `CompilerInstanceWithContext` directly.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: 89db6d6d7f542cee781f608c309634f1efb20dc3
      https://github.com/llvm/llvm-project/commit/89db6d6d7f542cee781f608c309634f1efb20dc3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  [lld] Fix -Wunused-result in e44068cc129912c88dcdeae0d1b5dc5937eb1059 (#213296)

These variables are only used in an assertion, so mark them maybe unused
to avoid warnings in release builds.

Fixes https://lab.llvm.org/buildbot/#/builders/228/builds/6605.


  Commit: 2acca5348218ca0a664342c688acad5127ab8c9a
      https://github.com/llvm/llvm-project/commit/2acca5348218ca0a664342c688acad5127ab8c9a
  Author: Marco Elver <elver at google.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/DeadStoreElimination/alloc-token-dse.ll
    A llvm/test/Transforms/InstCombine/alloc-token-realloc.ll
    M llvm/test/Transforms/SimplifyCFG/merge-calls-alloc-token.ll

  Log Message:
  -----------
  [AllocToken] Merge !alloc_token metadata across optimization passes (#211516)

Previously, optimization transforms like DeadStoreElimination (folding
malloc to calloc), SimplifyLibCalls (folding realloc(null, n) to
malloc), and combineMetadata (merging equivalent allocations in
GVN/SimplifyCFG) dropped !alloc_token metadata or stripped it when type
names differed. This caused allocation sites of pointer-containing types
to lose their metadata.

Fix it by implementing MDNode::getMergedAllocTokenMetadata() to merge
!alloc_token metadata by ORing the pointer-containing boolean flag and
concatenating type names with a pipe separator, updating combineMetadata
to use it, and preserving !alloc_token metadata when folding allocation
libcalls in DSE and SimplifyLibCalls.

Assisted-by: Antigravity:gemini


  Commit: 6e4374e9749c23028009e8d06870a6c4184d9891
      https://github.com/llvm/llvm-project/commit/6e4374e9749c23028009e8d06870a6c4184d9891
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/signal-macros.h

  Log Message:
  -----------
  [libc] Add SIGPOLL si_code values. (#212873)

This is a follow-up to efc78d2029b9f716de4546ed88571616d91e826c, which
adds `si_code` values for the `SIGPOLL` signal on Linux.


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

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.u32.u8.ll

  Log Message:
  -----------
  AMDGPU: Add missing mqsad-insts to gfx13 frontend feature map (#213292)

fillAMDGCNFeatureMap omitted mqsad-insts for gfx1310/gfx13-generic, so
clang wrongly rejected __builtin_amdgcn_mqsad_u32_u8 on those targets
even though the backend enables the feature. Add it to the gfx13 case.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 34a34f1dac1d40e2ba49f39e9ebce8eafdf44ecc
      https://github.com/llvm/llvm-project/commit/34a34f1dac1d40e2ba49f39e9ebce8eafdf44ecc
  Author: Sean Clarke <sclarke at tenstorrent.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Analysis/HashRecognize.cpp
    M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll

  Log Message:
  -----------
  [HashRecognize] Prevent values other than `ComputedValue` from exiting loop (#213080)

A check exists to prevent recurrences from having stray uses, but this
is only applied when a simple recurrence exists, and does not apply to
other values such as the induction variable. Since the loop is in LCSSA
form, check the incoming value from the loop on each of the exit block
PHIs and bail if any of them are not `ComputedValue`.

This replaces the existing check requiring `ComputedValue` to be used in
the exit block. Note that this no longer covers the case where the exit
block has no PHIs, and therefore does not use `ComputedValue`. In this
case, the loop is dead and will be cleaned up by DCE anyway.


  Commit: 1fe55891a7fcaac526a2b224432145e80f79dc52
      https://github.com/llvm/llvm-project/commit/1fe55891a7fcaac526a2b224432145e80f79dc52
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-int-nyi.cir

  Log Message:
  -----------
  [CIR] Accept _BitInt up to 128 bits in x86_64 callconv lowering (#212668)

The x86_64 bridge in `CallConvLoweringPass.cpp` rejected every
`_BitInt`, so a function taking or returning one reported NYI even
though the ABI library already classifies these types. The classifier
has to be told the integer is bit-precise, and `mapCIRType` was dropping
that flag, which its two-eightbyte handling keys on. With the flag
forwarded, accepting widths up to 128 is mostly a matter of letting the
classifier's answer through. Wider widths stay rejected, for the reason
on the accept check.

Relaxing that check alone was not enough. `convertABIArgInfo` discarded
the classifier's coerce for every non-aggregate, which would have left a
`_BitInt(33)` as i33 where classic CodeGen passes i64. It now takes the
coercion path for a multi-register tuple coerce and for one wider than
the natural type. A narrower or equal coerce still means unchanged,
which is what preserves a `_BitInt(128)`'s 8-byte alignment.

Two `noundef` gaps against classic CodeGen remain. Neither mechanism is
new, but this change is what makes both reachable for `_BitInt`. CIRGen
omits the attribute for a width that is not a multiple of 8, and the
rewriter attaches none to the arguments it creates when flattening, so a
`_BitInt(72)` that CIRGen did mark loses it once the pair is split.


  Commit: b232d110b082c597ac518d37624d16aac3f71ab5
      https://github.com/llvm/llvm-project/commit/b232d110b082c597ac518d37624d16aac3f71ab5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libc/src/math/nvptx/CMakeLists.txt
    R libc/src/math/nvptx/fmod.cpp
    R libc/src/math/nvptx/fmodf.cpp

  Log Message:
  -----------
  [libc] Fix math failures for fmod on NVPTX (#213168)

Summary:
Fixes some failing tests. Fmod's builtin has improper handling in the
NVPTX instruction so we should just use the generic version for now. The
Float128 implementation seems to have had some undefined behavior for
out of range behavior that only showed up now. Hopefully someone can
tell me if this is fixed correctly.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Fix incorrect lowering of VECTOR_INTERLEAVE on fixed vectors (#212642)

This is the sibling patch of #207254, as it turns out VECTOR_INTERLEAVE
has the same problem on fixed vectors as well.

Instead of converting individual operands into scalable vectors, this
patch puts each of the operands directly onto stack using the fixed
vector version of segmented store intrinsics, before loading them back.

---------

Co-authored-by: Luke Lau <luke at igalia.com>


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

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

  Log Message:
  -----------
  [VPlan] Use subpattern-m_VPValue in simplifyRecipe (NFC) (#213268)

Use the subpattern variant of m_VPValue introduced in 8db13de ([VPlan]
Remove redundant x && (y && x) -> x && y combine, #213219) to improve
code in simplifyRecipe.


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

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

  Log Message:
  -----------
  [VPlan] Use match_fn in uncountableEarlyExit (NFC) (#213289)


  Commit: 7fd627a749d4315260aaac6aba8221dd77c9de19
      https://github.com/llvm/llvm-project/commit/7fd627a749d4315260aaac6aba8221dd77c9de19
  Author: Vachan <vachanvy05 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-trunc.ll

  Log Message:
  -----------
  [X86] combineSelect - `fold select(c,vtrunc(x),0)` => `X86ISD::MTRUNC(x,c)`  (#212865)

resolves #156883


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

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/arm-float-abi-flag.c

  Log Message:
  -----------
  clang: Emit "float-abi" module flag (#212985)

Emit the new module flag if it differs from the triple's
default.

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


  Commit: 5e67107334216e076073817f4f7b96b5ec57d1d0
      https://github.com/llvm/llvm-project/commit/5e67107334216e076073817f4f7b96b5ec57d1d0
  Author: Valery Dmitriev <valeryd at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/volatile-codegen.mlir
    A flang/test/Transforms/FIRToMemRef/volatile.mlir

  Log Message:
  -----------
  [flang] Do not convert load and store FIR ops to memref if volatile (#212884)

Memref dialect has no way to express volatility currently. Let such FIR
operations to stay as FIR to be handled by CodeGen in path to LLVM.


  Commit: 69685bb9ce2dc1976b9f4f852caaebdfd98485d1
      https://github.com/llvm/llvm-project/commit/69685bb9ce2dc1976b9f4f852caaebdfd98485d1
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h

  Log Message:
  -----------
  [libc++] Actually partially populate the container in a benchmark (#213146)

The "partially populated" variant of assignment was a copy-paste of the
"into cleared container" assignment.


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

  Changed paths:
    M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h

  Log Message:
  -----------
  [libc++] Fix dangling reference in the associative container benchmarks (#213139)

Two insert benchmarks were registered with lambdas capturing insert_iter_iter_bench
by reference, unlike every other registration in this file, which captures by value.

RegisterBenchmark() stores the lambda by value and only invokes it from
RunSpecifiedBenchmarks(), which happens long after associative_container_benchmarks()
has returned, creating a dangling reference.


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

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

  Log Message:
  -----------
  [llvm] Include ArrayRef.h in GenericCycleInfo.h (#213267)

Try to fix the llvm-x86_64-debian-dylib builder, which has been broken
for a while with:

```
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-x86_64-debian-dylib/build/lib/CodeGen -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o -c /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp
In file included from /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp:53:
In file included from /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/IR/CycleInfo.h:18:
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/GenericCycleInfo.h:231:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(BlockLayout).slice(Cyc.EntryBegin, Cyc.EntrySize);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~
```

see e.g.
https://lab.llvm.org/buildbot/#/builders/60/builds/5422/steps/5/logs/stdio


I'm not sure if this will help or not, I can't reproduce this locally
and nobody else seems to have the same problem(?).


  Commit: 9bc2dd1a7015b58c9c68e8174e5d2756d955c0ca
      https://github.com/llvm/llvm-project/commit/9bc2dd1a7015b58c9c68e8174e5d2756d955c0ca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libcxx/include/__memory_resource/monotonic_buffer_resource.h
    A libcxx/test/libcxx/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/assert.initial_size.pass.cpp

  Log Message:
  -----------
  [libc++] Add an assertion for monotonic_buffer_resource's initial_size (#213136)

[mem.res.monotonic.buffer.ctor] requires initial_size to be greater than
zero for the two constructors that take one, but we silently accepted
zero. Add a hardening assertion for that precondition.

Fixes #213059


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

  Changed paths:
    M libcxx/include/cmath
    M libcxx/test/std/numerics/complex.number/cases.h

  Log Message:
  -----------
  [libc++] Remove unused headers from <cmath> (#213114)

I believe these headers were relevant when we actually implemented
functions in `<cmath>`, but they are not anymore. Note that ::hypot in
particular is obtained from <math.h> like all the other math functions.

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 93da16b5edbd9b6b3e66199ec05012be22e3d306
      https://github.com/llvm/llvm-project/commit/93da16b5edbd9b6b3e66199ec05012be22e3d306
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon/store.c
    M clang/test/CodeGen/AArch64/poly128.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream store (vstrq_p128) NEON builtins (#212677)

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

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

Port test from `clang/test/CodeGen/AArch64/poly128.c` to
`clang/test/CodeGen/AArch64/neon/store.c`


  Commit: 0aa3c9e671fd54083c8c6484fbcfa4c4e36619b6
      https://github.com/llvm/llvm-project/commit/0aa3c9e671fd54083c8c6484fbcfa4c4e36619b6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll

  Log Message:
  -----------
  AMDGPU: Add missing smem-prefetch-insts to gfx12.5/gfx13 feature map (#213297)

fillAMDGCNFeatureMap omitted smem-prefetch-insts for gfx125x and gfx13,
so clang wrongly rejected __builtin_amdgcn_s_prefetch_data / _inst /
s_buffer_prefetch_data.

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/Type.h
    M llvm/lib/IR/Type.cpp

  Log Message:
  -----------
  [IR] Remove deprecated typed-pointer creation APIs (#212812)

Removes `PointerType::get(Type*, unsigned)`,
`PointerType::getUnqual(Type*)`, and `Type::getPointerTo(unsigned)`, the
last typed-pointer-creation leftovers from the opaque pointers
migration. All three have been marked deprecated for a while and have no
remaining in-tree callers; every caller already uses the
LLVMContext-taking overloads.

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


  Commit: 7afc89970fc3675d77e92aa091b65c078cacdcff
      https://github.com/llvm/llvm-project/commit/7afc89970fc3675d77e92aa091b65c078cacdcff
  Author: Koakuma <koachan at protonmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcInstr64Bit.td
    M llvm/test/CodeGen/SPARC/bswap.ll

  Log Message:
  -----------
  [SPARC] Add patterns for i64->i32 and i64->i16 BSWAP-STOREs (#210483)

The lack of those is causing instruction selection to fail.

Also, for completeness, add variants of extending/truncating ops for
LOAD-BSWAP pairs too.


  Commit: 71e5cb7526151701f2e2c4e37eaa20d1763c7cd4
      https://github.com/llvm/llvm-project/commit/71e5cb7526151701f2e2c4e37eaa20d1763c7cd4
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    A mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
    A mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
    A mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
    A mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVM.cpp
    A mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
    A mlir/lib/Conversion/OpenACCToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
    A mlir/lib/Dialect/OpenACC/Utils/OpenACCRuntimeUtils.cpp
    A mlir/test/Conversion/OpenACCToLLVM/init-shutdown-set.mlir
    A mlir/test/Conversion/OpenACCToLLVM/runtime-declaration-mismatch.mlir
    A mlir/test/Conversion/OpenACCToLLVM/wait.mlir

  Log Message:
  -----------
  [mlir][acc] Introduce ACCToLLVM and executable directive codegen (#213165)

Adds initial infrastructure for converting the acc dialect to LLVM,
specifically around generating libacctarget runtime calls. The current
libacctarget APIs are not yet finalized, but the draft proposal can be
found at https://github.com/llvm/llvm-project/pull/197894. This PR adds
codegen for acc init, shutdown, set, and wait.


  Commit: 5d4cd81d0e55c5fd30bda6e31950a04cae87b966
      https://github.com/llvm/llvm-project/commit/5d4cd81d0e55c5fd30bda6e31950a04cae87b966
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M offload/unittests/OffloadAPI/program/olCreateProgram.cpp

  Log Message:
  -----------
  [offload][lit] Re-enable olCreateProgram JIT test on AMDGPU (#213321)

Should be passing now.

Context: https://github.com/llvm/llvm-project/pull/213149

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: e4de0dd15feff58299e5f2951ec1965b34bdec8f
      https://github.com/llvm/llvm-project/commit/e4de0dd15feff58299e5f2951ec1965b34bdec8f
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaximum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminimum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Switch more FP opcodes to extended LLTs (part 3) (#213135)

Migrate trigonometric, division, remainder, multiply-add, and min/max
opcodes to extended floating-point LLTs.

Remove redundant scalar clamps that request unsupported f128-to-f64
narrowing, while retaining required f16-to-f32 widening.

Also update the relevant MIR tests.


  Commit: 8225c81dbfbd69986c17123cf806aa9b7fe03699
      https://github.com/llvm/llvm-project/commit/8225c81dbfbd69986c17123cf806aa9b7fe03699
  Author: Tim <timothy.smith at hpe.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/test/CMakeLists.txt
    A flang/test/Driver/compress-debug-sections-zstd.f90
    A flang/test/Driver/compress-debug-sections.f90
    A flang/test/Integration/debug-compressed-sections.f90
    M flang/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [flang][debug] Add compressed DWARF support in Flang (#212584)

Re-use most of the clang implementation for compressed DWARF support in
flang.

AI attribution: Co-developed with Claude Opus 4.6


  Commit: 1969f153000bbe1df620476ff99c3753a447728e
      https://github.com/llvm/llvm-project/commit/1969f153000bbe1df620476ff99c3753a447728e
  Author: jimingham <jingham at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/include/lldb/Expression/ExpressionVariable.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Expression/ExpressionVariable.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/Materializer.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
    M lldb/source/Target/ABI.cpp
    A lldb/test/API/functionalities/expr-result-var/Makefile
    A lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
    A lldb/test/API/functionalities/expr-result-var/two-bases.cpp

  Log Message:
  -----------
  Reapply "Make result variables obey their dynamic values in subsequent expressions" (#211321) (#213308)

This adds back the patch that makes result variables retain their
dynamic type when you use them in subsequent expressions or fetch their
SBValues.

This reverts commit e1af868257eb4a49db9149cc239ca9b9338d6419.

The first time I submitted this I had some flakey tests, but when I
fixed the accounting for synthetic children those went away. But the
patch was still failing in a set of ObjC tests on x86_64. Those failures
weren't caused by this patch, but rather uncovered a bug in Tagged
Pointer detection, which I fixed in:

https://github.com/llvm/llvm-project/pull/213163


  Commit: 3b852e3b020d46046be8419ed476e63f26dd026a
      https://github.com/llvm/llvm-project/commit/3b852e3b020d46046be8419ed476e63f26dd026a
  Author: Manasij Mukherjee <manasijm at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp

  Log Message:
  -----------
  [TableGen] Use DenseMap in getValueType instead of StringSwitch (#213229)

StringSwitch is linear.
getValueType gets called often, identified by callgrind to be
responsible for 11% of the executed instructions for NVPTX
-gen-dag-isel.

With DenseMap or StringMap, NVPTX and RISCV -gen-dag-isel runs 20% and
15% faster respectively.

Modest 2-6% improvement for others.


  Commit: 998ba43d7447a7c6244b2d58c731b8e582f0649f
      https://github.com/llvm/llvm-project/commit/998ba43d7447a7c6244b2d58c731b8e582f0649f
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/Lowering/fenv.cir
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [CIR] Implement fenv lowering to constrained intrinsic calls (#213105)

This change adds support for lowering floating-point operations with the
fenv attribute set to a call to the corresponding constrained intrinsic
when the operation is lowered to the LLVM dialect.

Generation of operations with the Fenv attribute set will be implemented
in a later change. This only adds support for lowering.

Assisted-by: Cursor / claude-opus-4.8


  Commit: 2f8eb5b4be3eba5c7f58470d6538d00df53a55fc
      https://github.com/llvm/llvm-project/commit/2f8eb5b4be3eba5c7f58470d6538d00df53a55fc
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/AArch64/ptrauth-function-attributes-synthetic.c
    M llvm/lib/IR/Function.cpp
    A llvm/test/Instrumentation/AddressSanitizer/ptrauth-module-flags-aarch64.ll
    A llvm/test/Transforms/GCOVProfiling/ptrauth-module-flags-aarch64.ll

  Log Message:
  -----------
  [clang][llvm][AArch64] Set hardening fn attrs on synthetic functions (#211013)

Compiler-synthesized functions such as `__llvm_gcov_writeout`,
`__llvm_gcov_reset` and `__llvm_gcov_init` were previously never
receiving the AArch64 hardening function attributes (ptrauth-returns,
ptrauth-auth-traps, ptrauth-indirect-gotos and
aarch64-jump-table-hardening) since the attributes were only emitted by
Clang and gated by `PointerAuthOptions` structure's corresponding
fields. See `setPointerAuthFnAttributes` and
`initPointerAuthFnAttributes` member functions of `TargetCodeGenInfo`.

This patch resolves this in the same manner as #83153 does for several
other attributes. Particularly, Clang now emits corresponding 4 module
flags (conditionally on whether the related feature is enabled) with Max
behavior, and LLVM's `Function::createWithDefaultAttr` derives the
matching function attributes from them. Max behavior with conditional
emission is safe because none of these features affect ABI, so promoting
an absent flag on module merge cannot break compatibility.


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

  Changed paths:
    M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent.iter.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.base.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/iterator/base.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/iterator/deref.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/sentinel/ctor.parent.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.convert.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/ctor.parent.iter.compile.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/sentinel/ctor.base.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/ctor.value.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.value.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.parent.compile.pass.cpp

  Log Message:
  -----------
  [libc++][ranges][test-suite][NFC] Consistency improvements after P3050 merge (#213062)

Consistency improvements and other small tweaks.

A follow-up to https://github.com/llvm/llvm-project/pull/193891 - the
changes were deferred to reduce the size of an already large and
approved PR.


  Commit: 56b45895fae25aad001931b7a44e6a5f4359d2fd
      https://github.com/llvm/llvm-project/commit/56b45895fae25aad001931b7a44e6a5f4359d2fd
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Add a test for fmul copyables to fmuladd, NFC



Reviewers: 

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


  Commit: f8d6aaf8cacbd63dd94f094de1e2eab6490838f4
      https://github.com/llvm/llvm-project/commit/f8d6aaf8cacbd63dd94f094de1e2eab6490838f4
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/lib/Optimizer/Passes/Pipelines.cpp

  Log Message:
  -----------
  [flang][NFC] move addPass* template utilities to header (#213288)

Move the addPass* template utilities to the header so external pipelines
can use them.


  Commit: ae2261652f14f760a931075ec5fbe05cdccbac02
      https://github.com/llvm/llvm-project/commit/ae2261652f14f760a931075ec5fbe05cdccbac02
  Author: Zane Hambly <zanehambly at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    A llvm/test/CodeGen/X86/win-null-personality.ll

  Log Message:
  -----------
  [X86] Don't emit personality info when the personality is not a function (#212803)

Follow-up to #212417, another one in the same corner.

`llc -mtriple=x86_64-pc-windows-msvc` crashes on a function whose
personality isn't a function:

```llvm
define void @a() personality ptr null {
  ret void
}
```

`dyn_cast<Function>` gives null, and `beginFunclet` hands that straight
to `getSymbol`, which dereferences it.

`DwarfCFIException` already guards against this, applying the null check
to both branches:

```cpp
shouldEmitPersonality =
    (forceEmitPersonality ||
     (hasLandingPads && PerEncoding != dwarf::DW_EH_PE_omit)) && Per;
```

`WinException` has it inside the second operand, so
`forceEmitPersonality` bypasses it. Move it out so it gates both,
matching the Dwarf path.

The test covers both directions: the null personality no longer emits a
handler, and a real personality with a landing pad still emits
`.seh_handler __CxxFrameHandler3` as before. `CodeGen/WinEH` is 19/19.

Fixes #210285


  Commit: 6d7c951e146b49f3bc0ac175ab050b92ea1150db
      https://github.com/llvm/llvm-project/commit/6d7c951e146b49f3bc0ac175ab050b92ea1150db
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll

  Log Message:
  -----------
  [SLP] Add tests for overcosted scalar splats for RISCV (#213142)

Tests for #213104.


  Commit: 22308c4c51c49bb7ea562d83d0d564cc922d9c21
      https://github.com/llvm/llvm-project/commit/22308c4c51c49bb7ea562d83d0d564cc922d9c21
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

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

  Log Message:
  -----------
  workflows/release-sources: Pass release-version to upload-release-artifacts (#212660)

This was omitted from a8ccd42ab23af6848929a638cd6b099953c7e491.


  Commit: 460c1d327baaa10c2e237418f661084fb33b72e9
      https://github.com/llvm/llvm-project/commit/460c1d327baaa10c2e237418f661084fb33b72e9
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/fneg.ll
    M llvm/test/CodeGen/PowerPC/nofpclass.ll

  Log Message:
  -----------
  [NFC][PowerPC] add `ppcf128` tests for fneg and nofpclass (#213307)


  Commit: 3ece94d8f394f9142f0b6022761aa25a89946b20
      https://github.com/llvm/llvm-project/commit/3ece94d8f394f9142f0b6022761aa25a89946b20
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN trig_preop builtins (#197399)

Adds codegen for the following AMDGCN trigonometric pre-operation
builtins:

- __builtin_amdgcn_trig_preop (double)
- __builtin_amdgcn_trig_preopf (float)

These are lowered to the corresponding `llvm.amdgcn.trig.preop`
intrinsic.


  Commit: 00e7c3564c2ae34d4ac2c6aaa838ac917472ed23
      https://github.com/llvm/llvm-project/commit/00e7c3564c2ae34d4ac2c6aaa838ac917472ed23
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN tanh builtins (#197852)

Adds codegen for the following AMDGCN tanh builtins:

- __builtin_amdgcn_tanhf (float)
- __builtin_amdgcn_tanhh (half)
- __builtin_amdgcn_tanh_bf16 (bfloat16)

These are lowered to the corresponding `llvm.amdgcn.tanh` intrinsic.


  Commit: ae14df3fd7cc15b191c7ccdf325b666f2c840560
      https://github.com/llvm/llvm-project/commit/ae14df3fd7cc15b191c7ccdf325b666f2c840560
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0a1f0aafed6d (#213334)


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

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

  Log Message:
  -----------
  [gn build] Port d9278ad4e640 (#213335)


  Commit: 93a1495bccc329c476b9168c8af5eae499f23303
      https://github.com/llvm/llvm-project/commit/93a1495bccc329c476b9168c8af5eae499f23303
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the runtime checks miscompilation, NFC



Reviewers: 

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


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

  Changed paths:
    M llvm/lib/Target/CSKY/CSKY.td
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.h
    M llvm/lib/Target/CSKY/CSKYSubtarget.cpp
    M llvm/lib/Target/CSKY/CSKYSubtarget.h
    M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
    A llvm/test/CodeGen/CSKY/float-abi-module-flag.ll
    A llvm/test/CodeGen/CSKY/fpu-abi-attribute.ll

  Log Message:
  -----------
  CSKY: Consume "float-abi" module flag (#212975)

Start respecting float-abi, and fall back on the TargetOptions
field if not present.

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


  Commit: 54fedf4ed12903bb938db99bd77c779b0bc73366
      https://github.com/llvm/llvm-project/commit/54fedf4ed12903bb938db99bd77c779b0bc73366
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll

  Log Message:
  -----------
  [SLP]Fix miscompile from poison base in alias-check versioning

Emit the runtime alias check while the block is still fully connected.
LCSSA-preserving SCEV expansion rewrites out-of-loop uses of
loop-defined bases to poison in predecessor-less blocks, corrupting
both the moved body and the scalar fallback clone.

Reviewers: 

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


  Commit: 7ef0ca2b13f9ee1061f2e3ec5a622f4ad74fe4b7
      https://github.com/llvm/llvm-project/commit/7ef0ca2b13f9ee1061f2e3ec5a622f4ad74fe4b7
  Author: Paulius Velesko <pvelesko at pglc.io>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/test/Driver/hipspv-link-static-library.hip
    A clang/test/Driver/hipspv-no-spirv-backend.hip
    M clang/test/Driver/hipspv-pass-plugin.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp

  Log Message:
  -----------
  Reland "[HIPSPV] Add in-tree SPIR-V backend support for chipStar" (#213052)

Relands #206910 (reverted in #213088) with the fix for the breakage.

IsIntegratedBackendDefault() was tied to whether the SPIR-V backend is
registered, but it also controls whether clang collapses the compile and
backend
jobs, so builds without the SPIR-V target split every HIPSPV RDC device
compile
and failed hipspv-toolchain-rdc.hip. The default is back to the base
class value
and the translator fallback is decided in
constructLinkAndEmitSpirvCommand.
Third commit adds a test not guarded by spirv-registered-target.

Validated in X86;SPIRV and X86 only builds: driver tests pass in both,
and
non-RDC plus RDC (new driver) flows run for real emit spirv-val clean
modules
via the backend and via llvm-spirv respectively.


  Commit: 14ec3c42cedcfa5e54dd06f93e611b7b55397360
      https://github.com/llvm/llvm-project/commit/14ec3c42cedcfa5e54dd06f93e611b7b55397360
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M offload/liboffload/API/Symbol.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/GlobalHandler.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/GlobalHandler.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/include/L0Kernel.h
    M offload/plugins-nextgen/level_zero/include/L0Program.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/plugins-nextgen/level_zero/src/L0Program.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
    A offload/unittests/OffloadAPI/symbol/olIterateSymbols.cpp

  Log Message:
  -----------
  [Offload] add 'olIterateSymbols' runtime function (#213036)

Summary:
This provides users with a way to check all symbols present in a given
program. This is useful for many cases where a power user wants to do
something dynamic with the objects present.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    A llvm/test/MC/AMDGPU/gfx13_asm_vimage_err.s

  Log Message:
  -----------
  AMDGPU: Separate image_msaa_load from bvh-ray-tracing-insts (#213270)

Add a separate msaa-load-insts feature so image_msaa_load is available
on gfx13, which has it but not the BVH intersect-ray instructions. These
were assumed to be the same feature previously, but gfx13 does not have the
bvh instructions, but does have image_msaa_load.

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.load.2dmsaa.ll

  Log Message:
  -----------
  [AMDGPU] Fix ImageIntrinsicOptimizer DMask check starting at wrong arg index (#213264)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.bf16.ll

  Log Message:
  -----------
  [AMDGPU] Do not treat bitcast across FP types as canonicality-preserving (#203560)

isCanonicalized recursed through ISD::BITCAST ignoring the type change,
so value canonical as v2bf16 was wrongly treated as canonical when
bitcast to v2f16 (that has different exponent width), dropping a
required fcanonicalize


  Commit: 8631e82ddb299e39f7559a4f683bbe97cb25a0f0
      https://github.com/llvm/llvm-project/commit/8631e82ddb299e39f7559a4f683bbe97cb25a0f0
  Author: AntonyCJ30 <cj6186609 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/test/Transforms/LoopFusion/loop_invariant.ll

  Log Message:
  -----------
  [LoopFusion] Allow loop fusion for idempotent output dependency (#206401)

Loop Fusion incorrectly blocks fusion of loops that write the same value
to two arrays.  Writing the same value twice produces identical observable results
regardless of execution order, so fusion is safe (whether the two arrays are aliased or not). 

Fixes #94676

Co-authored-by: AntonyCJ30 <cj6186609 at gmail@gmail.com>


  Commit: 02bde0716776a742164941e05cb026e750763b04
      https://github.com/llvm/llvm-project/commit/02bde0716776a742164941e05cb026e750763b04
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

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

  Log Message:
  -----------
  workflows/release-binaries: Move environment declaration to upload job (#212687)

This is the only job that actually needs to use the environment secrets,
so the environment must be declared. We were using secrets in the
prepare job to do a permissions check, but this is unnecessary, because
that job does not do anything that is security sensitive.

Only the upload job needs to have these permission checks and these are
already included in the upload-release-artifact composite action.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 71e5cb7 (#213330)

This fixes 71e5cb7526151701f2e2c4e37eaa20d1763c7cd4 (#213165).

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

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


  Commit: 68b7feaa62bbf6b817364a65e749aba9917141ff
      https://github.com/llvm/llvm-project/commit/68b7feaa62bbf6b817364a65e749aba9917141ff
  Author: Marlus Cadanus da Costa <marluscadanus at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/Sema/offsetof-unsigned-index.c

  Log Message:
  -----------
  [clang] Follow-up fixes for offsetof unsigned index change (#207808)

- Rename CastNoOverflow to CastAPToOffsetIndex for clarity
- Add parentheses in overflow guard condition in InterpBuiltin.cpp
- Improve comment explaining why 0x8000000000000000 is rejected

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

---------

Co-authored-by: Cadanus da Costa <maccosta at beenox.com>


  Commit: f99ee4f26d51091b805fc12affd19b4497081525
      https://github.com/llvm/llvm-project/commit/f99ee4f26d51091b805fc12affd19b4497081525
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 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 (#205427)

Only look for for module symbols.


  Commit: 6512cd96dd1b2e637666e1e6dfc84c1efacbe40b
      https://github.com/llvm/llvm-project/commit/6512cd96dd1b2e637666e1e6dfc84c1efacbe40b
  Author: Daniel Scherzer <daniel.e.scherzer at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M compiler-rt/www/index.html

  Log Message:
  -----------
  [compiler-rt] [docs] Clean up explanation of `__fixunsdfdi` (#212624)

Replace "is compiling into" with "results in"

---------

Co-authored-by: hulxv <hulxxv at gmail.com>


  Commit: ec2bf56676ae4a46f47e3fbc62d5208b729792a1
      https://github.com/llvm/llvm-project/commit/ec2bf56676ae4a46f47e3fbc62d5208b729792a1
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/Diagnostic.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/AST/ast-dump-union-assign-address-space.clcpp
    A clang/test/AST/ast-dump-union-assign-explicit-object.cpp
    A clang/test/AST/ast-dump-union-copy-move-assign.cpp
    A clang/test/AST/ast-print-union-assign.cpp
    R clang/test/CIR/CodeGen/trivial-union-assign-nyi.cpp
    A clang/test/CIR/CodeGen/union-copy-move-assignment.cpp
    A clang/test/CodeGenCXX/union-copy-move-assignment.cpp
    A clang/test/SemaCXX/union-assign-constexpr.cpp
    A clang/test/SemaCXX/union-assign-memcpy-nontrivial.cpp

  Log Message:
  -----------
  [Clang][Sema] Synthesize a memcpy body for defaulted union assignment (#206579)

A defaulted copy or move assignment operator for a union is synthesized
with an empty body. `DefineImplicitCopyAssignment` /
`DefineImplicitMoveAssignment` skip union members in the memberwise
loop, and the implied copy of the object representation has no AST
representation, a FIXME that has sat at that skip for a long time. The
operator ends up copying nothing.

Classic CodeGen hides this at ordinary call sites by lowering a trivial
assignment to a memcpy at the call site, so `u1 = u2` works even though
the operator body is a no-op. But when the operator is genuinely called,
through a pointer-to-member for instance, it silently copies nothing.
ClangIR calls the assignment operator at the call site rather than
eliding it, so it hits the empty body directly and drops every union
assignment. The no-op is then deleted at `-O3`. That is the MultiSource
`kc` miscompile, where a `YYSTYPE` union assignment (`*++yyvsp =
yylval`) becomes a no-op.

This implements the FIXME by mirroring the defaulted union copy
constructor (`CGClass.cpp`: "union copy constructor, we must emit a
memcpy") in the AST: when the class is a union,
`DefineImplicit{Copy,Move}Assignment` emits a single whole-object copy
through `buildMemcpyForAssignmentOp`, the helper already used for
trivially-copyable array members, instead of the skipped per-member
assignments. The operator stays trivial (triviality is fixed at
declaration time, before the body is synthesized), so constant
evaluation, which copies trivial unions through its own semantic path
and never executes the body, is unchanged.

Copying the object representation is correct even when a union member is
not trivially copyable, but the synthesized memcpy would then trip
`-Wnontrivial-memcall`. A `void*` cast would drop pointee qualifiers
such as the address space and inject an explicit cast node the source
never wrote. Instead the call keeps its typed union-pointer arguments,
and the union branch in `DefineImplicit{Copy,Move}Assignment` wraps the
build in `IgnoreAllWarningDiagRAII`, a save-and-restore around the
engine's existing ignore-all-warnings state. `CheckMemaccessArguments`
defers the warning and its note through `DiagRuntimeBehavior`, and that
queue flushes after the RAII has restored the previous ignore state, so
`DiagIfReachable` samples that state as it enqueues and drops what is
not error-class. Under `-w` the same queue is discarded before it
flushes, so nothing outside the scoped region changes.

Classic CodeGen now emits the copy when the operator is odr-used, and
ClangIR's union assignment lowers to a real memcpy. On the Sema side,
tests cover the synthesized AST for the implicit-`this` and C++23
explicit-object spellings, the `-Wnontrivial-memcall` suppression, the
preserved address space, the clean `-ast-print` output, and constexpr
active-member copy. The classic and ClangIR lowering is checked across
named, anonymous, and tail-padded unions.

#198918 added a defaulted-union `errorNYI` in ClangIR and deferred this
AST fix to a separate change. This PR makes that fix and drops the
guard, so the now-non-empty body lowers to a `cir.call @memcpy` instead
of erroring. Its own `union-copy-move-assignment.cpp` CIR test, which
expects that call, is the regression check.


  Commit: 230e5d9a02cafb7fdb7b85075ca16217ee6f5f5a
      https://github.com/llvm/llvm-project/commit/230e5d9a02cafb7fdb7b85075ca16217ee6f5f5a
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/zero-call-used-regs-no-neon.ll

  Log Message:
  -----------
  [AArch64] Fix zero-call-used-regs crash on targets without NEON (#211603)

## Summary

`-fzero-call-used-regs=all` crashes on AArch64 targets without NEON
support, such as `-mgeneral-regs-only` or `-march=armv8-a+nosimd`. The
former is a common configuration used by the Linux kernel.

```c
int p(int a) { return a + 1; }
```

```sh
$ clang --target=aarch64-linux-gnu -O2 -S -mgeneral-regs-only \
        -fzero-call-used-regs=all test.c -o -

Assertion failed: (STI.hasNEON() && "Expected to have NEON."),
buildClearRegister
```

## Cause

`buildClearRegister()` assumes clearing floating-point registers always
requires NEON. However, `-march=armv8-a+nosimd` still has the Armv8
floating-point extension, so FP registers must be cleared without NEON,
while `-mgeneral-regs-only` has no FP support but still collects FP
registers for clearing.

## Fix

Replace the `hasNEON()` assertion with `hasFPARMv8()` for the no-NEON FP
case, and skip collecting floating-point registers entirely when the
target has no Armv8 floating-point support.

**Fixes:** #211151

Assisted-by: Cursor


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

  Changed paths:
    M .github/workflows/require-team-membership/action.yml

  Log Message:
  -----------
  workflows/require-team-membership: Fix typo (#212686)


  Commit: 320164daab4148e3372f6756caaa67882e24a91f
      https://github.com/llvm/llvm-project/commit/320164daab4148e3372f6756caaa67882e24a91f
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/source/ValueObject/ValueObject.cpp
    A lldb/test/API/python_api/value/change_ptr/Makefile
    A lldb/test/API/python_api/value/change_ptr/TestChangePtr.py
    A lldb/test/API/python_api/value/change_ptr/main.c

  Log Message:
  -----------
  [lldb] Avoid returning a stale AddressOf (#212915)

The 'ValueObject::AddressOf()' method assumes that the address of a
value object cannot change, so when it is calculated once, it does not
need to be updated afterwards. However, this is not the case if the
'ValueObject' is a dependent object obtained by calling 'Dereference()'
of another 'ValueObject'. If the latter object is changed, the dependent
value object should return a new address from the 'AddressOf()' method
to reflect the change.


  Commit: a10e70b5d72b63e97304be6c730290b497c594ee
      https://github.com/llvm/llvm-project/commit/a10e70b5d72b63e97304be6c730290b497c594ee
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td

  Log Message:
  -----------
  [NVPTX] Pass `-Xcuda-ptxas` to the nvlink wrapper for LTO (#213351)

Summary:
This allows `-foffload-lto -fgpu-rdc -Xcuda-ptxas` to work properly by
forwarding it.


  Commit: 96c356ab71439dbd08fe185ac7b580f7555b1722
      https://github.com/llvm/llvm-project/commit/96c356ab71439dbd08fe185ac7b580f7555b1722
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/runtime-alias-checks-scheduled-order.ll

  Log Message:
  -----------
  [SLP]Keep scheduled order when moving body in alias-check versioning

The scheduler physically reorders the block before versioning, and
emission insertion points depend on that order. Moving the body by the
pre-scheduling snapshot scrambled it and produced use-before-def IR.
Move in the block's current order instead, filtered to the original
body so the emitted check instructions stay in the header block.

Reviewers: 

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


  Commit: 36187ce08a65a476f87896174231eea6c8d0e528
      https://github.com/llvm/llvm-project/commit/36187ce08a65a476f87896174231eea6c8d0e528
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fmul.ll

  Log Message:
  -----------
  [SLP][NFC]Add an extra check for fmul to fmuladd promotion, NFC



Reviewers: 

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


  Commit: 5ca2b9313c4f33385aa60c554cb36f76bef67e55
      https://github.com/llvm/llvm-project/commit/5ca2b9313c4f33385aa60c554cb36f76bef67e55
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M flang-rt/lib/cuda/allocator.cpp
    M flang/test/Lower/CUDA/cuda-return01.cuf

  Log Message:
  -----------
  [flang-rt][cuda] Skip scope-exit cleanup when the context has a sticky error (#213184)

A sticky CUDA error (e.g. an illegal memory access in a kernel) leaves
the primary context active but unusable, so CUFDeviceIsActive() reports
it as fine and the compiler-generated scope-exit frees abort a program
that ran to completion: 'cudaFree(p)' failed with
'cudaErrorIllegalAddress'.

Detect this by freeing a null pointer, a no-op that still reports the
sticky error. It runs only once the primary context is known active, so
it cannot lazily create one.


  Commit: 1cf3b70dab75e05516d97ce3d71d7a7495c7fcad
      https://github.com/llvm/llvm-project/commit/1cf3b70dab75e05516d97ce3d71d7a7495c7fcad
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    R llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
    M llvm/include/llvm/InitializePasses.h
    R llvm/include/llvm/Transforms/IPO/IROutliner.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/CMakeLists.txt
    R llvm/lib/Analysis/IRSimilarityIdentifier.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    R llvm/lib/Transforms/IPO/IROutliner.cpp
    R llvm/test/Analysis/IRSimilarityIdentifier/basic.ll
    R llvm/test/Analysis/IRSimilarityIdentifier/debug-inst-starts-block.ll
    R llvm/test/Analysis/IRSimilarityIdentifier/different.ll
    R llvm/test/Analysis/IRSimilarityIdentifier/nothing.ll
    M llvm/test/CMakeLists.txt
    R llvm/test/DebugInfo/AArch64/ir-outliner.ll
    M llvm/test/Other/new-pm-defaults.ll
    R llvm/test/Transforms/IROutliner/alloca-addrspace-1.ll
    R llvm/test/Transforms/IROutliner/alloca-addrspace.ll
    R llvm/test/Transforms/IROutliner/different-intrinsics.ll
    R llvm/test/Transforms/IROutliner/different-order-phi-merges.ll
    R llvm/test/Transforms/IROutliner/duplicate-merging-phis.ll
    R llvm/test/Transforms/IROutliner/exit-block-phi-node-value-attribution.ll
    R llvm/test/Transforms/IROutliner/exit-phi-nodes-incoming-value-constant-argument.ll
    R llvm/test/Transforms/IROutliner/extraction.ll
    R llvm/test/Transforms/IROutliner/gvn-output-set-overload.ll
    R llvm/test/Transforms/IROutliner/gvn-phi-debug.ll
    R llvm/test/Transforms/IROutliner/illegal-allocas.ll
    R llvm/test/Transforms/IROutliner/illegal-assumes.ll
    R llvm/test/Transforms/IROutliner/illegal-branches.ll
    R llvm/test/Transforms/IROutliner/illegal-callbr.ll
    R llvm/test/Transforms/IROutliner/illegal-catchpad.ll
    R llvm/test/Transforms/IROutliner/illegal-cleanup.ll
    R llvm/test/Transforms/IROutliner/illegal-frozen.ll
    R llvm/test/Transforms/IROutliner/illegal-indirect-calls.ll
    R llvm/test/Transforms/IROutliner/illegal-invoke.ll
    R llvm/test/Transforms/IROutliner/illegal-landingpad.ll
    R llvm/test/Transforms/IROutliner/illegal-memcpy.ll
    R llvm/test/Transforms/IROutliner/illegal-memmove.ll
    R llvm/test/Transforms/IROutliner/illegal-memset.ll
    R llvm/test/Transforms/IROutliner/illegal-nomerge.ll
    R llvm/test/Transforms/IROutliner/illegal-phi-nodes.ll
    R llvm/test/Transforms/IROutliner/illegal-returns-twice.ll
    R llvm/test/Transforms/IROutliner/illegal-typeid-for.ll
    R llvm/test/Transforms/IROutliner/illegal-vaarg.ll
    R llvm/test/Transforms/IROutliner/included-phi-nodes-begin.ll
    R llvm/test/Transforms/IROutliner/included-phi-nodes-end.ll
    R llvm/test/Transforms/IROutliner/legal-debug.ll
    R llvm/test/Transforms/IROutliner/legal-indirect-calls.ll
    R llvm/test/Transforms/IROutliner/mismatched-phi-exits-not-in-first-outlined.ll
    R llvm/test/Transforms/IROutliner/mismatched-phi-exits.ll
    R llvm/test/Transforms/IROutliner/mismatched-phi-outputs-ordering.ll
    R llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-begin.ll
    R llvm/test/Transforms/IROutliner/must-capture-all-phi-nodes-end.ll
    R llvm/test/Transforms/IROutliner/no-external-block-entries.ll
    R llvm/test/Transforms/IROutliner/no-outlining-optnone.ll
    R llvm/test/Transforms/IROutliner/nooutline-attribute.ll
    R llvm/test/Transforms/IROutliner/one-external-incoming-block-phi-node.ll
    R llvm/test/Transforms/IROutliner/opt-remarks.ll
    R llvm/test/Transforms/IROutliner/outline-memcpy.ll
    R llvm/test/Transforms/IROutliner/outline-memmove.ll
    R llvm/test/Transforms/IROutliner/outline-memset.ll
    R llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
    R llvm/test/Transforms/IROutliner/outlining-across-branch.ll
    R llvm/test/Transforms/IROutliner/outlining-address-taken.ll
    R llvm/test/Transforms/IROutliner/outlining-basic-branches.ll
    R llvm/test/Transforms/IROutliner/outlining-bitcasts.ll
    R llvm/test/Transforms/IROutliner/outlining-branches-phi-nodes.ll
    R llvm/test/Transforms/IROutliner/outlining-call-and-indirect.ll
    R llvm/test/Transforms/IROutliner/outlining-calls-names-must-match.ll
    R llvm/test/Transforms/IROutliner/outlining-calls.ll
    R llvm/test/Transforms/IROutliner/outlining-commutative-fp.ll
    R llvm/test/Transforms/IROutliner/outlining-commutative-operands-opposite-order.ll
    R llvm/test/Transforms/IROutliner/outlining-commutative.ll
    R llvm/test/Transforms/IROutliner/outlining-compatible-and-attribute-transfer.ll
    R llvm/test/Transforms/IROutliner/outlining-compatible-and-never-transfer-riscv.ll
    R llvm/test/Transforms/IROutliner/outlining-compatible-or-attribute-transfer.ll
    R llvm/test/Transforms/IROutliner/outlining-constants-vs-registers.ll
    R llvm/test/Transforms/IROutliner/outlining-cost-model.ll
    R llvm/test/Transforms/IROutliner/outlining-debug-statements.ll
    R llvm/test/Transforms/IROutliner/outlining-different-constants.ll
    R llvm/test/Transforms/IROutliner/outlining-different-globals.ll
    R llvm/test/Transforms/IROutliner/outlining-different-output-blocks.ll
    R llvm/test/Transforms/IROutliner/outlining-different-structure.ll
    R llvm/test/Transforms/IROutliner/outlining-exits-to-phi-node.ll
    R llvm/test/Transforms/IROutliner/outlining-first-instruction.ll
    R llvm/test/Transforms/IROutliner/outlining-gep.ll
    R llvm/test/Transforms/IROutliner/outlining-isomorphic-predicates.ll
    R llvm/test/Transforms/IROutliner/outlining-larger-size-commutative.ll
    R llvm/test/Transforms/IROutliner/outlining-multiple-exits-diff-outputs.ll
    R llvm/test/Transforms/IROutliner/outlining-multiple-exits-one-output-set.ll
    R llvm/test/Transforms/IROutliner/outlining-multiple-exits.ll
    R llvm/test/Transforms/IROutliner/outlining-musttail.ll
    R llvm/test/Transforms/IROutliner/outlining-no-return-functions.ll
    R llvm/test/Transforms/IROutliner/outlining-odr.ll
    R llvm/test/Transforms/IROutliner/outlining-remapped-outputs.ll
    R llvm/test/Transforms/IROutliner/outlining-same-constants.ll
    R llvm/test/Transforms/IROutliner/outlining-same-globals.ll
    R llvm/test/Transforms/IROutliner/outlining-same-output-blocks.ll
    R llvm/test/Transforms/IROutliner/outlining-special-state.ll
    R llvm/test/Transforms/IROutliner/outlining-strip-loop-info.ll
    R llvm/test/Transforms/IROutliner/outlining-swift-error.ll
    R llvm/test/Transforms/IROutliner/outlining-swifttailcc.ll
    R llvm/test/Transforms/IROutliner/outlining-tailcc.ll
    R llvm/test/Transforms/IROutliner/phi-node-exit-path-order.ll
    R llvm/test/Transforms/IROutliner/phi-nodes-non-constant.ll
    R llvm/test/Transforms/IROutliner/phi-nodes-output-overload.ll
    R llvm/test/Transforms/IROutliner/phi-nodes-parent-block-referential.ll
    R llvm/test/Transforms/IROutliner/phi-nodes-simple.ll
    R llvm/test/Transforms/IROutliner/region-end-of-module.ll
    R llvm/test/Transforms/IROutliner/region-inputs-in-phi-nodes.ll
    M llvm/test/lit.cfg.py
    R llvm/test/tools/llvm-sim/Inputs/sim1.ll
    R llvm/test/tools/llvm-sim/fail-cases.test
    R llvm/test/tools/llvm-sim/single-sim-file.test
    R llvm/test/tools/llvm-sim/single-sim.test
    R llvm/tools/llvm-sim/CMakeLists.txt
    R llvm/tools/llvm-sim/llvm-sim.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    R llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    R llvm/utils/gn/secondary/llvm/tools/llvm-sim/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
    M llvm/utils/profcheck-xfail.txt
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [IPO] Remove IR Outliner (#211971)

The IR Outliner has major bugs and no active maintainer, and is disabled
by default. The new LLVM Policy states the pass should be removed.

This commit removes:
- The IROutliner pass
- The IRSimilarity analysis
- The `llvm-sim` executable, used for understanding the latter
- All tests of the above

Related discussion:
https://discourse.llvm.org/t/ir-outliner-status-interest/89672


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll

  Log Message:
  -----------
  [X86] getTargetConstantBitsFromNode - ensure constant data is from a vector type (#213360)

Fixes #213251


  Commit: 458b207bd6bbedbd65498358eee8aecafac1efe8
      https://github.com/llvm/llvm-project/commit/458b207bd6bbedbd65498358eee8aecafac1efe8
  Author: Moazin K. <mkhatti at nvidia.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp

  Log Message:
  -----------
  [OpenACC][NFC] Minor clean up in ACCRoutineLowering. (#213333)

Minor NFC clean up after recent changes to remove nohost handling from
ACCRoutineLowering.

Assisted-by: Codex


  Commit: 38d27329ec681563090a69b1937313ccb311f46e
      https://github.com/llvm/llvm-project/commit/38d27329ec681563090a69b1937313ccb311f46e
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/DropUnnecessaryAssumes.h
    M llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  [DropAssumes] Print drop-deref in pipeline where appropriate (#211905)

drop-deref was added as an option in #166947 and is parsed correctly,
but is not serialized. This can make it difficult to reduce test cases,
especially automatically with llvm/utils/reduce_pipeline.py.

This patch implements printPipeline() to serialize drop-deref where
appropriate.


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

  Changed paths:
    R flang/test/Semantics/modfile84.f90
    A flang/test/Semantics/modfile85.f90

  Log Message:
  -----------
  [flang][NFC] Rename modfile84.f90 to modfile85.f90 (#213371)

Avoid clash on case insensitive system


  Commit: b0511699c36fe95f79351fd691e6c47d6305b31f
      https://github.com/llvm/llvm-project/commit/b0511699c36fe95f79351fd691e6c47d6305b31f
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN ldexp builtins (#198087)

Adds support for the following AMDGCN ldexp builtins:

- __builtin_amdgcn_ldexp (double)
- __builtin_amdgcn_ldexpf (float)
- __builtin_amdgcn_ldexph (half)

These are lowered to the `llvm.ldexp` intrinsic.


  Commit: 09734937d37ca9c8e8c9cdaa55d00339068922c3
      https://github.com/llvm/llvm-project/commit/09734937d37ca9c8e8c9cdaa55d00339068922c3
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M .github/workflows/llvm-abi-tests.yml

  Log Message:
  -----------
  workflows/llvm-abi-tests: Cache the baseline abi (#211968)

This way we don't need to recompute it for every workflow.


  Commit: 90010326302a92850b7a7ede1e0f9c5f169bad96
      https://github.com/llvm/llvm-project/commit/90010326302a92850b7a7ede1e0f9c5f169bad96
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/hdr/CMakeLists.txt
    A libc/hdr/elf_proxy.h
    M libc/include/CMakeLists.txt
    M libc/include/elf.yaml
    A libc/include/llvm-libc-proxy/CMakeLists.txt
    A libc/include/llvm-libc-proxy/elf_proxy.yaml
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [libc] Move generated elf header to include (#211428)

The fact that `hdr/elf_proxy.h` was generated with headergen was causing
dependency issues. This shouldn't be necessary, and this PR moves it out
into `include` to avoid needing headergen for an overlay build.

Assisted-by: Automated tooling, human reviewed.


  Commit: c3b2b425b9a0a2f86b91ef408bed994747a9421e
      https://github.com/llvm/llvm-project/commit/c3b2b425b9a0a2f86b91ef408bed994747a9421e
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fceil.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fexp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fexp2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-flog.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-flog10.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-flog2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-trunc.mir
    M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Switch more FP opcodes to extended LLTs (part 4) (#213353)

Migrate G_FFREXP, G_FMODF, rounding operations, and the LOG/EXP families
to extended LLTs.

Remove f64 for G_FLOG and G_FLOG10 since there is no custom lowering for
them. Adjust G_AND masking for LOG/EXP using extended LLTs.

Update the relevant MIR tests and *.ll tests.


  Commit: 35a8074759e4dc98081a546dfa191bc334772426
      https://github.com/llvm/llvm-project/commit/35a8074759e4dc98081a546dfa191bc334772426
  Author: jimingham <jingham at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/test/API/functionalities/plugins/python_os_plugin/os_plugin_in_dsym/TestOSIndSYM.py

  Log Message:
  -----------
  Disable the tests in TestOSIndSYM.py (#213382)

I filed:  github.com/llvm/llvm-project/issues/213380

to cover this issue.  I'm disabling this one test till that is fixed.


  Commit: 83eec36fcf8efa0eb2c333961968025ce857fb2f
      https://github.com/llvm/llvm-project/commit/83eec36fcf8efa0eb2c333961968025ce857fb2f
  Author: David Green <david.green at arm.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp

  Log Message:
  -----------
  [AArch64][GlobalISel] Replace uses of getRegBank(GPRRegBankID) with GPRRegBank. NFC (#213387)


  Commit: eda2fb2d414a79db0818774d3d63be7f5b9c97ec
      https://github.com/llvm/llvm-project/commit/eda2fb2d414a79db0818774d3d63be7f5b9c97ec
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll

  Log Message:
  -----------
  [AMDGPU] Fix canonicalization of undef in v2f16 (#213373)

When processing canonicalization with an undef in v2f16,
1. If the other element is constant, create a splat vector
2. Otherwise, convert undef to 0.0.

Update comment to make this behavior clear. Do not imply that a v2f16
with two undef's should be unconverted. Do not state that conversion of
undef to qNan is normal. `ConstantFoldScalarCall1` in
`llvm/lib/Analysis/ConstantFolding.cpp` already canonicalizes an undef
to 0.0.

Previous code only converted element 0 if element 1 was a constant.

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


  Commit: 956e24199792651f33b1cad39f611d5f03ba27b5
      https://github.com/llvm/llvm-project/commit/956e24199792651f33b1cad39f611d5f03ba27b5
  Author: jimingham <jingham at apple.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/test/API/commands/register/register_command/TestRegisters.py

  Log Message:
  -----------
  Disable this test on Darwin to give the author a chance to fix it. (#213388)

The test is passing elsewhere.

I filed:

https://github.com/llvm/llvm-project/issues/213386

to cover fixing the issue and re-enabling the tests.


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

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameProviderInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Target/ScriptedThreadPlan.cpp
    M lldb/source/Target/StackFrameRecognizer.cpp
    M lldb/test/API/commands/command/script/TestCommandScript.py
    A lldb/test/API/functionalities/scripted_extensions/Makefile
    A lldb/test/API/functionalities/scripted_extensions/TestScriptedExtensionsDiagnostics.py
    A lldb/test/API/functionalities/scripted_extensions/main.c
    A lldb/test/API/functionalities/scripted_extensions/malformed_scripted_extensions.py
    A lldb/test/API/functionalities/scripted_extensions/os_plugin_missing_methods.py
    M lldb/test/API/functionalities/scripted_frame_provider/register_command_status/TestFrameProviderRegisterCommandStatus.py
    M lldb/test/API/functionalities/scripted_frame_provider/register_command_status/frame_provider.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    M lldb/test/API/functionalities/step_scripted/Steps.py
    M lldb/test/API/functionalities/step_scripted/TestStepScripted.py

  Log Message:
  -----------
  [lldb/Interpreter] Surface Python exceptions from scripted extensions (#198153)


  Commit: 6c82ca141afa81e9ead9aaf3e7259f28f491179f
      https://github.com/llvm/llvm-project/commit/6c82ca141afa81e9ead9aaf3e7259f28f491179f
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

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

  Log Message:
  -----------
  [mlir-c] Add RewriterBase insertion point save/restore (#206531)

Exposes `OpBuilder::saveInsertionPoint` / `restoreInsertionPoint` through the MLIR C API for `MlirRewriterBase`, continuing the buildout of the rewrite/conversion C bindings.

Assisted by: Claude


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

  Changed paths:
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp

  Log Message:
  -----------
  [lldb] Launch the Wasm runtime with the file the target has (#213384)

PlatformWasm hands the runtime the module to run as a path on the host
it launches the runtime on. It takes that path from the launch info,
whose executable is the name the module goes by on the platform. That
name is whatever a stub reported the module under, which need not be a
path that resolves on this host, so a relaunch runs a file that does not
exist:

```
(lldb) run
error: WebAssembly runtime exited with exit code 255
```

Run the file the target has instead. Only a runtime launched on this
host is affected, since a connection to a remote Wasm platform delegates
the launch to that platform.


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

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp

  Log Message:
  -----------
  [BFI] Simplify irreducible header discovery. NFC (#213213)

IrreducibleGraph is the explicit graph of a region -- a loop, or the
whole function -- that BFI searches for irreducible SCCs. It maintains
predecessor lists only so findIrreducibleHeaders can ask of each node
whether a predecessor lies outside its SCC (an entry), and whether a
non-entry in the same SCC reaches it via a backedge (an extra header).

Answer both from the successor lists instead; IrrNode then needs only a
successor vector. findIrreducibleHeaders is left partitioning the SCC
its sole caller is packaging, so fold it into createIrreducibleLoop.
Headers and members are sorted, so the changed iteration order does not
affect output.

Once BFI uses CycleInfo, a region's irreducible SCCs are its
non-reducible child cycles, which should let IrreducibleGraph go away
entirely. That removal has no predecessor lists to walk and
getResolvedNode has no inverse, so it must sweep successors regardless;
settling the formulation here leaves it changing only the graph.

Aided by Claude Opus 5


  Commit: ef19256d338802a6bb4a8b3761d675dfd65e8dec
      https://github.com/llvm/llvm-project/commit/ef19256d338802a6bb4a8b3761d675dfd65e8dec
  Author: crZhao <zhaochenrui757 at gmail.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
    A mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi-invalid.mlir

  Log Message:
  -----------
  [mlir][Shard] Propagate failures in ConvertShardToMPI (#211713)

This PR fixes a crash in ConvertShardToMPI caused by ignoring a failed partial conversion and continuing to apply folding patterns to partially converted IR.

Assisted-by: codex

---------

Co-authored-by: Maksim Levental <maksim.levental at gmail.com>


  Commit: 54d05e9077c7b918c5b8414120b1b370bdb34079
      https://github.com/llvm/llvm-project/commit/54d05e9077c7b918c5b8414120b1b370bdb34079
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
    A llvm/test/MC/Sparc/Relocations/data-directive-specifier.s

  Log Message:
  -----------
  [SPARC] Parse %r_disp32 in data directives (#213398)

commit fd5c1f9497ed (2014) emits %r_disp32 for pc_rel entries in
.gcc_except_table and .eh_frame, but the specifier is only recognized in
instruction operands, so llvm-mc cannot reassemble llc output.

Implement parseDataExpr with a data specifier table holding just
%r_disp32, and reject %r_disp32 outside a .word directive and in
instruction operands.

Supersedes #208933.


  Commit: 037a0f40a8e40784cbb9732709aa56d0f833c713
      https://github.com/llvm/llvm-project/commit/037a0f40a8e40784cbb9732709aa56d0f833c713
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoSmcsps.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    A llvm/test/MC/RISCV/smcsps-invalid.s
    A llvm/test/MC/RISCV/smcsps-valid.s
    M llvm/test/MC/RISCV/supervisor-csr-names.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][MC] Add experimental Smcsps and Sscsps support (#211712)

Add experimental v0.19 support for the `Smcsps` and `Sscsps` conditional
stack pointer swap extensions.


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

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/test/CAPI/ir.c

  Log Message:
  -----------
  [mlir-c] Add mlirValueReplaceUsesWithIf (#206544)

Exposes `Value::replaceUsesWithIf` through the MLIR C API, allowing callers to replace only a subset of a value's uses based on a predicate.

Assisted by: Claude


  Commit: cfb2eab54d060d1c9de741e065376f795d5679a2
      https://github.com/llvm/llvm-project/commit/cfb2eab54d060d1c9de741e065376f795d5679a2
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/simplify-logic.ll

  Log Message:
  -----------
  [VPlan] Add tests for logical and and logical or combines. NFC (#213402)


  Commit: 4d8c8ff54e275b5e0953298b60dcabd50b8d7f97
      https://github.com/llvm/llvm-project/commit/4d8c8ff54e275b5e0953298b60dcabd50b8d7f97
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/simplify-logic.ll

  Log Message:
  -----------
  Revert "[VPlan] Remove redundant x && (y && x) -> x && y combine (#213219)" (#213405)

This reverts commit 8db13de265a5f12d49147930da6d16a3ad7b40e3.

Logical ands block poison, and commuting the operands doesn't preserve
it


  Commit: caaad6b9ff78a2f4c30434bc9706117ad9436682
      https://github.com/llvm/llvm-project/commit/caaad6b9ff78a2f4c30434bc9706117ad9436682
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/simplify-logic.ll

  Log Message:
  -----------
  [VPlan] Fix comments on logical-and/or combines. NFC (#213406)

The ordering needs to be adjusted to preserve poison blocking behaviour.


  Commit: 9466be2c87689a07c9a171f24cb5c9b0c2f0cda8
      https://github.com/llvm/llvm-project/commit/9466be2c87689a07c9a171f24cb5c9b0c2f0cda8
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86.h
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
    M llvm/lib/Target/X86/X86WinEHUnwindV3.cpp
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-funclet.ll
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-no-wincfi.ll
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-per-function.ll
    R llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-required.ll
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-v2-module.ll
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-version-switch-v1.ll
    A llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-version-switch.ll

  Log Message:
  -----------
  [X86][APX] Fix per-function V3 unwind for EGPR functions on Windows x64 (#212924)

A function that saves a callee-saved EGPR (R16-R31) cannot be encoded with V1/V2 unwind info, so it must use V3 even when the module default stays on V1/V2 (e.g. an APX clone created by auto-dispatch alongside a baseline generic clone). The previous code rejected such functions with a recoverable backend diagnostic ("EGPR (R16-R31) requires V3 unwind info on Windows x64") instead of emitting valid V3 unwind info.

Introduce a single shared predicate, requiresWinX64UnwindV3(MF), that returns true when the whole module is in V3 mode, or when the function needs an unwind table and may use EGPR. It is consumed by X86FrameLowering (SEH prolog/epilog layout), the X86WinEHUnwindV2 pass (which skips such functions), and the X86WinEHUnwindV3 pass (which stamps a per-function .seh_unwindversion 3 on every WinEH frame -- the entry block and each funclet). Also widen the SEH_UnwindVersion pseudo operand from i1imm to i8imm since it holds 1, 2 or 3.


  Commit: 56eb9ab86741206baacefb62a40c8a54b4382e91
      https://github.com/llvm/llvm-project/commit/56eb9ab86741206baacefb62a40c8a54b4382e91
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
    M lldb/source/Plugins/Process/wasm/UnwindWasm.h
    M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py

  Log Message:
  -----------
  [lldb] Bound a WebAssembly backtrace by the target's maximum depth (#213397)

Only UnwindLLDB honored target.process.thread.max-backtrace-depth, so
UnwindWasm reported every frame the stub sent and a stack that recursed
without end was walked to its end.

Bound the frame count by the depth on every query rather than dropping
the frames that exceed it. A Wasm call stack arrives whole on the first
query, so a depth lowered after that has to still apply, which is when a
user reaches for it. The synthetic call frame addresses stay derived
from the whole stack, so the order of the frames does not depend on the
depth.


  Commit: e89830da7f4e6656b9ff54ea7695c31435a53ee4
      https://github.com/llvm/llvm-project/commit/e89830da7f4e6656b9ff54ea7695c31435a53ee4
  Author: eoineoineoin <github at eoinrul.es>
  Date:   2026-07-31 (Fri, 31 Jul 2026)

  Changed paths:
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  Add option to format a whole file using git-clang-format (#204336)

Today, git-clang-format will only format lines which have been modified.
However, in some cases, that's not sufficient to get a "clean" file
which would be unmodified by running `clang-format` manually.

I've got a minimal repro using the default clang-format rules. Setup a
new git repository and create a commit with an empty file:

```
mkdir /tmp/bla
cd /tmp/bla
git init
touch t.cpp
git add t.cpp
git commit -m "V1"
```

Add a line to that file containing a comment:
```
echo "int x = 0; // Comment describing x" > t.cpp
git add t.cpp
git clang-format --staged # Reports "clang-format did not modify any files"
git commit -m "V2"
```

There's nothing wrong with this file yet, and it's working as expected.
Problem arises when we add a new line with a comment which is not
aligned with the comment we've already added:

```
echo "int longerThanX = 0; // Should cause above to become aligned" >> t.cpp
git add t.cpp
git clang-format --staged # Reports "clang-format did not modify any files"
```

git-clang-format didn't change the staged file here as it's only
inspecting the modified lines, but according to the default formatting
rules, this new line actually has an effect on the preceding line. i.e.,
if you run `clang-format t.cpp`, you'll see that whitespace is added
before the "Comment describing x" to align with the "Should cause..."

It's not limited to _just_ the preceding line (e.g. in the case where we
have multiple lines like the first with comments which become
unaligned,) so can't just add more lines of context to the diff. This PR
just adds an option to format the whole file, instead of just the
modified sections.


  Commit: 9a15298e9664f723c9379c7972735f3c2292829d
      https://github.com/llvm/llvm-project/commit/9a15298e9664f723c9379c7972735f3c2292829d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lldb/test/API/functionalities/json/symbol-file/TestSymbolFileJSON.py

  Log Message:
  -----------
  [lldb][test] Skip the JSON symbol file test on WebAssembly (#213407)

A JSON symbol file requires the UUID of the module it describes, and a
WebAssembly module carries no UUID.


  Commit: d9e699957d02e8bbf332943b38579909bb8d1005
      https://github.com/llvm/llvm-project/commit/d9e699957d02e8bbf332943b38579909bb8d1005
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  [X86AsmBackend] Define reset() hook (#213409)

Noticed when reviewing #175830: MCObjectStreamer::reset frees the
fragments PendingBA and PrevInstPosition point into, but X86AsmBackend
keeps them. Define the hook.


  Commit: b94b699857a5de41b0def1cffca6908e584be27f
      https://github.com/llvm/llvm-project/commit/b94b699857a5de41b0def1cffca6908e584be27f
  Author: Alexander Richardson <mail at alexrichardson.me>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/Target/RISCV/CMakeLists.txt
    A llvm/unittests/Target/RISCV/RISCVBaseInfoTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Fix ISCVISAInfo::computeDefaultABI() result for xcheriot (#212129)

XCheriot was not considered in this function, so RV32E+XCheriot
defaulted
to ilp32e instead of cheriot when no -target-abi was given.

Since this function does not have unit test coverage, this adds new
tests
for the ABI inference functions: RISCVISAInfo::computeDefaultABI() and
RISCVABI::computeTargetABI.

This change was created with the help of AI tools


  Commit: 3c3a18e239fcb79ad780cc95ac7554046876da2a
      https://github.com/llvm/llvm-project/commit/3c3a18e239fcb79ad780cc95ac7554046876da2a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Driver/CudaInstallationDetector.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/unittests/Basic/OffloadArchTest.cpp
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/include/llvm/TargetParser/NVPTXTargetParser.h

  Log Message:
  -----------
  clang: Store vendor GPU kinds in OffloadArch instead of re-listing GPUs (#213362)

OffloadArch was a flat enum that hand-duplicated every AMDGPU and NVPTX
target, plus a few edge cases. This was yet another place that needed
updating every time a new target is added, which should now be avoided.
Replace with a tagged union-like scheme.

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


  Commit: c27bee245fc0cbc1881632c1546a946fd96d305e
      https://github.com/llvm/llvm-project/commit/c27bee245fc0cbc1881632c1546a946fd96d305e
  Author: K.Roy <145851442+MrRoy09 at users.noreply.github.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [AMDGPU] Generalize MFMA VGPR->AGPR opcode mapping (NFC) (#213274)

Move the VGPR/AGPR pairing out of MFMATable into a generalized
AGPRFormTable class and rename getMFMASrcCVDstAGPROp to getAGPRFormOp.
MFMATable inherits AGPRFormTable, so the instantiation sites and the
generated table are unchanged.

Other instruction families with paired VGPR/AGPR pseudos, such as DS,
can now be tagged with AGPRFormTable.

Related to #168983


  Commit: 6b98f82fe93ff6a0b83677e19f3672bbb7aef79f
      https://github.com/llvm/llvm-project/commit/6b98f82fe93ff6a0b83677e19f3672bbb7aef79f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    A cmake/Modules/GetTripleCMakeSystemName.cmake
    M llvm/include/llvm/TargetParser/TripleName.def
    M llvm/lib/TargetParser/Triple.cpp
    A llvm/test/tools/TargetParser/get-triple-system-name.test
    A llvm/test/tools/TargetParser/get_triple_system_name_test.py
    A llvm/utils/get_triple_system_name.py

  Log Message:
  -----------
  cmake: Derive CMake system name from a triple via new mechanism (#208773)


  Commit: 232e8b5f458479163340ae2d9c1925ccaaaa154b
      https://github.com/llvm/llvm-project/commit/232e8b5f458479163340ae2d9c1925ccaaaa154b
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__atomic/atomic.h
    R libcxx/test/std/atomics/atomics.types.generic/constexpr_noexcept.compile.pass.cpp
    A libcxx/test/std/atomics/atomics.types.generic/ctor.default.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG4169: `std::atomic<T>`'s default constructor should be constrained (#131950)

Drive-by: Rename `constexpr_noexcept.compile.pass.cpp` to
`ctor.default.pass.cpp` as test coverage is added to it, and compile and
run it in all modes.


  Commit: 71b120f63ef3c63e9ee1d4394b9bad8623b183f3
      https://github.com/llvm/llvm-project/commit/71b120f63ef3c63e9ee1d4394b9bad8623b183f3
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td

  Log Message:
  -----------
  [AMDGPU] Use SubtargetPredicates for the f32/f16 -> fp8/bf8 conversions (#213383)

The follow-up #212888 left for the other direction. HasCvtFP8SDWASrcSel
and HasCvtFP8ByteSel replace isGFX940Plus and isGFX11Plus on the f32 ->
fp8/bf8 conversions, which split by the same encoding characteristic, so
the two feature descriptions become direction-neutral. The f16 ->
fp8/bf8 conversions had no feature at all, so add
FeatureF16FP8ConversionInsts, the mirror of the existing
FeatureFP8F16ConversionInsts, and use it in place of isGFX1250Plus.

Assisted-By: Claude Opus 5


  Commit: 63f9de888eaba0162bf6c897d5d0d749a0ffc9f8
      https://github.com/llvm/llvm-project/commit/63f9de888eaba0162bf6c897d5d0d749a0ffc9f8
  Author: David Green <david.green at arm.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging-debug.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update store merging tests to concrete types. NFC (#213429)


  Commit: 60f965b1f62c0c77bcdb2997ea9bb6603aa0d002
      https://github.com/llvm/llvm-project/commit/60f965b1f62c0c77bcdb2997ea9bb6603aa0d002
  Author: hehuan <111408804+xxxxbc at users.noreply.github.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp

  Log Message:
  -----------
  [clang-tidy] Fix trailing semicolon and lost comment in readability-use-std-min-max (#208782)

Fix two bugs in readability-use-std-min-max when the if body has no
braces.

For brace-less if bodies, If->getEndLoc() points to the expression end
rather than the trailing semicolon, truncating replacements and losing
comments. We find the semicolon via findNextToken and extend the range
consistent with compound statement logic.

Before:
  if (n < -1) n = -1 ;          ->  n = std::max(n, -1); ;
  if (n > 1) n = 1/*comment*/;  ->  n = std::min(n, 1);;

After:
  if (n < -1) n = -1 ;          ->  n = std::max(n, -1);
  if (n > 1) n = 1/*comment*/;  ->  n = std::min(n, 1); /*comment*/

Fixes #208708.

AI Usage: This patch is AI-assisted, reviewed and verified by me.


  Commit: ecb50ab04f9b11a71fb672e18060d557d9fa9343
      https://github.com/llvm/llvm-project/commit/ecb50ab04f9b11a71fb672e18060d557d9fa9343
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll

  Log Message:
  -----------
  [MLIR][LLVM] Reject distinct generic metadata on import (#212455)

Reject distinct nodes when converting generic LLVM metadata into LLVM
dialect attributes because `MDNodeAttr` cannot preserve node identity.
Apply the policy recursively so top-level and nested nodes use the
existing unsupported-metadata failure path while finite acyclic uniqued
nodes remain importable.


  Commit: 610a3105af18f5efd127d2eaa1e4633de830b593
      https://github.com/llvm/llvm-project/commit/610a3105af18f5efd127d2eaa1e4633de830b593
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir-named-metadata.mlir
    M mlir/test/python/dialects/llvm.py

  Log Message:
  -----------
  [MLIR][LLVM] Share LLVM metadata attribute translation (#203016)

Share LLVM dialect metadata materialization through `ModuleTranslation`
so named metadata and metadata-as-value lowering use one conversion
path. Resolve metadata symbol references to functions, globals, aliases,
and ifuncs, and diagnose malformed required metadata before lowering.

Rename `MDFuncAttr` to `MDGlobalValueAttr` to reflect its support for
symbol-backed global values.


  Commit: 36b6f48f88914b83acbadcb0c310d292c7304fc3
      https://github.com/llvm/llvm-project/commit/36b6f48f88914b83acbadcb0c310d292c7304fc3
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/float128_test.cpp

  Log Message:
  -----------
  [libc] Add conversion tests between emulated and native f128 (#213422)

Adds conversion tests between emulated and native float128 type, which
would be later used in f128 functions .


  Commit: efe31d6dfee457ad97ec109c9746bf1a69ce2ac9
      https://github.com/llvm/llvm-project/commit/efe31d6dfee457ad97ec109c9746bf1a69ce2ac9
  Author: Vachan <vachanvy05 at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    A llvm/test/Transforms/InstCombine/fold-and-zext-sext.ll
    A llvm/test/Transforms/InstCombine/fold-or-zext-sext.ll

  Log Message:
  -----------
  [InstSimplify] Fold `zext(X) | sext(X)` --> `sext(X)` and `zext(X) & sext(X)` --> `zext(X)` (#213313)

fix #213247

alive2: https://alive2.llvm.org/ce/z/G6se2o
godbolt: https://godbolt.org/z/M3nz5Tvcn


  Commit: 78909083d74f2509ffbb8481680eb27ed5e8679a
      https://github.com/llvm/llvm-project/commit/78909083d74f2509ffbb8481680eb27ed5e8679a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/ne-tightening.ll

  Log Message:
  -----------
  [ConstraintElim] Remove const op restriction from tightenBoundUsingNe. (#213440)

Remove the constant operand restriction for the bounds tightening logic
added in https://github.com/llvm/llvm-project/pull/213049.

The condition is not needed for correctness, and there are a number of
cases in practice where results can be improved:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/839


Compile-time impact in the noise

https://llvm-compile-time-tracker.com/compare.php?from=60f965b1f62c0c77bcdb2997ea9bb6603aa0d002&to=1f7190605cc3a13cd992eaad3053b599cd5e4ed0&stat=instructions:u

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


  Commit: eeb1e687b28c0f64f36e9b59f88b2afa0aa58fba
      https://github.com/llvm/llvm-project/commit/eeb1e687b28c0f64f36e9b59f88b2afa0aa58fba
  Author: David Green <david.green at arm.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/contract-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-brcond-fcmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fp16-copy-gpr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/indexed-store-memsize.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/load-wro-addressing-modes.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-ext-tbz-tbnz.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-trunc-tbz-tbnz.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-shifted-reg-compare.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/speculative-hardening-brcond.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update a number of select tests to concrete types. NFC (#213454)


  Commit: 308cb96d70952c772e4a8f0e831776c8629f2a10
      https://github.com/llvm/llvm-project/commit/308cb96d70952c772e4a8f0e831776c8629f2a10
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b94b699857a5 (#213458)


  Commit: bd427e721e4bb21b52d91b86955352b04a4d89a2
      https://github.com/llvm/llvm-project/commit/bd427e721e4bb21b52d91b86955352b04a4d89a2
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    A llvm/utils/gn/secondary/clang-tools-extra/include-cleaner/unittests/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/unittests/BUILD.gn

  Log Message:
  -----------
  [gn] add ClangIncludeCleanerTests (#213073)


  Commit: 67a20745d64ac2d035970d3f7cb570be73e5f985
      https://github.com/llvm/llvm-project/commit/67a20745d64ac2d035970d3f7cb570be73e5f985
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lldb/docs/resources/test.md
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    A lldb/packages/Python/lldbsuite/test/skip_reason.py
    M lldb/packages/Python/lldbsuite/test/test_result.py
    M lldb/test/API/linux/aarch64/aarch32_compat/TestAArch64LinuxAArch32Compat.py
    M lldb/test/API/linux/aarch64/fpmr/TestAArch64LinuxFPMR.py
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    M lldb/test/API/linux/aarch64/mte_memory_region/TestAArch64LinuxMTEMemoryRegion.py
    M lldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py
    M lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py
    M lldb/test/API/linux/aarch64/non_address_bit_code_break/TestAArch64LinuxNonAddressBitCodeBreak.py
    M lldb/test/API/linux/aarch64/non_address_bit_memory_access/TestAArch64LinuxNonAddressBitMemoryAccess.py
    M lldb/test/API/linux/aarch64/permission_overlay/TestAArch64LinuxPOE.py
    M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
    M lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py
    M lldb/test/API/linux/aarch64/tls_registers/TestAArch64LinuxTLSRegisters.py
    M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
    M lldb/test/API/linux/add-symbols/TestTargetSymbolsAddCommand.py
    M lldb/test/API/linux/arm/tls_register/TestArmLinuxTLSRegister.py
    M lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
    M lldb/test/API/linux/loongarch64/simd_registers/TestLoongArch64LinuxSIMDRegisters.py
    M lldb/test/API/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py
    M lldb/test/API/linux/sepdebugsymlink/TestTargetSymbolsSepDebugSymlink.py
    M lldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py
    M lldb/test/API/lldbtest.py
    M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
    M lldb/test/API/macosx/add-dsym/TestAddDsymMidExecutionCommand.py
    M lldb/test/API/macosx/arm-pointer-metadata-cfa-dwarf-expr/TestArmPointerMetadataCFADwarfExpr.py
    M lldb/test/API/macosx/bss-only-data-section-sliding/TestBSSOnlyDataSectionSliding.py
    M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
    M lldb/test/API/macosx/ctf/TestCTF.py
    M lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
    M lldb/test/API/macosx/debugserver-multimemread/TestDebugserverMultiMemRead.py
    M lldb/test/API/macosx/delay-init-dependency/TestDelayInitDependency.py
    M lldb/test/API/macosx/deny-attach/TestDenyAttach.py
    M lldb/test/API/macosx/dsym_codesign/TestdSYMCodesign.py
    M lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
    M lldb/test/API/macosx/dyld-trie-symbols/TestDyldTrieSymbols.py
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
    M lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
    M lldb/test/API/macosx/expedited-thread-pcs/TestExpeditedThreadPCs.py
    M lldb/test/API/macosx/extended-backtrace-api/TestExtendedBacktraceAPI.py
    M lldb/test/API/macosx/find-app-in-bundle/TestFindAppInBundle.py
    M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py
    M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
    M lldb/test/API/macosx/format/TestFunctionNameWithoutArgs.py
    M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
    M lldb/test/API/macosx/ignore_exceptions/TestIgnoredExceptions.py
    M lldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py
    M lldb/test/API/macosx/lc-note/additional-registers/TestMetadataRegisters.py
    M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
    M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
    M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
    M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
    M lldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
    M lldb/test/API/macosx/macCatalystAppMacOSFramework/TestMacCatalystAppWithMacOSFramework.py
    M lldb/test/API/macosx/mte/TestDarwinMTE.py
    M lldb/test/API/macosx/no-nlist-memory-module/TestNoNlistsDylib.py
    M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
    M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
    M lldb/test/API/macosx/order/TestOrderFile.py
    M lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
    M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
    M lldb/test/API/macosx/queues/TestQueues.py
    M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
    M lldb/test/API/macosx/save_crashlog/TestSaveCrashlog.py
    M lldb/test/API/macosx/shared-cache-host-memory/TestSharedCacheHostMemory.py
    M lldb/test/API/macosx/shared-cache-vm-range/TestSharedCacheVMRange.py
    M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
    M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
    M lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
    M lldb/test/API/macosx/stack-corefile/TestStackCorefile.py
    M lldb/test/API/macosx/stop-reason-exception/TestMachExceptionData.py
    M lldb/test/API/macosx/tbi-honored/TestTBIHonored.py
    M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
    M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
    M lldb/test/API/macosx/thread_suspend/TestInternalThreadSuspension.py
    M lldb/test/API/macosx/universal/TestUniversal.py
    M lldb/test/API/macosx/universal64/TestUniversal64.py
    M lldb/test/API/macosx/unregistered-macho/TestUnregisteredMacho.py
    M lldb/test/API/windows/conpty/TestConPTY.py
    M lldb/test/API/windows/debug-heap/TestWindowsDebugHeap.py
    M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
    M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py
    M lldb/test/API/windows/msvcrt/TestMSVCRTCException.py
    M lldb/test/API/windows/thread/TestThreadName.py
    M llvm/utils/lit/lit/reports.py

  Log Message:
  -----------
  [lldb] Introduce the require decorator (#212753)

Currently, it is unclear if a test that is skipped is either:
- Unsupported because it will never run (macosx tests should not run on
Windows).
- Skipped because it's supposed to work but does not yet.
`@expectedFailure` is not always an option because a test might be
timing out and waiting 600s for it to fail is not acceptable.

This patch introduces 2 new decorators to differentiate those tests:
- `@requireX` meaning the tests require X to run (e.g `@requireDarwin`).
- `@requireNotX` meaning the tests requires anything but `X` to run (e.g
`@requireNotDarwin`).

In the tests results summary, this introduces a new category: `skipped`
tests:
- `@requireX` -> `UNSUPPORTED`
- `@skipIfX` -> `SKIPPED`

Here is how they can and cannot be stacked:

This will never run:
```py3
@requireDarwin
@requireWindows
def test():
    ...
```

This will not run on Linux, because `@requireWindows` is not satisfied.
```py3
@requireNotDarwin
@requireWindows
def test():
    ...
```

For "require Darwin or Windows", you need:
```py3
@requirePlatform(["darwin", "windows"])
def test():
    ...
```

For "require Darwin on ARM64 or Windows on ARM64", you need:
```py3
@requireARM64
@requirePlatform(["darwin", "windows"])
def test():
    ...
```

This patch also converts the tests in
`lldb/tests/API/{macosx,linux,windows}` to use these decorators. Patches
to convert the rest of the tests will follow.


  Commit: 6dfd7337239f82e19aad65a899e862bf31a8b180
      https://github.com/llvm/llvm-project/commit/6dfd7337239f82e19aad65a899e862bf31a8b180
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp

  Log Message:
  -----------
  [lldb][Windows] Improve error messages in PlatformWindows.cpp (#213011)

The reason for the failure is known but is not in the log. Add a helper
function to map the error to a string and log it.

---------

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


  Commit: bd9aa3ca5789c94b3a0d0c42b0aa8a94be4c0695
      https://github.com/llvm/llvm-project/commit/bd9aa3ca5789c94b3a0d0c42b0aa8a94be4c0695
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/ppc64-long-branch-rel14.s
    M lld/test/ELF/ppc64-pcrel-call-to-pcrel.s

  Log Message:
  -----------
  [ELF] Retain .rela.dyn for PPC64 PI long-branch thunks (#212078)

PPC64PILongBranchThunk adds a relative relocation, which runs after
removeUnusedSyntheticSections. With no other dynamic relocation
.rela.dyn is incorrectly removed.

Extract the .rela.auth.dyn condition (#96496, #195649) to `mayGrowLate`
and add a .branch_lt check.


  Commit: 6545f29f64373d98ab093b059a00f3272efb59bc
      https://github.com/llvm/llvm-project/commit/6545f29f64373d98ab093b059a00f3272efb59bc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/lib/IR/Operator.cpp
    A llvm/test/Transforms/ConstraintElimination/gep-struct-offset-index-width.ll
    A llvm/test/Transforms/InstCombine/gep-struct-offset-index-width.ll

  Log Message:
  -----------
  [IR] Truncate struct field offsets exceeding the pointer index width. (#213436)

Update accumulateConstantOffset and collectOffset to implicitly truncate
struct field offsets. This fixes crashes in the new tests, where the
field offset does not fit in the index width.

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


  Commit: 007c68420876af752e14e1c0e8bdab3a6a4058b0
      https://github.com/llvm/llvm-project/commit/007c68420876af752e14e1c0e8bdab3a6a4058b0
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    A mlir/test/Dialect/XeGPU/canonicalize.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir

  Log Message:
  -----------
  [mlir][xegpu] Add xegpu.lane_shuffle op (#210777)

Add a lane-level XeGPU operation that re-distributes a subgroup's
fragments across its lanes without changing the element type.

The op takes a 1D vector — the fragment held by one lane — and returns a
fragment of the same type. A pack/unpack mode selects the direction:
viewing the subgroup as an S x N element grid (S = subgroup size, N =
elements per lane), pack moves element j of lane i from logical position
j*S + i to i*N + j, so a lane's elements end up at consecutive
positions; unpack is the reverse.
  
This implements xegpu.convert_layout semantics at the lane level when
lane_layout is unchanged but lane_data differs.
  
assisted-by-claude

---------

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


  Commit: 350089d0cb1652e6ff44888f46d6487db5e696e6
      https://github.com/llvm/llvm-project/commit/350089d0cb1652e6ff44888f46d6487db5e696e6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M libc/src/__support/common.h

  Log Message:
  -----------
  [libc] Fix LLVM_LIBC_FUNCTION on 32-bit x86 Windows (#213456)

Previously, trying to compile libm with LIBC_COPT_PUBLIC_PACKAGING
defined failed on 32-bit Windows with

    error: alias must point to a defined variable or function

This is because 32-bit Windows adds a leading underscore to __cdecl C
functions, making the alias declaration not find its target symbol name.
The same problem exists on Apple platforms, which as solution don't emit
the alias for the C++ LIBC_NAMESPACE:: symbol.

Do the same on 32-bit Windows as on Apple platforms: Emit only
the underscore-prefixed symbol, not the LIBC_NAMESPACE:: alias.


  Commit: 4671437fb024a1c641b154850a7df4db2c22af21
      https://github.com/llvm/llvm-project/commit/4671437fb024a1c641b154850a7df4db2c22af21
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M libc/src/__support/math/expm1.h
    M libc/src/__support/math/tan.h

  Log Message:
  -----------
  [libc] Add missing LIBC_INLINE to functions defined in .h files (#213442)


  Commit: 8cb8e872e71fe786b7da0bfd64e71427ef9543c7
      https://github.com/llvm/llvm-project/commit/8cb8e872e71fe786b7da0bfd64e71427ef9543c7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    A llvm/test/tools/llubi/gep-16-bit-addrspace.ll
    M llvm/tools/llubi/lib/Context.cpp

  Log Message:
  -----------
  [llubi]  Truncate struct field offsets exceeding the pointer index width (#213471)

Update computeGEP to implicitly truncate struct field offsets. This
fixes crashes in the new test, where the field offset does not fit in
the index width.

Related https://github.com/llvm/llvm-project/pull/213436

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


  Commit: 278261413bbc64fd21d763fdc115420be39cc3b8
      https://github.com/llvm/llvm-project/commit/278261413bbc64fd21d763fdc115420be39cc3b8
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/funclet.ll
    M llvm/test/Transforms/LoopVectorize/constantfolder.ll
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-requiring-scev-predicates.ll

  Log Message:
  -----------
  [InstSimplify] Defer to ConstantFold in simplifyInstrinsic (#205061)

Defer to ConstantFolding on all-constant operands, in
llvm::simplifyIntrinsic. The patch adds a context-function argument to
ConstantFoldIntrinsic for strictfp information, which is used by a new
canConstantFoldIntrinsic under canConstantFoldCallTo: it was
necessitated by exposing the constant-folder via
llvm::simplifyIntrinsic. The patch only has impact on passes that use
simplifyIntrinsic via InstSimplifyFolder, other than InstCombine, which
already constant-folds intrinsics.


  Commit: 84afdb477133cb04cf842d2d57d4e5e1461ba924
      https://github.com/llvm/llvm-project/commit/84afdb477133cb04cf842d2d57d4e5e1461ba924
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lld/MachO/InputSection.cpp
    A lld/test/MachO/icf-scale-same-class.s

  Log Message:
  -----------
  [lld][MachO] Avoid quadratic iteration over already-folded symbols during ICF (#213339)

`ConcatInputSection::foldIdentical()` clears the folded functions
`originalUnwindEntry`.
However, it cleared every symbol: with N members, the repeated clearing
is **O(N²)**.
This is redundant: we should only remove the incoming `copy->symbols`.

This patch moves the removing loop ahead and adds more clear comments on
why we need to skip the first element.
Also added a new `lld/test/MachO/icf-scale-same-class.s` with 500K
identical functions as a stress test, which would've taken minutes to
link, and less than a second with the patch.

Testing on real-world app (IRPGO instrumentation + ICF) find that we
achieved a 19x speed up (1:14:42 -> 3:55)


  Commit: e3bde09850d7be0bfdbd9051f09b887b1d607f38
      https://github.com/llvm/llvm-project/commit/e3bde09850d7be0bfdbd9051f09b887b1d607f38
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/test/CAPI/ir.c

  Log Message:
  -----------
  [mlir-c] Add structural operation equivalence (#206537)

Exposes `OperationEquivalence` through the MLIR C API so callers can compare operations structurally rather than by handle identity.

Assisted by: Claude


  Commit: dbe7da36420d299182292e81dd55eca6da43f3ab
      https://github.com/llvm/llvm-project/commit/dbe7da36420d299182292e81dd55eca6da43f3ab
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 350089d (#213482)

This fixes 350089d0cb1652e6ff44888f46d6487db5e696e6 (#213456).

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

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


  Commit: 11038cc1618ac1f801e4029b7149f68f3ad949f5
      https://github.com/llvm/llvm-project/commit/11038cc1618ac1f801e4029b7149f68f3ad949f5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/WindowScheduler.h
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    R llvm/test/CodeGen/AArch64/sms-analyzeloop-remarks.mir
    R llvm/test/CodeGen/AArch64/sms-schedule-remark.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-exp.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-0.mir
    M llvm/test/CodeGen/PowerPC/sms-remark.ll

  Log Message:
  -----------
  Revert "[llvm][AArch64] Add pipeliner remarks" (#213485)

Reverts llvm/llvm-project#213157

Reverting to fix build bots.


  Commit: 1ac9b999f8b521b5d6d82cf1a19858bc40a18c6a
      https://github.com/llvm/llvm-project/commit/1ac9b999f8b521b5d6d82cf1a19858bc40a18c6a
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/test/API/commands/register/register_command/TestRegisters.py
    M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp

  Log Message:
  -----------
  [lldb] Reimplement PythonCallable::GetArgInfo without executing Python code (#213378)

`b05a5d0a` added an arity-trimming step to the shared
`ScriptedPythonInterface::Dispatch`: extensions are now allowed to
define methods with trailing parameters as optional
(`num_children(self)` vs. `num_children(self, max_count)`), so before
calling into a method, `Dispatch` needs to know how many positional
arguments it actually accepts and drop any trailing ones we'd otherwise
pass.

That check calls `PythonCallable::GetArgInfo`, which ran a whole
embedded Python script through `inspect.signature` on every call, since
every scripted-extension dispatch goes through it.

For the common case `GetArgInfo()` actually needs to handle fast (plain
Python functions/methods, classes used as constructors, and callable
instances defining `__call__`, i.e. everything `Dispatch<T>()` and
`CreatePluginObject()` ever pass it), the answer is available as plain
data attributes, with no Python bytecode execution required:
`__func__`/`__self__` to unwrap bound methods, and `__code__`'s
`co_argcount`/`co_flags` for the actual positional-argument count and
varargs bit. For a class, that means `__init__` -- except a class may
customize `__new__` instead and leave `__init__` untouched, in which
case `object.__init__` becomes lenient about extra arguments.

Anything else still lacking `__code__` can fall back to the original
`inspect.signature()`-based implementation, now exposed as
`PythonCallable::GetArgInfoFromInspectSignature()` so it can be used
separately.

rdar://183776556

---------

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


  Commit: 303e63dbd87fcd700990d9c79ee80be7896e529c
      https://github.com/llvm/llvm-project/commit/303e63dbd87fcd700990d9c79ee80be7896e529c
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h

  Log Message:
  -----------
  [JITLink] Remove LTmp workaround now that LLVM requires C++17 (#213428)

C++17 guarantees the postfix-expression naming the called function is
sequenced before evaluation of its arguments, so
L->linkPhase1(std::move(L)) is well-formed without the LTmp indirection.
This should also be implemented by MSVC now. See here (P0145R3 and
P0400R0):

https://learn.microsoft.com/ar-sa/cpp/overview/visual-cpp-language-conformance?view=msvc-170
Disclaimer: As I have no LLVM Windows machine with MSVC at hand, I was
not able to test it myself.

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


  Commit: 676d48fb49ceded2fc56b21bbf2f611759fbc5e0
      https://github.com/llvm/llvm-project/commit/676d48fb49ceded2fc56b21bbf2f611759fbc5e0
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lld/ELF/Arch/SPARCV9.cpp
    A lld/test/ELF/sparcv9-gotdata.s

  Log Message:
  -----------
  [ELF,SPARC] Handle GOTDATA relocations (#213497)

A PIC data reference forms the symbol's GOT offset with
R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 and loads through
it, with R_SPARC_GOTDATA_OP marking the load:

```
sethi %gdop_hix22(sym), %g1
xor   %g1, %gdop_lox10(sym), %g1
ldx   [%l7 + %g1], %g1, %gdop(sym)
```

When the symbol is neither preemptible nor absolute, optimize the load
to `add %l7, %g1, %g1` over the symbol's GOT-relative address. An
absolute symbol keeps the GOT load, as it can be arbitrarily far from
.got and we don't want the X86_64::relaxOpt complexity.

Co-authored-by: Kirill A. Korinsky <kirill at korins.ky>
Co-authored-by: LemonBoy <thatlemon at gmail.com>
Co-authored-by: Alex Rønne Petersen <alex at alexrp.com>


  Commit: b32d4f0c451f2c6c19e1508441e78033c6f95e9b
      https://github.com/llvm/llvm-project/commit/b32d4f0c451f2c6c19e1508441e78033c6f95e9b
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/X86/TransformOps/X86TransformOps.td
    M mlir/include/mlir/Dialect/X86/Transforms.h
    M mlir/include/mlir/Dialect/X86/Utils/X86Utils.h
    M mlir/lib/Dialect/X86/TransformOps/X86TransformOps.cpp
    M mlir/lib/Dialect/X86/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/X86/Transforms/MoveAccumulatorForContractLoop.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractBF16ToFMA.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractToPackedTypeDotProduct.cpp
    M mlir/lib/Dialect/X86/Utils/X86Utils.cpp
    A mlir/test/Dialect/X86/move-acc-for-contract-loop.mlir
    M mlir/test/Dialect/X86/vector-contract-bf16-to-fma.mlir
    M mlir/test/Dialect/X86/vector-contract-to-packed-type-dotproduct.mlir

  Log Message:
  -----------
  [mlir][x86] Decouple Accumulator from ADD-Based Vector Contractions (over loops) (#204327)

This path transforms `vector.contract(A, B, Acc)` into
`vector.contract(A, B, 0) + Acc` to decouple the contraction computation
from the accumulator update for contractions over the loop.


  Commit: 4e0d78f974499e728de1ee1acbdce1e6491a610c
      https://github.com/llvm/llvm-project/commit/4e0d78f974499e728de1ee1acbdce1e6491a610c
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-01 (Sat, 01 Aug 2026)

  Changed paths:
    M lld/ELF/Arch/SPARCV9.cpp
    A lld/test/ELF/sparcv9-tls-ie.s

  Log Message:
  -----------
  [ELF,SPARC] Handle TLS IE relocations (#213500)

An initial-exec reference loads the symbol's TP-relative offset from the
GOT and adds the thread pointer:

```
sethi %tie_hi22(sym), %o0             # R_SPARC_TLS_IE_HI22
add   %o0, %tie_lo10(sym), %o0        # R_SPARC_TLS_IE_LO10
ldx   [%l7 + %o0], %o0, %tie_ldx(sym) # R_SPARC_TLS_IE_LDX
add   %g7, %o0, %o0, %tie_add(sym)    # R_SPARC_TLS_IE_ADD
```

The sethi and add form the GOT offset. In an executable a
non-preemptible symbol is optimized to Local Exec, as GNU ld does: the
sethi holds the complement, the add becomes an xor, and the load becomes
a register move, or a nop when source and destination are the same. The
thread pointer add is unchanged.

Co-authored-by: Kirill A. Korinsky <kirill at korins.ky>
Co-authored-by: LemonBoy <thatlemon at gmail.com>
Co-authored-by: Alex Rønne Petersen <alex at alexrp.com>


  Commit: 2450b7e17b903fb70560a883d07ad1e6ab537c56
      https://github.com/llvm/llvm-project/commit/2450b7e17b903fb70560a883d07ad1e6ab537c56
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M mlir/examples/standalone/python/CMakeLists.txt
    M mlir/python/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][Python] Drop the LLVMSupport link dependency from the python extensions (#213509)

Follow-up to #180986, which completed the series started in #178290: it switched the last python bindings off the C++ LLVM APIs and dropped `LLVMSupport` from the support library in `AddMLIRPython.cmake`. But the per extension `PRIVATE_LINK_LIBS LLVMSupport` in `mlir/python/CMakeLists.txt` was missed, so the dependency is still there for every extension module.

Assisted by: Claude


  Commit: 6a3d4d935cab115f5a088cea394f606b6c46e991
      https://github.com/llvm/llvm-project/commit/6a3d4d935cab115f5a088cea394f606b6c46e991
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
    A llvm/test/MC/CSKY/default-build-attributes.s

  Log Message:
  -----------
  [CSKY] Emit build attributes in assembly output (#213507)

Fixes CodeGen/CSKY/fpu-abi-attribute.ll, failing since #212975.

emitTargetAttributes is implemented only by CSKYTargetELFStreamer, so
llc -filetype=asm drops every .csky_attribute directive. Move it to
CSKYTargetStreamer, as ARM and RISC-V do.


  Commit: 8d292a7c4b952eb5e9c55ed54a17a25c85bd553c
      https://github.com/llvm/llvm-project/commit/8d292a7c4b952eb5e9c55ed54a17a25c85bd553c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/InProcessEPC.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/InProcessEPC.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h

  Log Message:
  -----------
  [ORC] Remove EPC runAsVoidFunction/runAsIntFunction methods (#213265)

Remove runAsVoidFunction and runAsIntFunction from
ExecutorProcessControl and all its implementations, along with the
now-unused RunAs{Void,Int}FunctionWrapperName bootstrap symbols and
SimpleRemoteEPC's corresponding address fields. Their only in-tree
users, COFFPlatform and COFFVCRuntimeSupport, now use
rt::sps::Int32VoidCaller and rt::sps::Int32Int32Caller.

runAsMain is likewise routed through rt::sps::MainCaller's controller-
interface symbol, so it is looked up under the same orc_rt_ci_sps_* name
the target-process bootstrap registers.

This is a step towards decoupling the ExecutorProcessControl interface
from SPS serialization.


  Commit: e18c3ea024846a60c43e0066af3be953745cc34e
      https://github.com/llvm/llvm-project/commit/e18c3ea024846a60c43e0066af3be953745cc34e
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/test/Analysis/BlockFrequencyInfo/irreducible.ll

  Log Message:
  -----------
  [test] Add irreducible CFGs with closed-form block frequencies (#213492)

The functions here have irreducible control flow, but none of them pins
down how mass is divided among the entries of an irreducible region.

Add four cases whose exact frequencies follow from the branch weights:

- equalrows: all blocks share one successor distribution; 5:3:2.
- selfloops: self edges of differing probability; ignoring them, each
block
  splits evenly between the other two; 8:5:5.
- unequalrows: symmetric non-header successors, differing header row;
8:3:3.
- nonentry: a member of the region that is not an entry, so its mass is
never
  adjusted; 6:4:3.

BFI computes the first two exactly and the last two not. #213488 will
show up as a diff.


  Commit: ffc32ca95939e131c87072fdbfb36e08e0a495cc
      https://github.com/llvm/llvm-project/commit/ffc32ca95939e131c87072fdbfb36e08e0a495cc
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Transforms/InstCombine/atomic.ll

  Log Message:
  -----------
  [InstCombine] Don't change the type of elementwise atomic loads (#213414)

Skip load type canonicalization for elementwise atomic loads, which
would
otherwise drop the vector type and produce an invalid scalar elementwise
load.

Reference: https://github.com/llvm/llvm-project/pull/204556


  Commit: e1d649a644a5a18585aa7324fb35e7792314eb4f
      https://github.com/llvm/llvm-project/commit/e1d649a644a5a18585aa7324fb35e7792314eb4f
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
    A llvm/test/Transforms/LowerAtomic/atomic-load-store-elementwise.ll

  Log Message:
  -----------
  [LowerAtomic] Clear elementwise flag when lowering atomic load (#213401)

The lower atomic pass demotes atomic loads to non atomic by
calling setAtomic(NotAtomic), but left the elementwise flag untouched.
Since elementwise is only valid on atomic operations, this produced a
non-atomic elementwise load, which the verifier rejects with "non-atomic
load cannot be elementwise".

Reference: https://github.com/llvm/llvm-project/pull/204556


  Commit: 6c838170ac5d612902dcf9858aed2f26a7fbd8e2
      https://github.com/llvm/llvm-project/commit/6c838170ac5d612902dcf9858aed2f26a7fbd8e2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/ne-tightening.ll
    M llvm/test/Transforms/ConstraintElimination/srem.ll

  Log Message:
  -----------
  [ConstraintElim] Add facts for SREM. (#213453)

Add facts for SRem, if operands are known to be non-negative.

Add signed bounds for `srem x, n`:

  * `x s>= 0`  =>  result s>= 0  and  result s<= x
  * `n s>  0`  =>  result s<=  n

Alive2 Proofs: https://alive2.llvm.org/ce/z/e-zoAP

Compile-time is in the noise

https://llvm-compile-time-tracker.com/compare.php?from=60f965b1f62c0c77bcdb2997ea9bb6603aa0d002&to=ebc652af5700d569884e27812d33735d604990a1&stat=instructions:u

InstCombine already has a similar fold, but with more limited reasoning.
It does not trigger any changes on
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/841

It simplifies a few times on other C/C++ workloads, including ffmpeg and
OpenColorIO.

Extracted end-to-end examples simplified with the change:
https://clang.godbolt.org/z/1co6rvjKs

This is part of an effort to improve ConstraintElimination support for
IR generated by the Swift compiler, where such patterns are more common
due to a number of signed runtime checks.

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


  Commit: 45e4b0e9b41c3ea685349462ac6c6f831de0c3a1
      https://github.com/llvm/llvm-project/commit/45e4b0e9b41c3ea685349462ac6c6f831de0c3a1
  Author: David Green <david.green at arm.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/ret-vec-promote.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/vec-param.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.v2i65.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.v2i65.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Update extended scalar type to integer. (#213457)

This updates a number of scalar types in CallLowering to use integer.


  Commit: a3da10236c52f4cf05936790a7ebc6e8f12b34ba
      https://github.com/llvm/llvm-project/commit/a3da10236c52f4cf05936790a7ebc6e8f12b34ba
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/caches/gpu.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/lib/CMakeLists.txt
    M libc/startup/gpu/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libc] Use llvm-link approach to create libc bitcode library for GPU targets (#210662)


  Commit: 012e06b43f7345492b9f5792a74c56c04663ae7d
      https://github.com/llvm/llvm-project/commit/012e06b43f7345492b9f5792a74c56c04663ae7d
  Author: David Green <david.green at arm.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets-insertpt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets-target-features.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fold-global-offsets.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/icmp-flags.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/non-pow-2-extload-combine.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and-postlegalize.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-overlapping-and.mir
    M llvm/test/CodeGen/AArch64/extractvector-of-load.mir
    M llvm/test/CodeGen/AArch64/extractvector-oob-load.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update a number of combiner tests to concrete types. NFC (#213522)


  Commit: e096d2f60dbc6cab991d5c02a5f7125a6dc694dc
      https://github.com/llvm/llvm-project/commit/e096d2f60dbc6cab991d5c02a5f7125a6dc694dc
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M lld/COFF/Chunks.h
    M lld/COFF/Driver.cpp
    A lld/test/COFF/arm64x-tls.s

  Log Message:
  -----------
  [LLD][COFF] Replace ARM64EC TLS directory chunks with native chunks when available (#212845)

On ARM64X targets, CRT provides separate TLS directory chunks, expecting
the linker to sort it out. TLS directory uses _tls_start and _tls_end
symbols to reference .tls section. Those symbols use section sorting to
ensure that they are emitted at the start and end of .tls section, but that's
not enough when we have two separate chunks for views: only one of them
can really be the first one. Following MSVC, merge those chunks instead so
that both symbol tables point to the same chunk.

Additionally apply the same logic to _tls_used and _tls_index. This
allows entire TLS directory to be shared between EC and native views. To
achieve that, CRT additionally needs to mark each TLS callback with
-arm64xsameaddress. This matches how MSVC linker and libraries work, but
it requires EC and native views to use the same set of TLS callbacks. We
may emit separate TLS directories in the future to make it more robust.


  Commit: 4e924a6276ef015e1482b68371bb8229368fe5f7
      https://github.com/llvm/llvm-project/commit/4e924a6276ef015e1482b68371bb8229368fe5f7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp

  Log Message:
  -----------
  [lldb] std::move unique_ptrs, rather than calling .release. (#213525)

These .release() calls are legacy from the std::auto_ptr to
std::unique_ptr transition.


  Commit: b1e21e2e31541b02ea15719d6b7eec6bbb5508c1
      https://github.com/llvm/llvm-project/commit/b1e21e2e31541b02ea15719d6b7eec6bbb5508c1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr.ll

  Log Message:
  -----------
  [VPlan] Handle step where sign cannot be determined optimizeFindIVRed. (#213450)

optimizeFindIVReductions uses the step to determine if min or max is
needed. Bail out if the direction of the step cannot be determined via
SCEV.

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


  Commit: 29a956e40a1f617887ecfeb02ae844102c4a5a48
      https://github.com/llvm/llvm-project/commit/29a956e40a1f617887ecfeb02ae844102c4a5a48
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-08-02 (Sun, 02 Aug 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
    A clang/test/Driver/openmp-target-atomic-reduction-flag.c
    A clang/test/OpenMP/target_teams_atomic_reduction_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M offload/test/offloading/multiple_reductions.cpp
    A offload/test/offloading/xteam_atomic_reduction_usm.cpp
    M openmp/device/include/Interface.h
    M openmp/device/src/Kernel.cpp

  Log Message:
  -----------
  [offload][OpenMP] Add atomic cross-team reductions (#209298)

Regular cross-team reductions have two phases: the intra-team reduction
and the inter-team reduction. Atomic cross-team reductions replace the
second phase with a atomic instruction which is used by the main thread
of each team to directly fold the result of the intra-team reduction
into the final result. Since this requires a combination of "data type"
and "combine operation" for which an atomic instruction is available,
only some (but very common) reductions can be transformed to atomic
reductions. In cases where multiple reductions are performed on the same
construct, the atomic path is only taken if all reductions can be
transformed. Otherwise, we fall back to the regular cross-team reduction
using a buffer with per-team slots. This is not strictly necessary, but
hybrid reductions would induce more complexity with questionable
benefit.

Selecting an atomic path might not be the best option for every
situation, which is why it is not enabled by default. Instead, it can be
enabled via `-fopenmp-target-atomic-reduction`. Note that enabling the
atomic path will not *force* atomic reductions. They will only be
applied if possible, as described above.

The performance (measured with https://github.com/ro-i/xteam-test @
c71339705091500f731e2a39f247d2660bacbdce, array size 177,777,777) is up
to +15% faster (aka, more throughput) for supported reductions on a
gfx942, with no noticeable regressions.
Example:
- sum reduction, type double: +10.22% faster
- sum reduction, type uint: +15.57% faster
- sum reduction, type ulong: +13.31% faster

On a gfx90a, there is little to negative benefit:
- sum reduction, type double: -4.32% faster (aka, slower)
- sum reduction, type uint: +3.08% faster
- sum reduction, type ulong: +1.68% faster

Claude assisted with this patch.


  Commit: 4695d911c68df381d3a1b088570bca8bc0c6bf23
      https://github.com/llvm/llvm-project/commit/4695d911c68df381d3a1b088570bca8bc0c6bf23
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
    M llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h

  Log Message:
  -----------
  [ORC] Generalize RTBridge Callers to any runtime function (#213526)

An RTBridge Caller is a controller-side handle for calling a function in
the runtime. Until now the abstraction assumed every such function was a
trampoline -- a runtime function whose job is to invoke *another*
function at an address the controller supplies (run-as-main, run-as-int,
etc.) -- so every Caller carried a dedicated ExecutorAddr parameter for
that target.

Generalize Callers to call runtime functions of any shape. Invoking a
supplied target is now just one kind of call, with the target address an
ordinary leading argument rather than a built-in parameter: e.g.
MainCaller becomes Caller<int64_t(ExecutorAddr, ArrayRef<std::string>)>.

The SPS signatures already led with an SPSExecutorAddr for the target,
so this is a pure interface change -- the SPS wrappers and all call
sites are unaffected. It lets Callers model runtime functions that do
the work themselves, such as the memory-access wrappers, rather than
only those that dispatch to another function.


  Commit: 9a19c7750f949c979372ba1d2eec8a7a40061aef
      https://github.com/llvm/llvm-project/commit/9a19c7750f949c979372ba1d2eec8a7a40061aef
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    A clang/test/Driver/Inputs/install_tree_with_libcxx/bin/.keep
    A clang/test/Driver/Inputs/install_tree_with_libcxx/include/c++/v1/.keep
    A clang/test/Driver/Inputs/install_tree_with_libcxx/lib/.keep
    M clang/test/Driver/netbsd.cpp

  Log Message:
  -----------
  [clang][Driver] Fix libc++ include path on NetBSD (#212716)

`clang++` defaults to `-stdlib=libc++` on NetBSD. When building with
both `clang` and `libcxx` included, the freshly built `clang++` fails to
find `<__config_site>`:

```
In file included from /usr/include/strings.h:68:
In file included from bin/../include/c++/v1/string.h:57:
bin/../include/c++/v1/__config:13:10: fatal
error: '__config_site' file not found
   13 | #include <__config_site>
      |          ^~~~~~~~~~~~~~~
```

The file is present in `include/<triplet>/c++/v1`, but that isn't
searched by default. NetBSD has its own version of addLibCxxIncludePaths
which misses that directory.

This patch removes `NetBSD::addLibCxxIncludePaths` in favour of the
generic version in `Gnu.cpp`. The current code also adds
`/usr/include/c++`, although this directory only contains empty
directories in a default installation. It is only used when a bundled
version of LLVM is installed, which is not usually the case, and even
then contains a static version of `__config_site` that only applies to
`libcxxrt`.

Tested on `amd64-pc-netbsd10.1`, `x86_64-pc-solaris2.11`,
`x86_64-pc-linux-gnu`, and `x86_64-pc-freebsd15.1`.


  Commit: eee7c2d224d810f7da1b4a6fa462e5c14ef02365
      https://github.com/llvm/llvm-project/commit/eee7c2d224d810f7da1b4a6fa462e5c14ef02365
  Author: mkovacevic99 <mkovacevic at baylibre.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/docs/ORCv2.md
    A llvm/include/llvm/ExecutionEngine/Orc/COFFAutoImportGenerator.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/COFFAutoImportGenerator.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/COFFAutoImportGeneratorTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn

  Log Message:
  -----------
  [ORC] Add AutoImportGenerator for COFF dllimport auto-import (#203914)

On Windows/COFF, a dllimport call is emitted as an indirect call through
an `__imp_` IAT slot (`callq *__imp_bar(%rip)`), and even a direct call
to a library function is expected to bind to a thunk supplied by an
import library. Today a JIT client must produce those import libraries
themselves. `AutoImportGenerator` synthesizes them on demand instead.

Bound to a single dynamic library via `AutoImportGenerator::Load(ES,
ObjLinkingLayer, "/path/to/lib.dll")`.
For each referenced export `X`, lazily synthesizes an `__imp_X` pointer
slot holding `X`'s address in the library plus an `X` thunk that jumps
through it, so both `__imp_`-mediated and direct references resolve.


The library's export table is the authority: a name the library does not
export is left unresolved, so the link fails exactly as a static link
against the corresponding import library would (no silent invention of
symbols).
All synthesized stubs are owned by a single `ResourceTracker`
(`getImportStubsResourceTracker()`), so a client can reclaim every
synthesized slot/thunk in one step; subsequent imports start a fresh
tracker.

Relationship to `DLLImportDefinitionGenerator`: that generator resolves
the underlying symbol through the JITDylib's link order.
`AutoImportGenerator` is bound to one specific library and treats its
export table as authoritative, giving fail-as-static-linker semantics.

x86_64 and in-process execution only. - "Easy mode": every import is
assumed to be a function; code and data are not distinguished, so data
imports are unsupported (clients with data imports must supply an import
library or use `__declspec(dllimport)`). `&X` resolves to the
synthesized thunk, not the implementation in the target library.
`llvm-jitlink -auto-import=<lib>` flag to attach the generator
(in-process; errors if combined with out-of-process execution).
Documentation in `llvm/docs/ORCv2.rst`.

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 3 ("Easy mode" generator)


  Commit: 2a4acc46ea711175ef5cfe6ea5a795f62221084a
      https://github.com/llvm/llvm-project/commit/2a4acc46ea711175ef5cfe6ea5a795f62221084a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Add extra test for alt opcodes vectorization with copyables, NFC



Reviewers: 

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


  Commit: 036af906f355771a5c2b3bb51a88d995c6010219
      https://github.com/llvm/llvm-project/commit/036af906f355771a5c2b3bb51a88d995c6010219
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    A llvm/test/CodeGen/Hexagon/dont-predicate-debug.mir

  Log Message:
  -----------
  [Hexagon] Avoid predicating debug instructions (#212917)

The change is made in HexagonExpandCondsets::(predicate) function. The
debug instructions are not predicable as they cannot be separated into
conditional branches. So while predicating instructions in a machine
basic block if we encounter any debug instructions we need to skip these
instructions and continue with other instructions.

The scan that collects the registers defined and used between the
definition of the source register and the conditional transfer bailed
out as soon as it saw a non-virtual register operand, which a DBG_VALUE
can have. The transfer was then left as an unconditional A2_asrh plus an
A2_tfrf instead of being folded into a single predicated A4_pasrhf, so
again the generated code differed depending on whether debug info was
enabled.

Co-authored-by: Chandana Sinderikeri <csinderi at qti.qualcomm.com>


  Commit: 7ed5bbedff3fa9dae894c2d939c7936f7a51a91f
      https://github.com/llvm/llvm-project/commit/7ed5bbedff3fa9dae894c2d939c7936f7a51a91f
  Author: OHNope <64253805+OHNope at users.noreply.github.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    R clang/test/SemaOpenMP/gh197162.c
    A clang/test/SemaOpenMP/invalid-clause-on-directive.c

  Log Message:
  -----------
  [Clang][OpenMP] Skip Sema actions for invalid assumption clauses (#212822)

Do not call the Sema actions for absent, contains, and nullary assumption
clauses after the parser has diagnosed that the clause is not allowed on the
current directive.

Add assertions documenting that these Sema actions must only receive clauses
allowed on the current directive, and add tests covering all affected clause
kinds.

Fixes #212780.


  Commit: e4693c0579ed0f3df45a06b918d448795b738a58
      https://github.com/llvm/llvm-project/commit/e4693c0579ed0f3df45a06b918d448795b738a58
  Author: lntue <lntue at google.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LibcConfig.cmake
    M libc/config/config.json
    M libc/config/linux/config.json
    M libc/src/__support/common.h
    M libc/src/stdio/generic/fscanf.cpp
    M libc/src/stdio/generic/scanf.cpp
    M libc/src/stdio/generic/vfscanf.cpp
    M libc/src/stdio/generic/vscanf.cpp
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/vsscanf.cpp

  Log Message:
  -----------
  [libc] Add __isoc99_fscanf alias. (#213125)

- Add LLVM_LIBC_ADD_FUNCTION_C_ALIAS macro to add another C alias public
symbol to a function.
- Add LIBC_CONF_SCANF_PROVIDE_ISOC99_ALIASES config
- Add __isoc99_fscanf for generic fscanf target if
LIBC_CONF_SCANF_PROVIDE_ISOC99_ALIASES is set.
- Similarly: scanf, vfscanf, vscanf.


  Commit: def770df8325fb60107c24a2de3068aa762754ab
      https://github.com/llvm/llvm-project/commit/def770df8325fb60107c24a2de3068aa762754ab
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M lldb/bindings/interface/SBUnixSignalsExtensions.i
    M lldb/test/API/python_api/signals/TestSignalsAPI.py

  Log Message:
  -----------
  [lldb] Fix typo in SBUnixSignals.get_unix_signals_list (#213527)

Found when looking through the generated Python file. `sig` doesn't
exist in that context, it should be `idx`.


  Commit: 84046ac88f3104def05049a701535a79c19560bd
      https://github.com/llvm/llvm-project/commit/84046ac88f3104def05049a701535a79c19560bd
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

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

  Log Message:
  -----------
  [lldb][test] Recognize a Wasm trap as a crash (#213551)

is_thread_crashed maps how each platform reports the bad access the test
suite uses to simulate a crash, and had no case for Wasm, where there
are no signals and a bad access raises a trap that a runtime reports as
an exception. Without one it fell through to a description match that
never held, so a crashed thread read as running fine.


  Commit: 6be9888a7bb5995169e31ab03939f1ac03059b7a
      https://github.com/llvm/llvm-project/commit/6be9888a7bb5995169e31ab03939f1ac03059b7a
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M libcxx/include/variant

  Log Message:
  -----------
  Speed up std::visit() compile times by another 42% (#213203)

This avoids defining an `enum`, which appears to be expensive for Clang.


  Commit: e7dd336e0f7884c34108a1e722205a16c3f5307b
      https://github.com/llvm/llvm-project/commit/e7dd336e0f7884c34108a1e722205a16c3f5307b
  Author: Dan Salvato <dan at teamsalvato.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/M68k/M68kSubtarget.h
    M llvm/test/CodeGen/M68k/Atomics/rmw.ll
    M llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/rmw.ll

  Log Message:
  -----------
  [M68k] Prevent COPY instruction from killing live condition flags (#168485)


  Commit: 8bdbeac21eccd679489614e0326ab398425d47f1
      https://github.com/llvm/llvm-project/commit/8bdbeac21eccd679489614e0326ab398425d47f1
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang/lib/Optimizer/Builder/MIFCommon.cpp

  Log Message:
  -----------
  [flang] Remove unused includes in MIFCommon.cpp to fix GCC debug-build link errors (#213508)

An undefined symbol error when building Flang in debug mode. This PR fix
this by remove unused include file. Here is a brief error log:
`/usr/bin/ld:lib/libFIRBuilder.a(MIFCommon.cpp.o): in function
Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4,
1> >::~FunctionRef()':`.


  Commit: 42b86ce094883e2c95932b8d6775a92008c0df2e
      https://github.com/llvm/llvm-project/commit/42b86ce094883e2c95932b8d6775a92008c0df2e
  Author: Jessica Clarke <i at maskray.me>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  [NFC][ELF] Avoid need to copy Symbol in replaceWithDefined (#210612)

Firstly, by overwriting the symbol, it will have its existing flags, so
there is no need to copy them back; all we need to do is mask out the
other bits on the existing symbol.

Secondly, copying the whole symbol just to preserve the symbol version
that gets cleared by Defined::overwrite is a waste; just copy the single
member to reinstate it.


  Commit: db8d8fdd9831d2b8b2fdeb65498a41e7a8a7456c
      https://github.com/llvm/llvm-project/commit/db8d8fdd9831d2b8b2fdeb65498a41e7a8a7456c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/xor-as-sub.ll

  Log Message:
  -----------
  [ConstraintElim] Decompose xor %a, -1 as -1 - %a in the signed system. (#213476)

InstCombine canonicalizes sub nsw i8 -1, %a -> xor i8 %a, -1. Decompose
the XOR as `sub nsw -1, %a` in the signed system

Alive2 Proof: https://alive2.llvm.org/ce/z/f_YVjH

This triggers quite rarely in C/C++ workloads (no end-to-end changes in
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/840), found
one instance in Blender. One simple end-to-end C example is
https://clang.godbolt.org/z/G343shYje

This is part of an effort to improve ConstraintElimination support for
IR generated by the Swift compiler, where such patterns are more common
due to a number of signed runtime checks.

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


  Commit: 6849789a8fa1fc4a09f4f81dc655235e648eb15a
      https://github.com/llvm/llvm-project/commit/6849789a8fa1fc4a09f4f81dc655235e648eb15a
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/sink-fmul-fadd.ll
    A llvm/test/Transforms/CodeGenPrepare/AMDGPU/sink-fmul-fadd-contract-fast.ll
    A llvm/test/Transforms/CodeGenPrepare/AMDGPU/sink-fmul-fadd.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Add tests for an fmul split from its fadd/fsub user (#213303)

Record the current behaviour over the types and subtargets where the
fusion rules differ, f32, f16, bf16, f64, v2f32 and v2f16, with
denormals both enabled and flushed, with and without the contract flags,
and under -fp-contract=fast.

Contributes to https://github.com/llvm/llvm-project/issues/211092


  Commit: 8a5d56514740c37c3f9d0e43f3d3ee585ccd3c69
      https://github.com/llvm/llvm-project/commit/8a5d56514740c37c3f9d0e43f3d3ee585ccd3c69
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/test/tools/TargetParser/get-triple-system-name.test

  Log Message:
  -----------
  TargetParser: Fix test quoting lit substitution in run line (#213570)


  Commit: abe5aa5cb2336f32dca8e765710ec212a926476c
      https://github.com/llvm/llvm-project/commit/abe5aa5cb2336f32dca8e765710ec212a926476c
  Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    A llvm/test/Analysis/LoopAccessAnalysis/negative-step-deref-off-by-eltsize.ll

  Log Message:
  -----------
  [LAA][NFC] Refactor deref no-wrap check; expose broken reverse-loop bounds (#211960)

Split evaluatePtrAddRecAtMaxBTCWillNotWrap into two stages: compute
MaxOffset based on the step direction, then apply the shared
MaxOffset <= DerefBytes check.

Rename intermediate values to reflect what they actually represent.

This restructuring makes two long-standing off-by-EltSize issues in
the negative-step path explicit:

* The lower-bound check is over-conservative by EltSize.
* The upper-bound check under-counts by EltSize.


  Commit: 7a618a2e7fd15d4fea352f2f5d7f67b07e0ccd24
      https://github.com/llvm/llvm-project/commit/7a618a2e7fd15d4fea352f2f5d7f67b07e0ccd24
  Author: Tanmay Gulhane <147071803+trg-rgb at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce-zve32x-crash.ll

  Log Message:
  -----------
  [RISCV] Fix assertion in combineBinOpOfExtractToReduceTree on type mismatch (#202201)

combineBinOpOfExtractToReduceTree asserts that the extract source
vector's element type equals the binop's value type
(SrcVecVT.getVectorElementType() == VT). This invariant does not hold
for all valid inputs.

A <1 x i1> binary operation under -mattr=+zve32x reaches this point with
the source vector element type differing from VT, which trips the
assertion in an assertions-enabled build and silently proceeds on a
false assumption otherwise.

Convert the assertion into an early return, so the combine declines when
its precondition is not met. This matches the existing bail-out style in
the same function (the isScalableVector and getScalarSizeInBits() >
getELen() checks immediately following). The change only ever skips the
fold; it never alters correct output.

Generative AI was used for the test case. The fix
is mine. Bug found by fuzzing with llvm-stress (seed 96) and reduced
with llvm-reduce.

Signed-off-by: Tanmay Gulhane <tanmaygulhane12 at gmail.com>


  Commit: 41322057c3af16d75e239ec6679c6c2bf7aec157
      https://github.com/llvm/llvm-project/commit/41322057c3af16d75e239ec6679c6c2bf7aec157
  Author: Zane Hambly <zanehambly at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
    A llvm/test/MC/X86/symbolic-vcmp-predicate.s

  Log Message:
  -----------
  [X86] Don't shrink VEX3 to VEX2 on a symbolic compare predicate (#213172)

`llvm-mc` asserts on a VCMP predicate given as a symbol:

```asm
vcmpps $f0, %xmm0, %xmm1, %xmm2
```

```
Assertion failed: isImm() && "This is not an immediate", MCInst.h:85
```

`optimizeInstFromVEX3ToVEX2` reads the predicate with `getImm()` to
decide whether the operands commute. A symbolic predicate is not known
until link time, so that decision cannot be made here. Decline the
shrink instead.

Unlike the sibling FPCLASS issues (#185364, #185365) this one is on the
encoding path and asserts under `--filetype=obj` too, so a release build
would be making the commutation decision on whatever `getImm()` returns
for a non-immediate.

Literal predicates are unaffected and still commute to reach the
two-byte VEX prefix. The test covers both.

Fixes #185355


  Commit: 59f3a48ff016773a6093a27d77f27d71e8b4bff7
      https://github.com/llvm/llvm-project/commit/59f3a48ff016773a6093a27d77f27d71e8b4bff7
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [llvm][RISCV] Bump svukte to 1.0 (#211199)

The PR updated: https://github.com/riscv/riscv-isa-manual/pull/1564

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 24c1ce228a7ce7e8e8b444861e2782100ec2fe16
      https://github.com/llvm/llvm-project/commit/24c1ce228a7ce7e8e8b444861e2782100ec2fe16
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/unittests/ProfileData/SampleProfTest.cpp

  Log Message:
  -----------
  Reapply [ProfileData] Implement contains in SampleProfileNameTable (NFC) (#213408)

This patch implements contains(StringRef) and contains(uint64_t) in
SampleProfileNameTable and SampleProfileReader to serve symbol
membership queries directly from the reader -- "is this symbol in the
name table?".

Without this patch, users of the sample profile reader, namely
SampleProfileLoader::doInitialization and SampleProfileNameSet, each
construct their own StringSet<> containing all name table entries.
That is, we end up with two instances of StringSet<> with identical
contents.  Since these instances hold their own copies of symbol
strings on the heap, both the constructor and destructor take up a
large portion of compilation time.

This patch teaches SampleProfileReader::contains to directly serve
symbol membership queries.

- For EytzingerSampleProfileNameTable, contains performs binary search
  directly across the three concatenated Eytzinger table spans
  (CSKeys, FlatKeys, and Inlinees) in a cache-friendly manner.

- Other representations of the name table lazily construct an internal
  DenseSet on demand.

This patch updates existing customers to call Reader->contains.

This patch fixes a build issue on 32-bit ARM.

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

Assisted-by: Antigravity


  Commit: 43e41e96292608c016bcccea0b74a9339a2e67d3
      https://github.com/llvm/llvm-project/commit/43e41e96292608c016bcccea0b74a9339a2e67d3
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.md

  Log Message:
  -----------
  [clang-tidy][docs] Replace invisible characters in unchecked-statusor-access. NFC. (#213562)


  Commit: 99c39646d798f297af9005fea87b13d20e09d3dc
      https://github.com/llvm/llvm-project/commit/99c39646d798f297af9005fea87b13d20e09d3dc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A clang/test/SemaOpenCL/builtins-extended-image-err.cl
    R clang/test/SemaOpenCL/builtins-extended-image-param-gfx942-err.cl
    A clang/test/SemaOpenCL/builtins-image-load-image-feature-err.cl
    R clang/test/SemaOpenCL/builtins-image-load-param-gfx942-err.cl
    A clang/test/SemaOpenCL/builtins-image-store-image-feature-err.cl
    R clang/test/SemaOpenCL/builtins-image-store-param-gfx942-err.cl

  Log Message:
  -----------
  clang/AMDGPU: Fix confused image builtin availability tests (#213567)

These tests appear to have been copy paste from other image error
tests, which were checking for invalid argument validation. The point
of these tests were to reject image builtins on unsupported targets,
and not just gfx942. Rename the tests, and fix the invalid argument
usage. Each builtin should be used in a valid way.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 4148d0b61dfe9f5fa1fd5c7cde9c34d4ea92cb8b
      https://github.com/llvm/llvm-project/commit/4148d0b61dfe9f5fa1fd5c7cde9c34d4ea92cb8b
  Author: ejose02 <ejose at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    A flang/test/Semantics/bindings08.f90

  Log Message:
  -----------
  [flang] Reject type bound procedure overrides with mismatched passed-object dummy names (#210876)

Fixes #206913

Issue:
Flang wrongly accepts a type-bound procedure override when the
implementing procedure uses a different dummy name than the parent
deferred interface.

Root cause:
The PASS override check uses CanOverride, which compares dummy types but
not dummy names for the passed-object argument.

Fix:
Check that dummy names match before CanOverride and report a clear error


  Commit: 4b6a8d81da1a9eb1cee48c318b156ef2f2645c94
      https://github.com/llvm/llvm-project/commit/4b6a8d81da1a9eb1cee48c318b156ef2f2645c94
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-cov5.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-failure.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

  Log Message:
  -----------
  AMDGPU: Migrate most llvm-objdump tests to use subarch triple (#213589)


  Commit: 04ea62bc5e2c5596866de7ee6a9c3a8b6aa54d35
      https://github.com/llvm/llvm-project/commit/04ea62bc5e2c5596866de7ee6a9c3a8b6aa54d35
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-simplify-image-buffer-stores.ll

  Log Message:
  -----------
  [AMDGPU] Fix miscompile trimming sparse DMask on image stores (#213586)

Dropping a channel from a sparse DMask removes that write entirely

It does not zero-fill like a contiguous trim does

Only simplify stores when DMask is a contiguous prefix


  Commit: 4f607e3cd911ccc3d1aab73129aacea97d864663
      https://github.com/llvm/llvm-project/commit/4f607e3cd911ccc3d1aab73129aacea97d864663
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/arbitrary-fp-from-float-fp8-f16-hw.ll
    M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
    M llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
    M llvm/test/Instrumentation/Instrumentor/load_store_gpu_ind.ll
    M llvm/test/MC/ELF/AMDGPU/cfi.s
    M llvm/test/MC/ELF/cfi-register-pair.s
    M llvm/test/MC/ELF/cfi-vector-offset.s
    M llvm/test/MC/ELF/cfi-vector-registers.s
    M llvm/test/Other/amdgpu-pass-pipeline-parsing.ll

  Log Message:
  -----------
  AMDGPU: Migrate misc. tests to subarch triples (#213593)


  Commit: 278b9af90c6fd32776ad3f4f4b5eab87f52587e2
      https://github.com/llvm/llvm-project/commit/278b9af90c6fd32776ad3f4f4b5eab87f52587e2
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
    M llvm/test/MC/RISCV/rv32c-invalid.s
    M llvm/test/MC/RISCV/rv32zclsd-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
    M llvm/test/MC/RISCV/rvzicbop-invalid.s
    M llvm/test/MC/RISCV/tlsdesc.s
    M llvm/test/MC/RISCV/xqciio-invalid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    M llvm/test/MC/RISCV/xqcilsm-invalid.s
    A llvm/test/TableGen/AsmMatcherTokens.td
    M llvm/test/TableGen/RegClassByHwMode.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [RISCV][MC] Emit Better Token Diagnostics (#209700)

This implements an old FIXME in the AsmMatcherEmitter, which can now
emit a token-specific match error diagnostic id, and potentially a
token-specific error message to go along with the diagnostic id.

For RISC-V, the overall effect is to have fewer "invalid operand for
instruction" diagnostics and have more "expected '<TOKEN>'" diagnostics,
which, with multiple near miss support, gives the user the location that
token was expected (but not found).

The rejig to the order of checks in `validateOperandClass` do not
prevent backends from having custom operand kinds which can accept
tokens, as was available before.

The TableGen parts have been implemented in an opt-in way.

---

This was implemented with the assistance of AI.


  Commit: 187c39ba03cfed96c8aab9d0c951d0bea6f27b82
      https://github.com/llvm/llvm-project/commit/187c39ba03cfed96c8aab9d0c951d0bea6f27b82
  Author: Abhinav Gaba <abhinav.gaba at intel.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M offload/test/mapping/mapper_map_always_from.c
    M offload/test/mapping/mapper_map_always_to_enter_data.c
    M offload/test/mapping/mapper_map_ptee_only_2_ptr_indirections.c
    M offload/test/mapping/mapper_map_ptee_only_always_array.c
    M offload/test/offloading/fortran/mapper-map-always-to-enter-data.f90

  Log Message:
  -----------
  [OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries (#210210)

Per OpenMP, when a map/motion clause uses a mapper, any
map-type-modifying modifier on that clause applies to each map the
declared mapper specifies.

This change propagates the `ALWAYS`, `DELETE`, and `CLOSE` bits from the
outer clause's map type into every entry emitted by
emitUserDefinedMapper, except `ATTACH` entries (`ATTACH`|`ALWAYS` is
reserved for `attach(always)`, and the other bits have no meaning for an
`ATTACH` entry).

`PRESENT` is intentionally NOT propagated here: it requires
distinguishing pointee entries from the struct's own storage and is
handled in a follow-up.

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


  Commit: e2c8f57f00971712c1732b137a9afc539e38ff37
      https://github.com/llvm/llvm-project/commit/e2c8f57f00971712c1732b137a9afc539e38ff37
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
    M llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
    A llvm/test/Transforms/OpenMP/spmd_parallel_wrapper_removal.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_assumes.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll

  Log Message:
  -----------
  [OpenMPOpt] Null generic-mode wrappers for SPMDized kernels (#207611)

If a kernel gets SPMDized, it doesn't need the wrapper function that is
passed to __kmpc_parallel_60. Keeping the dead wrapper function can lead
to lots of misleading "local memory global used by non-kernel function"
AMDGPU backend warnings.
Let OpenMPOpt null the wrapper argument such that DCE can then remove
the corresponding dead functions.

Claude assisted with this patch.


  Commit: 7f161cde5751ab5ab38a5e52119f9fe867844758
      https://github.com/llvm/llvm-project/commit/7f161cde5751ab5ab38a5e52119f9fe867844758
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/namelist.h
    M flang-rt/lib/runtime/namelist.cpp
    M flang-rt/unittests/Runtime/Namelist.cpp
    M flang/docs/Extensions.md

  Log Message:
  -----------
  [flang-rt] enable IsNamelistNameOrSlash lookahead for scalar namelist items (#211224)

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

Problem
-------
An empty NAMELIST assignment on a scalar item — e.g. `l =` in

    &nml l= i_count=7 r_value=2.72/

— aborted at runtime with

fatal Fortran runtime error: Bad character 'i' in LOGICAL input field

Every EditIntegerInput / EditRealInput / EditLogicalInput /
EditCharacterInput function starts its list-directed arm with

    if (IsNamelistNameOrSlash(io)) return false;   // no value

which peeks ahead (via SavedPosition, no stream consumption) for a
`<name>=` / `<name>%` / `<name>(` shape or one of the terminators `/`
`&` `$`, letting the reader bail cleanly for empty values and
short-array ends. That helper's first line is

    if (!listInput || !listInput->namelistGroup()) return false;

InputNamelist however called ResetForNextNamelistItem with
`useDescriptor->rank() > 0 ? &group : nullptr`, so `namelistGroup_`
stayed null for scalars. The peek was silently disabled and the value
reader consumed the next namelist item's name as a bare token, producing
the abort above. Legacy nvfortran / gfortran accept empty scalar
assignments as "keep current value".

Solution
--------
Pass `&group` unconditionally to `ResetForNextNamelistItem`. Today
`IsNamelistNameOrSlash` uses `namelistGroup_` only as a boolean gate
(never as a lookup table), so widening it is a no-op for arrays and
enables the same empty-value / next-name detection for scalars.
NamelistTests.NanInputAmbiguity (which motivated the original pointer
form) still passes; three new tests cover the empty-scalar case, the
empty-array case, and an empty scalar surrounded by arrays.

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


  Commit: f7213d839614c3103f4be28a1459e7f12c44dc77
      https://github.com/llvm/llvm-project/commit/f7213d839614c3103f4be28a1459e7f12c44dc77
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/MemorySSA.h

  Log Message:
  -----------
  [MemorySSA] Clarify `getClobberingMemoryAccess(MA, Loc)` overload does not accept MemoryUse (NFC) (#212512)

Outdated comment has been updated to match the implementation, which
asserts on MemoryUse.


  Commit: f901de33ab614a7f13caa66ed966d3cd6bcb6eab
      https://github.com/llvm/llvm-project/commit/f901de33ab614a7f13caa66ed966d3cd6bcb6eab
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp

  Log Message:
  -----------
  [GVNHoist] Use MemorySSA, drop MemoryDependenceAnalysis (NFCI) (#212773)

Finalize MemorySSA usage in GVNHoist, while transitioning away from
MemoryDependenceAnalysis.


  Commit: 738029a68bd265cb4e65e03f63d84c027692adaa
      https://github.com/llvm/llvm-project/commit/738029a68bd265cb4e65e03f63d84c027692adaa
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/test/CodeGenCXX/pragma-followup_inner.cpp
    M clang/test/CodeGenCXX/pragma-followup_outer.cpp
    M clang/test/CodeGenCXX/pragma-loop-pr27643.cpp
    M clang/test/CodeGenCXX/pragma-loop-predicate.cpp
    M clang/test/CodeGenCXX/pragma-loop-safety.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M clang/test/OpenMP/for_simd_codegen.cpp
    M clang/test/OpenMP/for_simd_scan_codegen.cpp
    M clang/test/OpenMP/irbuilder_safelen.cpp
    M clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp
    M clang/test/OpenMP/irbuilder_simd.cpp
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    M clang/test/OpenMP/irbuilder_simdlen.cpp
    M clang/test/OpenMP/irbuilder_simdlen_safelen.cpp
    M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_scan_codegen.cpp
    M clang/test/OpenMP/simd_codegen.cpp
    M clang/test/OpenMP/simd_metadata.c
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration_naming.cpp
    M clang/test/OpenMP/taskloop_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/PCH/delayed-template-with-pragma.cpp
    M clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.cpp
    M flang/test/Integration/ivdep.f90
    M flang/test/Integration/vector-always.f90
    M llvm/docs/LangRef.md
    M llvm/docs/TransformMetadata.rst
    M llvm/include/llvm/IR/AutoUpgrade.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Bitcode/upgrade-loop-metadata.ll
    A llvm/test/Bitcode/upgrade-loop-vectorize-enable.ll
    A llvm/test/Bitcode/upgrade-loop-vectorize-enable.ll.bc
    M llvm/test/Transforms/IRCE/add-metadata-pre-post-loops.ll
    M llvm/test/Transforms/IRCE/correct-loop-info.ll
    M llvm/test/Transforms/IRCE/loop-guarded-bounds.ll
    M llvm/test/Transforms/IRCE/pre_post_loops.ll
    M llvm/test/Transforms/IRCE/range_intersect_miscompile.ll
    M llvm/test/Transforms/IRCE/unsigned_comparisons_ugt.ll
    M llvm/test/Transforms/IRCE/unsigned_comparisons_ult.ll
    M llvm/test/Transforms/Inline/dilocation-loop-metadata-update.ll
    M llvm/test/Transforms/InstCombine/mem-par-metadata-memcpy.ll
    M llvm/test/Transforms/LoopIdiom/AArch64/disable-vectorize.ll
    M llvm/test/Transforms/LoopRotate/vect.omp.persistence.ll
    M llvm/test/Transforms/LoopTransformWarning/enable_and_isvectorized.ll
    M llvm/test/Transforms/LoopTransformWarning/optnone.ll
    M llvm/test/Transforms/LoopTransformWarning/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopTransformWarning/vectorizer-loop-kind-unroll-warning.ll
    M llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll
    M llvm/test/Transforms/LoopUnroll/vectorizer-loop-kind-remarks.ll
    M llvm/test/Transforms/LoopVectorize/2016-07-27-loop-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-predicate-instruction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions-tf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-basic-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-extract-last-veclane.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-type-conv.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/unsafe-vf-hint-remark.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-native-outer-loop-wide-type.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
    M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-loop-hint.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dbg-tail-folding-by-evl.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/Sparc/no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/VE/disable_lv.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-stress-test-no-explict-vf.ll
    M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    M llvm/test/Transforms/LoopVectorize/X86/conditional-scalar-assignment.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-VF2-VF8.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls-finite.ll
    M llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls.ll
    M llvm/test/Transforms/LoopVectorize/X86/no_fpmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/no_fpmath_with_hotness.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer-loop-non-power-of-2-type.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/redundant-vf2-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs-max-bandwidth.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_folding_and_assume_safety.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/diag-disabled-vectorization-msgs.ll
    M llvm/test/Transforms/LoopVectorize/disable_nonforced_enable.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_detection.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_nonuniform_inner.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_uniform_diverg_branch.ll
    M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
    M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/no_array_bounds.ll
    M llvm/test/Transforms/LoopVectorize/no_array_bounds_scalable.ll
    M llvm/test/Transforms/LoopVectorize/no_switch.ll
    M llvm/test/Transforms/LoopVectorize/no_switch_disable_vectorization.ll
    M llvm/test/Transforms/LoopVectorize/noalias-scope-decl-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/non-widenable-intrinsics-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-atomic.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/remove_metadata.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-threshold-with-force-metadata.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/unsafe-vf-hint-remark.ll
    M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
    M llvm/test/Transforms/LoopVectorize/vect.omp.persistence.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-predicated-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/vplan-outer-loop-uncomputable-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorize-metadata.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/SROA/mem-par-metadata-sroa.ll
    M llvm/test/Transforms/SimplifyCFG/X86/combine-parallel-mem-md.ll
    M llvm/test/Verifier/llvm.loop-cu-strip-followup.ll
    A llvm/test/Verifier/llvm.loop.vectorize.ll
    M mlir/lib/Target/LLVMIR/LoopAnnotationImporter.cpp
    M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/loop-metadata.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-do-simd.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-ordered.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-reduction-simple.mlir
    M mlir/test/Target/LLVMIR/openmp-teams-distribute-parallel-do-simd.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-simd-ordered.mlir
    M polly/lib/CodeGen/CodeGeneration.cpp
    M polly/lib/CodeGen/IRBuilder.cpp
    M polly/test/CodeGen/MemAccess/create_arrays.ll
    M polly/test/CodeGen/Metadata/basic_vec_annotate.ll
    M polly/test/CodeGen/Metadata/fallback_vec_annotate.ll
    M polly/test/CodeGen/Metadata/skip_vec_annotate_fp_dist1.ll
    M polly/test/CodeGen/annotated_alias_scopes.ll
    M polly/test/CodeGen/scev-backedgetaken.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll

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

This patch implements Phase 2 of the RFC "Enforce Single-Operand Format
for All .enable Metadata Nodes". Please refer to RFC:

https://discourse.llvm.org/t/rfc-enforce-single-operand-format-for-all-enable-metadata-nodes/90571/

The two-operand boolean form !{!"llvm.loop.vectorize.enable", i1 0/1} is
replaced by a single-operand enable/disable pair:

  !{!"llvm.loop.vectorize.enable"}    ; force vectorization
  !{!"llvm.loop.vectorize.disable"}   ; suppress vectorization

The Verifier rejects the two-operand form, AutoUpgrade rewrites old
bitcode (including the legacy llvm.vectorizer.enable tag), and the
readers and producers across LLVM, Clang, MLIR and Polly are updated.


  Commit: a7cc9516751d6c5afe35da0628083879cb52f1c0
      https://github.com/llvm/llvm-project/commit/a7cc9516751d6c5afe35da0628083879cb52f1c0
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-calc-occupancy.rst

  Log Message:
  -----------
  [llvm-calc-occupancy] Fix title underline length (#213599)

Fix error: invalid header length in
'CommandGuide/llvm-calc-occupancy.rst' (does not match length of title)
in our downstream Sphinx doc build.


  Commit: 748828c3dbeae182d50de46b8fb7cb9c1076aaa0
      https://github.com/llvm/llvm-project/commit/748828c3dbeae182d50de46b8fb7cb9c1076aaa0
  Author: dmaclach <dmaclach at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/include/clang/AST/DeclObjC.h
    M clang/lib/AST/DeclObjC.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/unittests/AST/DeclTest.cpp

  Log Message:
  -----------
  [clang][ast][objc] Implement getNameForDiagnostic for ObjC{Method,Property}Decl (#213030)

This overrides `getNameForDiagnostic` to provide a qualified name
representation for Objective-C methods and properties in diagnostics.
When qualified is true, it formats them using the standard Objective-C
syntax, such as `-[Class selector]` or `+[Class property]`. Previously
these would be `Class::selector` or `Class::property`. If qualified is
false, it falls back to printName.

Note that I avoided modifying `NamedDecl::getQualifiedNameAsString()` or
`printQualifiedName()` which will continue to (unfortunately) return
`Class::method`, but this is intentional to attempt to avoid any
breakage downstream due to output changing.


  Commit: 3be1dff0910dc71df932380c9091a10a54ca9fe0
      https://github.com/llvm/llvm-project/commit/3be1dff0910dc71df932380c9091a10a54ca9fe0
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py

  Log Message:
  -----------
  [lldb] Skip flaky test_circular_dependency_evaluate_expression_in_get_frame (#213610)

This provider's identity-forwarding pattern intermittently hits a known
frame-identity-aliasing bug in ScriptedFrameProvider::GetFrameAtIndex,
tracked in https://github.com/llvm/llvm-project/pull/208992.


  Commit: 7dae1728fbedee21bd206b7639600b268c0f1a76
      https://github.com/llvm/llvm-project/commit/7dae1728fbedee21bd206b7639600b268c0f1a76
  Author: dsiroky <siroky at dasir.cz>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp

  Log Message:
  -----------
  [clang-tidy] ignore uninitialized std::array in member init (#98134)

cppcoreguidelines-pro-type-member-init check has an option IgnoreArrays
for ignoring uninitialized C arrays. This patch adds support for C++
std::array as well.

Co-authored-by: David Siroky <david at siroky.cz>


  Commit: 00312bb11db4b0d267309e031e3059e504a7f0bd
      https://github.com/llvm/llvm-project/commit/00312bb11db4b0d267309e031e3059e504a7f0bd
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSpacemitX100.td
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/atomic.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/floating-point.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/integer.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/mul-div.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/arithmetic.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/bitwise.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/comparison.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/conversion.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/fma.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/fp.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/mask.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/minmax.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/mul-div.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/permutation.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/reduction.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/vle-vse-vlm.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/vlse-vsse.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/vlseg-vsseg.test
    A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/rvv/vlxe-vsxe.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zba.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zbb.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zbc.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zbs.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zfh.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zfhmin.test
    M llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zicond.test

  Log Message:
  -----------
  [RISCV][SMT] Add SpacemiT-x100 vector sched info (#210597)


  Commit: faee1de64358ad02661da6b469dab6c3dade475e
      https://github.com/llvm/llvm-project/commit/faee1de64358ad02661da6b469dab6c3dade475e
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/test/Analysis/PR40625.cpp
    M clang/test/Analysis/call-and-message-argpointeeinitializedness.c
    M clang/test/Analysis/call-and-message-argpointeeinitializedness.cpp
    M clang/test/Analysis/call-and-message.c
    M clang/test/Analysis/exercise-ps.c
    M clang/test/Analysis/uninit-const.c
    M clang/test/Analysis/uninit-const.cpp

  Log Message:
  -----------
  [clang][analyzer] Improved message of CallAndMessageChecker at calls with uninitialized argument (#211038)


  Commit: 2354dce21ab107d0350cea741923bcffbeb14d91
      https://github.com/llvm/llvm-project/commit/2354dce21ab107d0350cea741923bcffbeb14d91
  Author: Ashutosh Nema <166792631+nema-ashutosh at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/IR/ValueMap.h
    A llvm/include/llvm/Transforms/Utils/LoopSplitUtils.h
    A llvm/include/llvm/Transforms/Utils/LoopSplitUtilsPass.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/LoopSplitUtils.cpp
    A llvm/lib/Transforms/Utils/LoopSplitUtilsPass.cpp
    A llvm/test/Transforms/LoopSplit/basic.ll
    A llvm/test/Transforms/LoopSplit/constant-trip-count.ll
    A llvm/test/Transforms/LoopSplit/descending.ll
    A llvm/test/Transforms/LoopSplit/empty-leading-partition.ll
    A llvm/test/Transforms/LoopSplit/four-partitions.ll
    A llvm/test/Transforms/LoopSplit/multiple-partitions.ll
    A llvm/test/Transforms/LoopSplit/nested-loop.ll
    A llvm/test/Transforms/LoopSplit/optional-guard.ll
    A llvm/test/Transforms/LoopSplit/partition-value-map.ll
    A llvm/test/Transforms/LoopSplit/reduction.ll

  Log Message:
  -----------
  [Transforms][Utils] Add LoopSplitUtils for iteration-space loop splitting (#205995)

Introduce LoopSplitUtils, a utility that splits a counted loop into a
chain of per-partition sub-loops covering contiguous slices of the
original iteration space. Given a loop and a list of partition ranges,
it clones the body per partition, guards each with an entry check that
skips empty partitions, clamps each latch to its slice, and rebuilds SSA
for loop-carried and live-out values so the result is
behaviour-preserving.

Key properties:
- Supports ascending (+1) and descending (-1) unit-step inductions, in
both signed and unsigned iteration orderings, with direction-aware
guard/latch predicates and end clamps.
- Reuses the original loop for partition 0 and clones the rest, exposing
per-partition value maps via getPartitionValue()/getPartitionValueMap().
- Lets callers drop the entry guard for a partition proven non-empty via
avoidPartitionGuard(); provably-empty partitions are always skipped.
- Patches the dominator tree and LoopInfo incrementally rather than
rebuilding them.

How to use:

  LoopSplitUtils LSU(L, LI, SE, DT);
if (!LSU.isLegal()) // counted, bottom-tested, LCSSA, unit step
    return false;
  // Tile the iteration space in order; e.g. split [Start, End] at K:
  LSU.addPartition(Start, K - 1);   // partition 0: [Start, K-1]
  LSU.addPartition(K, End);         // partition 1: [K, End]
  LSU.split();
  // After split(), query a cloned value in a given partition:
  Value *V1 = LSU.getPartitionValue(Orig, /*PartitionIndex=*/1);

A new test pass, loop-split-test (opt -passes=loop-split-test with
-loop-split-points=...), drives the utility for testing. Adds lit tests
covering basic/multiple/four-partition splits, descending loops,
reductions, empty-leading partitions, optional guards, and the
per-partition value map.


  Commit: dda7cb5354cad9507bedbfd44d3fdc4c3e956d63
      https://github.com/llvm/llvm-project/commit/dda7cb5354cad9507bedbfd44d3fdc4c3e956d63
  Author: Brad Smith <brad at comstyle.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hurd.cpp
    M clang/lib/Driver/ToolChains/Managarm.cpp

  Log Message:
  -----------
  [Driver][Hurd] Remove llvm_unreachable (#171077)

Remove the llvm_unreachable from getDynamicLinker(). The code path is
reachable. In the case of an unsupported architecture we're not worrying
about trying to actually determine the dynamic linker, and I don't think
it makes sense for the Driver to crash.

Pointed out by bug report #64194

---------

Co-authored-by: Shivam Gupta <shivam98.tkg at gmail.com>


  Commit: a9ebf2cdff376a74bfb05ecc58386f7c54a4c532
      https://github.com/llvm/llvm-project/commit/a9ebf2cdff376a74bfb05ecc58386f7c54a4c532
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Add iv_outside_user ptr-ind variant test (#213263)

There was previously a doubt about whether the integer variant of the
test should use wrap-flags on the latch exit value, which motivates us
to add coverage for the ptr variant.


  Commit: c99e6752b9f9e1867af88c07ee44f837bc6e4311
      https://github.com/llvm/llvm-project/commit/c99e6752b9f9e1867af88c07ee44f837bc6e4311
  Author: Ties Stuij <ties.stuij at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/test/CodeGen/Thumb2/vqabs.ll
    M llvm/test/CodeGen/Thumb2/vqneg.ll

  Log Message:
  -----------
  [ARM][MVE] Match canonical saturating negation patterns (#213085)

InstCombine pull request
https://github.com/llvm/llvm-project/pull/194519 canonicalized the
saturating negation idiom to
an llvm.ssub.sat operation. For the ARM backend we only recognized the
original
select and subtract pattern, causing vector absolute values to expand to
VQSUB
plus a compare and select instead of VQABS.

In this patch we teach the VQABS and VQNEG patterns to recognize this
ssub.sat
form.


  Commit: 58862f1adfc9690ddcda8cded008bc0ecda54859
      https://github.com/llvm/llvm-project/commit/58862f1adfc9690ddcda8cded008bc0ecda54859
  Author: Berke Ates <berke at ates.ch>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Arith] Fix BitcastOp fold crashing on unhandled constant attributes (#212483)

`BitcastOp::fold` assumed any non-poison scalar operand attribute is a
`FloatAttr` or `IntegerAttr` and hard-casted it.
Constant attributes from other dialects, e.g. the `LLVM::UndefAttr`
produced by `llvm.mlir.undef`'s fold, hit the cast assertion.
This crashed SCCP on IR where `llvm.mlir.undef` feeds `arith.bitcast`.
Bail out on attributes and result types the fold does not handle.


  Commit: b5d93cd7773b203e3523f36cf1b63c16f23c921b
      https://github.com/llvm/llvm-project/commit/b5d93cd7773b203e3523f36cf1b63c16f23c921b
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/docs/AMDGPUSupport.md
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
    M clang/test/SemaCXX/amdgpu-barrier.cpp
    A clang/test/SemaHIP/amdgpu-barrier-spirv.hip
    M clang/test/SemaHIP/amdgpu-barrier.hip
    M clang/test/SemaOpenCL/amdgpu-barrier.cl
    M clang/test/SemaTemplate/address_space-dependent.cpp

  Log Message:
  -----------
  [clang][AMDGPU] Clean-up handling of named barrier type (#207687)

- Allow the type in struct/classes in very limited circumstances. The
goal is to enable creating trivial wrappers around the named barrier
variable, but ensure we can't get into situations where things would get
awkward. Currently this means we only allow the named barrier in
RecordDecls with exactly 1 field, that have no base class, and are not
inherited.
- Use a `amdgpu_barrier` LangAS for this type that currently maps to the
local AS. This allows easy switching to the barrier AS in a future
patch.


  Commit: ba1c26cf9f4826c9e82d43859c91fab9facf689f
      https://github.com/llvm/llvm-project/commit/ba1c26cf9f4826c9e82d43859c91fab9facf689f
  Author: Akshat Dalal <adalal at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    A llvm/test/CodeGen/X86/swift-async-cfi-prologue.ll
    M llvm/test/CodeGen/X86/swift-async.ll

  Log Message:
  -----------
  [X86] Fix missing CFI after the Swift async context push (#202570)

The Swift async prologue pushes the context slot (pushq %r14 / $0) but
doesn't touch the CFA until the later .cfi_def_cfa_register %rbp. So the
CFA still describes the stack from before the push and stays stale all
the way through the leaq and the subq. If something unwinds in that
window (debugger, profiler, signal) it reads the wrong slot. Normal
execution is fine.

FIX: account for the push with .cfi_adjust_cfa_offset 8, then switch to
an %rbp-relative CFA (.cfi_def_cfa %rbp, 16) right after the leaq and
before the subq, so the rule is correct before rsp moves again.

Adds swift-async-cfi-prologue.ll (directives + .eh_frame rows, plus a
locals case for the subq) and updates swift-async.ll.


  Commit: 095ff52bd7281046925bf7146c17d0cae68fb6ed
      https://github.com/llvm/llvm-project/commit/095ff52bd7281046925bf7146c17d0cae68fb6ed
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/test/API/commands/register/register_command/TestRegisters.py

  Log Message:
  -----------
  [lldb] Fix test_case_insensitivity's register value for canonical/PAC constraints (#213605)

This addresses a test failure introduced in
4f6cf2c2072ccf5780ac30bf69ebf99b788dbd52.

`0x1122334455667788` is a non-canonical address on x86_64 (fails to
write to rsp) and gets its non-addressing bits masked off on read for
pc/lr/sp/fp on Darwin AArch64, so it doesn't round-trip on either. Zero
the top 20 bits to stay clear of both.


  Commit: bd7433bd275cacc7493892e5bfbdb76de0f18cd4
      https://github.com/llvm/llvm-project/commit/bd7433bd275cacc7493892e5bfbdb76de0f18cd4
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp

  Log Message:
  -----------
  [clang][LifetimeSafety] Fix unnamed TimeTraceScope in computePersistentOrigins (#213521)

The TimeTraceScope was constructed as a temporary and destroyed
immediately, so the prepass was reported as taking ~0. It actually
accounts for ~14% of LoanPropagation in some cases.

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


  Commit: 1fe8f95f24adbf26943e48f8c2e8419d4010e599
      https://github.com/llvm/llvm-project/commit/1fe8f95f24adbf26943e48f8c2e8419d4010e599
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:

  Log Message:
  -----------
  Revert "Disable this test on Darwin to give the author a chance to fix it." (#213624)

Reverts llvm/llvm-project#213388

#213605 fixes the test.


  Commit: 667bc9df31a8f5cc833b3e9bee4dbdc0463fc4b1
      https://github.com/llvm/llvm-project/commit/667bc9df31a8f5cc833b3e9bee4dbdc0463fc4b1
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
    M mlir/test/Conversion/GPUToSPIRV/reductions.mlir
    M mlir/test/Dialect/SPIRV/IR/availability.mlir
    M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/target-env.mlir
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
    M mlir/test/lib/Dialect/SPIRV/TestAvailability.cpp

  Log Message:
  -----------
  [mlir][SPIR-V] Restrict GroupNonUniform ops to Subgroup scope (#213087)

spirv-val now limits execution scope for GroupNonUniform* ops to
Subgroup, except OpGroupNonUniformRotateKHR which still allows Workgroup
(see https://github.com/KhronosGroup/SPIRV-Tools/pull/6811). Tighten the
ODS trait accordingly and stop lowering GPU non-uniform reductions to a
Workgroup scope op

Follow-up to #212928


  Commit: 66173168efff1085a785b9908296be8146a4399c
      https://github.com/llvm/llvm-project/commit/66173168efff1085a785b9908296be8146a4399c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  X86: Defend against regression from SimplifyDemandedVectorElts load support (#213611)

It doesn't appear possible to test this independently.

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


  Commit: 536acc23e473855f900e0ef65fd1a3fc254264b0
      https://github.com/llvm/llvm-project/commit/536acc23e473855f900e0ef65fd1a3fc254264b0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/COFFAutoImportGeneratorTest.cpp

  Log Message:
  -----------
  [ORC] Fix COFFAutoImportGeneratorTest on Darwin. (#213616)

Add linker-level mangling prefix for lookups on Darwin.

These should fix the build failures associated with PR203914 on Darwin,
e.g. https://lab.llvm.org/buildbot/#/builders/23/builds/21523


  Commit: 9baf14f77a632e6863c599228213620e0362c321
      https://github.com/llvm/llvm-project/commit/9baf14f77a632e6863c599228213620e0362c321
  Author: Ömer Sinan Ağacan <omer at osa1.net>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h

  Log Message:
  -----------
  [TLI] Update `getWCharSize` documentation (NFC) (#213622)

`return 0` part of `getWCharSize` was added in cc603ee3d563 but then
removed in 5a88dffc40d2. Update the documentation as it no longer
returns 0 when the size is unknown (instead returns the default).


  Commit: 2fe9fc90780d65935e075fecbffd3d5103c83838
      https://github.com/llvm/llvm-project/commit/2fe9fc90780d65935e075fecbffd3d5103c83838
  Author: Krish Gupta <krishom70 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/StaticMemoryPlannerAnalysis.cpp
    M mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-analysis.mlir
    A mlir/test/Dialect/Bufferization/Transforms/static-memory-planner-errors.mlir

  Log Message:
  -----------
  [mlir][bufferization] Handle arith.select-based deallocs in static memory planner (#209106)

The static memory planner currently skips any allocation that doesn't
have a direct `memref.dealloc` user. This is overly conservative, after
running `ownership-based-buffer-deallocation`, it's common to see
patterns like:

  `%2 = arith.select %c, %0, %1 : memref<1024xf32>`
  `memref.dealloc %2 : memref<1024xf32>`

where both `%0` and `%1` get skipped with `++numSkipNoDealloc` even
though their lifetimes are well-defined.

This patch teaches `collectCandidates` to follow `arith.select` chains
when looking for potential deallocs. We traverse the use-def graph
forward from each alloc, collecting any `memref.dealloc` ops reachable
through select results.

Since a single select-based dealloc can conditionally free one of
several allocs, we enforce a group constraint: all allocs that share a
dealloc via a select must either all go into the arena or all be
skipped. Without this, we could end up with a `memref.view` (an arena
slice) and a raw alloc being fed into the same select, making the
resulting dealloc invalid.

The group constraint is computed with a simple fixpoint iteration , if
any member of a group is ineligible, the whole group is dropped.

The lifetime indices (`timeStart`/`timeEnd`) in `buildAllocInfos` are
also fixed: the old code did one block scan per candidate (O(n×m)). This
replaces it with a single pass upfront using a `DenseMap`, and sets
`timeEnd` conservatively to the latest dealloc index across all
potential deallocs for an alloc.

Tests added for:
- Single alloc freed via a self-select dealloc
- Two allocs sharing one select-based dealloc (group constraint active)
- The two-select two-dealloc pattern from the design discussion


  Commit: 80df471b75d0736a8bc5d30f6e483bb0de302c7e
      https://github.com/llvm/llvm-project/commit/80df471b75d0736a8bc5d30f6e483bb0de302c7e
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/OptimizePHIs.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.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/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
    M llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
    M llvm/test/CodeGen/AMDGPU/memset-pattern.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
    M llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
    M llvm/test/CodeGen/AMDGPU/valu-i1.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/CSKY/atomic-rmw.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/M68k/pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/X86/2011-09-14-valcoalesce.ll

  Log Message:
  -----------
  Reland [MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#213584)

This relands #211715 which was reverted because of some failures
in experimental targets and one AMDGPU test `diverged-entry-basic.ll`.

Below is the original commit message.

----

This recommits #119826, which taught `MachineLICM` to use
`RegisterClassInfo` when computing register pressure limits so
reserved registers are accounted for (#118787).

The original change was reverted by eeac0ff because it increased
compile time by causing repeated `RegisterClassInfo` computations.

This PR is based on #210826, in which `MachineRegisterClassInfo`
analysis pass was added. `MachineRegisterClassInfo` is required
by `MachineLICM` now, but the intervening machine passes that do
not affect `RegisterClassInfo` now preserve it, so the analysis
is reused instead of recomputed.

Assisted-by: TRAE CLI (GPT-5.5)


  Commit: fb77712fd1dd911330bd432d1fd9313081b40c59
      https://github.com/llvm/llvm-project/commit/fb77712fd1dd911330bd432d1fd9313081b40c59
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl

  Log Message:
  -----------
  [clang][AMDGPU] Widen ballot for read_exec_lo/hi to wavefront size (#212813)

GlobalISel cannot select a ballot narrower than the wavefront width,
since it can't represent one bit per lane

Widen the ballot to the wave size and narrow the result afterwards

This is a prerequisite for relanding
https://github.com/llvm/llvm-project/pull/211493 (reverted in
https://github.com/llvm/llvm-project/pull/212628 to unblock buildbot) to
prevent device libs side failures

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 5daadaa0264a350c3faa4dd0759fec7ef5fe8a75
      https://github.com/llvm/llvm-project/commit/5daadaa0264a350c3faa4dd0759fec7ef5fe8a75
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-maxnum-minnum-masked-store.ll
    M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
    M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
    M llvm/test/CodeGen/X86/expand-vp-fp-intrinsics.ll
    M llvm/test/CodeGen/X86/fmaxnum.ll
    M llvm/test/CodeGen/X86/fminnum.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmin.ll

  Log Message:
  -----------
  [X86] Add PSEUDO_FMIN/PSEUDO_FMAX to canCombineAsMaskOperation (#213475)

Add FP min/max opcodes to the list of operations that can be folded into
write-masked instructions. This allows commuteSelect to recognize these
operations and invert the setcc condition to enable ISel to match fused
vminps/vmaxps {%k} patterns.


  Commit: 8f1efc26e47f6a3c7b2c623b5de44b99529e3a02
      https://github.com/llvm/llvm-project/commit/8f1efc26e47f6a3c7b2c623b5de44b99529e3a02
  Author: Ashutosh Nema <166792631+nema-ashutosh at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopSplitUtils.cpp

  Log Message:
  -----------
  [Transforms][Utils] Preserve branch weights in LoopSplitUtils (#213626)

Carry the original latch's branch weights onto the clamped latch, and
mark the newly created partition-guard branches as having unknown
weights so profile-tracking passes are not misled.


  Commit: b2cca30e126db355314677852f2b6139be1c2f3b
      https://github.com/llvm/llvm-project/commit/b2cca30e126db355314677852f2b6139be1c2f3b
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_if_nameindex.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_if_nameindex.h
    M libc/include/net/if.yaml
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/network_syscall_policy.h
    M libc/src/net/CMakeLists.txt
    A libc/src/net/if_freenameindex.h
    A libc/src/net/if_nameindex.h
    M libc/src/net/linux/CMakeLists.txt
    A libc/src/net/linux/if_freenameindex.cpp
    A libc/src/net/linux/if_nameindex.cpp
    A libc/src/net/linux/if_nameindex_impl.h
    M libc/test/src/net/linux/CMakeLists.txt
    A libc/test/src/net/linux/if_nameindex_test.cpp

  Log Message:
  -----------
  [libc] Add if_nameindex and if_freenameindex as an experimental entrypoint (#208438)

This is a fairly complex function, so this patch implements bare minimum
needed to demonstrate the overall direction. The functionality is
implemented by communicating with the linux kernel over a netlink
socket, and the complexity comes from parsing the messages. In this
patch, parsing stops at the first interface, and we don't handle
multiple messages or deduplication resulting from restarted dumps.

Some notable implementation choices are:
- using a single allocation (including both the interface vector and the
strings it points to). This makes deallocation fast, reduces heap
fragmentation, and doesn't make the final code much more complex since
we still need auxiliary data structures for deduplication.
- using linux kernel headers for all the netlink structures. I think
this is fine as we're not exposing that to the user.
- while this information is available via /sys, that would mean we
require /sys to be mounted, and it wouldn't make the code much simpler.
This also matches other libc implementations.

Testing is a completely separate story, and the main source of
complexity of this patch. To make the code testable without requiring
root or live interfaces, the core function
(`net::if_nameindex<Policy>()`) is templated on a syscall policy class
(`NetworkSyscallPolicy`). The production entrypoint uses
`DefaultNetworkSyscallPolicy` forwarding directly to syscall wrappers
(`socket`, `sendto`, `recvfrom`, `close`), while the unit tests use
`FakeNetworkSyscallPolicy` to feed crafted netlink buffers from memory
and verify `sendto` request formation.

The fake policy is set up such that one can program the mock to return
certain values, and validate arguments. It does not resemble the
googletest functionality (mocks) very closely, but I've tried to put it
in a form where it is possible to morph it into that -- if that's the
direction we desire to go.

While doing this, I ran into the limitations of various container
classes (mainly the inability to handle non-trivial types). To avoid
growing the scope of this even further, I worked around those
limitations locally, and left TODOs which I intend to resolve in
follow-ups. The only thing I couldn't avoid is the addition of
cpp::expected default constructor (which is actually a consequence of
how FixedVector constructs elements). However, this is a simple addition
and it is consistent with the STL class it is emulating.

The patch also add the [AP]F_NETLINK constants needed for creating
netlink sockets.


  Commit: 1674a1c6da083c2fdfe7e3539b8bf647989066b5
      https://github.com/llvm/llvm-project/commit/1674a1c6da083c2fdfe7e3539b8bf647989066b5
  Author: Spencer Bryngelson <sbryngelson at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M runtimes/cmake/config-Fortran.cmake

  Log Message:
  -----------
  [runtimes][cmake] Probe Fortran intrinsic modules for the target triple (#211137)

Fixes #211134.

`check_fortran_builtins_available()` probes for Fortran intrinsic
modules without passing the target triple, in both branches: the
`-print-file-name=iso_c_binding.mod` query runs the driver with no
`--target`, and the `check_fortran_source_compiles()` fallback uses
`try_compile()`, which does not inherit `CMAKE_Fortran_COMPILER_TARGET`.

Flang's intrinsic modules are built per-target by flang-rt. When a
runtime is configured for a GPU target without flang-rt in its runtime
list, both probes test the host and succeed, so
`RUNTIMES_FORTRAN_MODULES` is enabled for a target that cannot support
it. `LIBOMP_FORTRAN_MODULES` inherits that and the failure is deferred
to a cascade of BIND(C) diagnostics compiling `omp_lib.F90`, all
stemming from one missing-module error.

Pass the triple to both probes so the existing graceful-degradation path
is reached instead.

Uses `CMAKE_Fortran_COMPILE_OPTIONS_TARGET` rather than a hard-coded
`--target=`. This file is also used with non-Flang compilers (`:229`,
and `openmp/module/CMakeLists.txt:25` special-cases GNU), and the
`check_fortran_source_compiles` branch is the live path for every
compiler on CMake >= 3.24. gfortran rejects `--target=` outright, so
hard-coding it would silently disable Fortran modules for gfortran users
who get them today. `CMAKE_Fortran_COMPILE_OPTIONS_TARGET` is
`--target=` for Flang and empty for GNU.

Tested:

| compiler | target | result |
|---|---|---|
| gfortran | `x86_64-unknown-linux-gnu` | modules ON, unchanged |
| flang | `x86_64-unknown-linux-gnu` | modules ON, unchanged |
| flang | `amdgcn-amd-amdhsa` | modules OFF, correctly disabled |
| flang | `amdgpu-amd-amdhsa` | modules OFF, correctly disabled |

Also built four full configurations: amdgcn with `openmp` unpatched
fails as described; patched, it builds clean and produces
`libompdevice.a` with no workaround; amdgcn with `openmp;flang-rt` (the
`FlangOffload.cmake` recipe) still builds `omp_lib.mod` for the GPU
triple, so the intentional GPU module support is preserved; and the
x86_64 host build is unchanged.

No test: neither `runtimes/` nor `openmp/` has CMake-configuration test
infrastructure, and this is configure-time logic with no lit surface.

This affects performance-critical applications on large AMD GPU
supercomputers, including [MFC](https://github.com/MFlowCode/MFC).

All numbers above come from the validated reproducers included with this
report and are independently reproducible; they stand on their own.

This was found and root-caused with the assistance of AI tools.


  Commit: 750b9d9e7ac0a98b2cc107eec8a9d6eb442711a5
      https://github.com/llvm/llvm-project/commit/750b9d9e7ac0a98b2cc107eec8a9d6eb442711a5
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py

  Log Message:
  -----------
  [lldb][lldb-server] Update the expected gdbserver's architecture (#210946)

gdbserver recognises 'x86_64' arch as 'i386:x86-64', this prevents gdb
(binary) from connecting to lldb-server since lldb-server reports
architecture as 'x86_64'. we already do something similar when
connecting a server to lldb.
This does not affect lldb -> lldb-server since we use qHostInfo to get
that information.


  Commit: 6b88c82b0ac144aebf95f954a10c3c32a2d6d36d
      https://github.com/llvm/llvm-project/commit/6b88c82b0ac144aebf95f954a10c3c32a2d6d36d
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/test/API/attach/TestWindowsAttachBreakpoint.py
    M lldb/test/API/driver/batch_mode/TestBatchMode.py
    M lldb/test/API/driver/longpath/TestLongPathDriver.py
    M lldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
    M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
    M lldb/test/API/python_api/class_members/TestSBTypeClassMembers.py
    M lldb/test/API/python_api/exprpath_register/TestExprPathRegisters.py
    M lldb/test/API/python_api/exprpath_synthetic/TestExprPathSynthetic.py
    M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
    M lldb/test/API/python_api/hello_world/TestHelloWorld.py
    M lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
    M lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py
    M lldb/test/API/python_api/sbenvironment/TestSBEnvironment.py
    M lldb/test/API/python_api/sbmodule/SeperateDebugInfo/TestSBModuleSeparateDebugInfo.py
    M lldb/test/API/python_api/sbplatform/TestSBPlatform.py
    M lldb/test/API/python_api/signals/TestSignalsAPI.py
    M lldb/test/API/python_api/target-arch-from-module/TestTargetArchFromModule.py
    M lldb/test/API/python_api/unified_section_list/TestModuleUnifiedSectionList.py
    M lldb/test/API/qemu/TestQemuLaunch.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
    M lldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
    M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
    M lldb/test/API/tools/lldb-server/TestNonStop.py
    M lldb/test/API/tools/lldb-server/commandline/TestStubSetSID.py
    M lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py
    M lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py
    M lldb/test/API/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py
    M lldb/test/API/tools/lldb-server/vCont-threads/TestSignal.py
    M lldb/test/API/types/TestCharType.py
    M lldb/test/API/types/TestCharTypeExpr.py
    M lldb/test/API/types/TestDoubleTypes.py
    M lldb/test/API/types/TestDoubleTypesExpr.py
    M lldb/test/API/types/TestFloatTypes.py
    M lldb/test/API/types/TestFloatTypesExpr.py
    M lldb/test/API/types/TestIntegerType.py
    M lldb/test/API/types/TestIntegerTypeExpr.py
    M lldb/test/API/types/TestLongTypes.py
    M lldb/test/API/types/TestLongTypesExpr.py
    M lldb/test/API/types/TestShortType.py
    M lldb/test/API/types/TestShortTypeExpr.py

  Log Message:
  -----------
  [lldb] Convert all the tests to use require decorator (#213467)

This is a follow up to https://github.com/llvm/llvm-project/pull/212753
to convert all the tests to use the `@require` decorator.


  Commit: 0e87f69d0c327612590f73b715c657c5096383c2
      https://github.com/llvm/llvm-project/commit/0e87f69d0c327612590f73b715c657c5096383c2
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Select narrow GPR constants (#204322)

Select non-zero s8/s16 GPR constants as 32-bit MOV immediates during
instruction selection.

RegBankSelect already does this, but this gives instruction selection a
direct path instead of falling back which will help enable a simple fast
pure type-based RBS alternative.

Assisted-by: codex


  Commit: c301b9901ae93fa91c9861ce13d508d53191a378
      https://github.com/llvm/llvm-project/commit/c301b9901ae93fa91c9861ce13d508d53191a378
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-umin.ll

  Log Message:
  -----------
  [AArch64][SVE] Fold nested boolean UMIN trees (#209234)

Fold redundant UMIN clamps in logical boolean reduction trees when all
operations use the same predicate.


  Commit: 5ce177f6cd3672aae1791ba155b5438c9198a8ce
      https://github.com/llvm/llvm-project/commit/5ce177f6cd3672aae1791ba155b5438c9198a8ce
  Author: Harald-R <rotuna.razvan at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir

  Log Message:
  -----------
  Fix llvm-mlir-use-after-erase findings (#210733)

Fix the following warnings identified by the `llvm-mlir-use-after-erase`
check from https://github.com/llvm/llvm-project/pull/210727:

```cpp
mlir/lib/Transforms/Utils/DialectConversion.cpp:2700:33: warning: operation 'op' is used after it was erased [llvm-mlir-use-after-erase]
 2700 |           curState, std::string(op->getName().getStringRef()) + " folder");
      |                                 ^
mlir/lib/Transforms/Utils/DialectConversion.cpp:2685:12: note: operation erased here
 2685 |   rewriter.replaceOp(op, replacementValues);
      |            ^
mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp:440:29: warning: operation 'newOp' is used after it was erased [llvm-mlir-use-after-erase]
  440 |           Value newMemRef = newOp->getResult(resIndex);
      |                             ^
mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp:459:20: note: operation erased here 
  459 |             newOp->erase();
      |                    ^
mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp:440:29: note: the use happens in a later loop iteration than the erase
  440 |           Value newMemRef = newOp->getResult(resIndex);
      |                             ^
```

The warning at `NormalizeMemRefs.cpp:440` is resolved by breaking the
loop iteration after erasing the operation, similar to what is done at
line 306.


  Commit: 2ef2ab65e8622a81b060b96a2ed579816d01f03f
      https://github.com/llvm/llvm-project/commit/2ef2ab65e8622a81b060b96a2ed579816d01f03f
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-interleaved-access-w-undef.ll
    M llvm/test/CodeGen/AArch64/aarch64-interleaved-ld-combine.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-multiuses.ll
    M llvm/test/CodeGen/AArch64/nontemporal-load-interleaved.ll
    M llvm/test/CodeGen/AArch64/nontemporal-store-interleaved-optsize.ll
    M llvm/test/CodeGen/AArch64/nontemporal-store-interleaved.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll

  Log Message:
  -----------
  [AArch64] Update tests with interleave intrinsics (#212312)


  Commit: d2b28a818981d9703f2ebf0eeeb5e1d9d77dec51
      https://github.com/llvm/llvm-project/commit/d2b28a818981d9703f2ebf0eeeb5e1d9d77dec51
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll

  Log Message:
  -----------
  [ConstFold] Fold fixed-vectors in constantFoldIntrinsic (#213625)

This exposes an underlying bug in wasm.dot-folding, which we fix. The
motivation for this patch is to enable folding of get.active.lane.mask
in VPlan in a follow-up.


  Commit: 3db0dd71c8579fb825bdd2c6148b53496e485375
      https://github.com/llvm/llvm-project/commit/3db0dd71c8579fb825bdd2c6148b53496e485375
  Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-after-opvariable.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-call-before-alloca.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-calls.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-external-call.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition.ll

  Log Message:
  -----------
  Implement support for NSDI DebugFunctionDefinition. (#211853)

This PR depends on the DebugFunction PR:
https://github.com/llvm/llvm-project/pull/211760. This PR implements
support for
[DebugFunctionDefinition](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugFunctionDefinition).

DebugFunctionDefinition must be emitted within the instruction sequence
of its corresponding OpFunction. The current implementation inserts
DebugFunctionDefinition immediately after the last OpVariable, if one
exists, or otherwise immediately after the first OpLabel. The goal is to
satisfy the following
[requirement](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#_binary_form):

> DebugScope, DebugNoScope, DebugDeclare, DebugValue, DebugLine,
DebugNoLine, and DebugFunctionDefinition instructions may interleave
with instructions inside a function, but they must appear at valid
locations within a block as required by SPV_KHR_non_semantic_info. In
particular, they cannot appear before any OpPhi or function-level
variable declarations in a block, and they cannot appear after a merge
instruction.

To support this, I updated SPIRVAsmPrinter to notify the debug handler
whenever an instruction is emitted. The debug handler maintains a small
amount of state so it can detect when the last OpVariable or the first
OpLabel has been emitted and insert DebugFunctionDefinition at the
appropriate location.


  Commit: 6a7f6a02bb95a75c615cde3194ad77d776b869c5
      https://github.com/llvm/llvm-project/commit/6a7f6a02bb95a75c615cde3194ad77d776b869c5
  Author: Benedek Kaibas <82393336+benedekaibas at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  [analyzer] Implement BugReporterVisitor for UseAfterLifetimeEnd to trace lifetime source binding (#207052)

Currently the `UseAfterLifetimeEnd` checker can emit warnings, but those
warnings cannot clearly describe to which annotated parameter the return
value is actually bound. When multiple parameters are annotated, it is
unclear which one the return value is bound to. Using
`BugReporterVisitor` to trace back the nodes and emit a note that
explains where the lifetime of the annotated parameter (the source)
ended can be helpful for users.

***NOTE***: This PR is built on #205951. It should only be merged after
#205951 is merged.

Consider the following case: 

```cpp
#include <stddef.h>

class Arena {
  char buf[128];
  char *buffer = buf;
  size_t offset = 0;

public:
  void *allocate(size_t size) [[clang::lifetimebound]] {
    void *p = buffer + offset;
    offset += size;
    return p;
  }
  void reset() {offset = 0;}
};

void *arena_dangling() {
  Arena arena;
  void *p = arena.allocate(128);
  arena.reset();
  return p; // arena goes out of scope therefore p dangles
}
```

The `UseAfterLifetimeEnd` checker correctly detects this error and emits
path notes that trace where the value was bound and where its lifetime
ends:

```text
temp.cpp:21:3: warning: Returning value bound to 'arena' that will go out of scope [alpha.cplusplus.UseAfterLifetimeEnd]
   21 |   return p;
      |   ^~~~~~~~
temp.cpp:19:13: note: Value bound to 'arena' here
   19 |   void *p = arena.allocate(128);
      |             ^~~~~~~~~~~~~~~~~~~
temp.cpp:21:3: note: Lifetime of 'arena' ended here
   21 |   return p;
      |   ^~~~~~~~
1 warning generated.
```

The motivating example comes from here:
https://discourse.llvm.org/t/clang-static-analyzer-gsoc-2025-teach-the-clang-static-analyzer-to-understand-lifetime-annotations/84487/41?u=bkaibas01


  Commit: 68449895e267174801d3b11afd957548f5796a41
      https://github.com/llvm/llvm-project/commit/68449895e267174801d3b11afd957548f5796a41
  Author: Kacper Doga <kacper.doga at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir

  Log Message:
  -----------
  [GlobalISel] emit G_BITCAST in widenScalarMergeValues when DstTy does not match WideTy (#203014)

**Problem:**
`LegalizerHelper::widenScalarMergeValues` does not handle the case where
the destination register type is a floating-point type but the widen
operation produces an integer type of the same size.

For example, given:
```
%0:_(i8) = G_CONSTANT i8 0
%1:_(i8) = G_CONSTANT i8 1
%2:_(f16) = G_MERGE_VALUES %0:_(i8), %1_:(i8)
```
With a `minScalarOrElt` rule widening the source type to I16,
`widenScalarMergeValues` enters the `WideSize >= DstSize` path and
assigns the result to a new virtual register. The condition used to
assign directly to DstReg uses type equality (WideTy == DstTy), which
fails when DstTy = f16. As a result, DstReg is left without a
definition.

**Fix:**
After the OR-reduction loop, add a check for the case where DstTy and
WideTy have equal sizes but different types, and emit a G_BITCAST.

**Testing:**
No currently upstream target exercises `G_MERGE_VALUES` with a
floating-point destination type through this widen path, as most targets
promote f16 to s16 before legalization. The fix is therefore covered by
a unit test in `LegalizerHelperTest.cpp`, modeled after the existing
`WidenScalarMergeValuesPointer` test, which directly invokes widenScalar
on a manually constructed `f16 = G_MERGE_VALUES i8, i8` instruction and
verifies that a `G_BITCAST` is emitted as the final instruction.


  Commit: 7bf1ded0e061cc388a31f4293afd527f76810ffb
      https://github.com/llvm/llvm-project/commit/7bf1ded0e061cc388a31f4293afd527f76810ffb
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/include/__algorithm/ranges_fold.h
    M libcxx/include/__node_handle
    M libcxx/include/__pstl/cpu_algos/transform_reduce.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__ranges/movable_box.h
    M libcxx/include/__ranges/non_propagating_cache.h
    M libcxx/include/optional
    M libcxx/test/libcxx/input.output/iostream.format/quoted.manip/quoted_traits.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.move.wrap/types.h
    M libcxx/test/std/concepts/concepts.object/regular.compile.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.copy.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_optional_U.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.verify.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_or.pass.cpp
    M libcxx/test/std/utilities/optional/optional.syn/optional_in_place_t.verify.cpp

  Log Message:
  -----------
  [libc++] Clean up headers that relied on `<optional>`'s transitive includes (#213158)

Clear out the headers in <optional> that were left in to not break
other headers, and fix them also. Also fix tests.


  Commit: 97fd08dbaf82b35ef860bca11bb047fd60f723d5
      https://github.com/llvm/llvm-project/commit/97fd08dbaf82b35ef860bca11bb047fd60f723d5
  Author: Kacper Doga <kacper.doga at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-trunc-merge-float-src.mir

  Log Message:
  -----------
  [GlobalISel] avoid G_TRUNC with floating-point G_MERGE_VALUES source (#206733)

With extended LLT, scalar LLT carry an integer/float kind information.
The `G_TRUNC(G_MERGE_VALUES)` fold in
`LegalizationArtifactCombiner::tryCombineTrunc` truncated, copied or
rebuilt a merge directly from the merge's source register.

**Problem**
When those sources are floating-point this produces artifacts with float
source operand - e.g. `i1 = G_TRUNC f32` or a rebuilt `iN =
G_MERGE_VALUES f32, ...` which are bit level integer operations and must
not take a float operand.

**Fix**
Reinterpret a floating-point merge source to an integer of the same size
via `G_BITCAST` before truncating, copying or rebuilding the merge. So
the emitted artifacts stay on integer operands. Non-float sources and
non-extended-LLT builds are unaffected.


  Commit: f84bacf82a153a75dbf549d8c25d6e73673ea043
      https://github.com/llvm/llvm-project/commit/f84bacf82a153a75dbf549d8c25d6e73673ea043
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/include/lldb/Utility/RegisterFlags.h
    M lldb/include/lldb/Utility/RegisterInfo.h
    A lldb/include/lldb/Utility/RegisterType.h
    M lldb/source/Core/DumpRegisterInfo.cpp
    M lldb/source/Core/DumpRegisterValue.cpp
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_riscv32.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Utility/CMakeLists.txt
    M lldb/source/Utility/RegisterFlags.cpp
    A lldb/source/Utility/RegisterType.cpp
    M lldb/unittests/Target/RegisterFlagsTest.cpp

  Log Message:
  -----------
  [lldb] Introduce RegisterType base class for all register type classes (#196960)

This is refactoring to prepare for
https://github.com/llvm/llvm-project/issues/87471. Where we will be
adding support for describing registers as unions and vectors. See:
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Target-Description-Format.html

A union is like a C union and references other types defined in the XML.
Just like a set of register flags might reference an enum for one of
those flags.

By introducing this base class I'm making the treatment of all these
different types generic. So that when encoding them as XML we can emit
the type's dependencies recursively, and then emit the type itself.

This strategy will also be used later in RegisterTypeBuilderClang to
generate AST to represent these types.

As GDB decided to include size in enums, whenever we emit something it
will get a "user" pointer. This allows an enum type to read the size of
the register it's being attached to. No other type class requires this.

I would call this "parent" but it is not usually the parent. The
heirarchy is:
* A RegisterFlags type contains many flags.
* One of those flags has an enum as its type.
* That enum needs to query two levels up to get the RegisterFlag's size.

LLDB does not care about this enum size attribute, but GDB does so we
emit it for compatibility.

I don't expect anything other than a RegisterFlags to reference an enum
at this time. In theory, a vector's element could be an enum but I do
not know of anything available today that does this.

I'd like to support arbitrary nesting of these types, but only later
once known use cases work well.

For the time being, the generic RegisterType pointer is cast into a
RegisterFlags before use. In future this will become a switch over the
possible register types we support.


  Commit: fccabca20c732cc93b018effa7381e2e2a6f9506
      https://github.com/llvm/llvm-project/commit/fccabca20c732cc93b018effa7381e2e2a6f9506
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Protect against invalid C++26 string repr (#213639)

We can't call `getNumElems()` for unknown-size arrays.


  Commit: ea2933f9aae9dc0bf4bb120bb732c0758d1026fd
      https://github.com/llvm/llvm-project/commit/ea2933f9aae9dc0bf4bb120bb732c0758d1026fd
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/split-sum-expression-tree-lowering.f90

  Log Message:
  -----------
  [flang][Lower] Flatten signed real sum terms (#211829)

Second part of generalisations requested in #207377.

Extend real sum reassociation to flatten unparenthesized addition and
subtraction into signed terms. Rebuild split groups with addition and
subtraction while preserving parenthesized subtrees as opaque values.

I did not observe any benchmark result changes as a result of this
patch.

Assisted-by: Codex


  Commit: d2e2626045e2380e60f51e75c39acf245572c918
      https://github.com/llvm/llvm-project/commit/d2e2626045e2380e60f51e75c39acf245572c918
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/include/__locale

  Log Message:
  -----------
  [libc++] Don't rely on a transitively included BYTE_ORDER in ctype_base (#213032)

Use libc++'s own _LIBCPP_BIG_ENDIAN macro instead of BYTE_ORDER, which
was relied upon from a transitive <endian.h> include on Glibc.


  Commit: 3ea717b891a05dd00006b51e506b30198d57f763
      https://github.com/llvm/llvm-project/commit/3ea717b891a05dd00006b51e506b30198d57f763
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/num.h
    M libcxx/include/__locale_dir/time.h
    M libcxx/include/__locale_dir/wbuffer_convert.h
    M libcxx/include/sstream

  Log Message:
  -----------
  [libc++] Add missing includes in the locale headers (#213035)

Several headers use entities from `<__locale>` but rely on picking them
up transitively, in most cases through `<ios>`. Fix this in preparation
for splitting up `<__locale>`.


  Commit: dbd0c2d86f02528de4940ee87137259d9b7f0b85
      https://github.com/llvm/llvm-project/commit/dbd0c2d86f02528de4940ee87137259d9b7f0b85
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/charconv
    M libcxx/include/chrono
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/cwchar
    M libcxx/include/deque
    M libcxx/include/exception
    M libcxx/include/execution
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/filesystem
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/functional
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/istream
    M libcxx/include/iterator
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/numbers
    M libcxx/include/numeric
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/queue
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdexcept
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/system_error
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/utility
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/test/libcxx/transitive_includes.gen.py
    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

  Log Message:
  -----------
  [libc++] Remove opt-out of the LLVM 23 transitive includes removal (#213245)

We've removed transitive includes by default in LLVM 23, but added an
opt-in to keep the transitive includes for the release. Now that we've
branched we can remove the transitive includes unconditionally.

RFC: https://discourse.llvm.org/t/rfc-remove-unused-transitive-includes-from-the-libc-headers


  Commit: 3d60487f83797a10a6379669647a139e6823d3d2
      https://github.com/llvm/llvm-project/commit/3d60487f83797a10a6379669647a139e6823d3d2
  Author: Yair Ben Avraham <yairba at protonmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c

  Log Message:
  -----------
  [CIR][AArch64] Lower remaining FP16 vfma and vfms builtins (#210359)

Complete CIR lowering coverage for the remaining AArch64 NEON FP16 fused
multiply-accumulate and fused multiply-subtract builtins.

This covers ACLE wrappers from section 2.6.1.9.3:
  - vfma_n_f16, vfmaq_n_f16
  - vfms_f16, vfmsq_f16
  - vfms_lane_f16, vfmsq_lane_f16
  - vfms_laneq_f16, vfmsq_laneq_f16
  - vfms_n_f16, vfmsq_n_f16
  - vfmsh_lane_f16, vfmsh_laneq_f16

The existing CIR lowering paths already handle these wrappers. Move
their tests from AArch64/v8.2a-neon-intrinsics.c into
AArch64/neon/fused-multiple-fullfp16.c, add direct LLVM, CIR-to-LLVM,
and CIR coverage, and remove the superseded tests.

Strengthen the LLVM checks by tracking operands from their defining
operations and using LLVM-DAG for order-independent setup operations.

Part of #185382


  Commit: 2a9aa12745874b5cff513f0d60a63845e6b783af
      https://github.com/llvm/llvm-project/commit/2a9aa12745874b5cff513f0d60a63845e6b783af
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  Bazel 8d292a7c4b952eb5e9c55ed54a17a25c85bd553c (#213661)

This fixes
https://github.com/llvm/llvm-project/commit/8d292a7c4b952eb5e9c55ed54a17a25c85bd553c
(https://github.com/llvm/llvm-project/pull/213265).

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

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


  Commit: 53ee7b167d8aee0a75c1332ca4a6aa037e0869a0
      https://github.com/llvm/llvm-project/commit/53ee7b167d8aee0a75c1332ca4a6aa037e0869a0
  Author: Gábor Tóthvári <gabor.tothvari at ericsson.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/test/Analysis/misc-ps.m

  Log Message:
  -----------
  [NFC][analyzer] Eliminate NodeBuilder from ExprEngine visit methods and from their utility methods (#212186)

This patch eliminates the remaining uses of the class `NodeBuilder` from
the `ExprEngine::Visit*` methods and from their utility methods such as
`evalLocation`, `evalLoad`, `CreateCXXTemporaryObject` and
`handleConstructor`.


  Commit: 981286a235471cfffbf2b18201aea926a0803b9c
      https://github.com/llvm/llvm-project/commit/981286a235471cfffbf2b18201aea926a0803b9c
  Author: Nicole Aschenbrenner <nicole.aschenbrenner at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/openmp-target-fast-flag.c

  Log Message:
  -----------
  [OpenMP] target-fast implies teams/threads oversubscription (#205775)

Enable -fopenmp-assume-teams-oversubscription and
-fopenmp-assume-threads-oversubscription by default under
-fopenmp-target-fast. Adds driver test coverage for both.

Split out of #205325 as a standalone change.


  Commit: 23f0aa2f2ea35a8e9b106f97d561482cbf6f17b5
      https://github.com/llvm/llvm-project/commit/23f0aa2f2ea35a8e9b106f97d561482cbf6f17b5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/movmsk-cmp.ll

  Log Message:
  -----------
  [X86] movmsk-cmp.ll - update PR39665_c_ray test to match middle-end output (#213659)

These now lower to vXi1 reduction (as bitcast) patterns

The PR39665_c_ray_opt test folds to the same IR, so I've merged the
tests


  Commit: 587ddb34f741ffb8fbcbc258fcfea373463f392f
      https://github.com/llvm/llvm-project/commit/587ddb34f741ffb8fbcbc258fcfea373463f392f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-copy-memory.ll

  Log Message:
  -----------
  [SPIR-V] Parse parameterized Memory Access operands with a shared helper (#209262)

Copy printing only special cased Aligned, so alias list and scope IDs
were then misread as additional masks


  Commit: 49ace5ab8f1846b47fdad85ac698982e9cb8cda9
      https://github.com/llvm/llvm-project/commit/49ace5ab8f1846b47fdad85ac698982e9cb8cda9
  Author: Ashutosh Nema <ashu1212 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A llvm/test/Transforms/LoopSplit/branch-weights.ll

  Log Message:
  -----------
  [Transforms][Utils] Test for branch weight preservation in LoopSplitUtils (#213647)

Added a lit test test for branch weight


  Commit: e78503c4f017a807c23e583f8a6e3ab94d712632
      https://github.com/llvm/llvm-project/commit/e78503c4f017a807c23e583f8a6e3ab94d712632
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-simple-hierarchy.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll

  Log Message:
  -----------
  [SPIR-V] Fix validation errors for function pointers with CodeSectionINTEL storage class (#192973)

CodeSectionINTEL pointers are not valid operands for
PtrCastToGeneric/GenericCastToPtr (including inside OpSpecConstantOp)


  Commit: fc381d5bf9de78cb6b477f58cf58b8b52bad55de
      https://github.com/llvm/llvm-project/commit/fc381d5bf9de78cb6b477f58cf58b8b52bad55de
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  [bazel] Export TripleName.def and get_triple_system_name.py in LLVM overlay (#213602)

The TargetParser lit regression test
(`llvm/test/tools/TargetParser/get-triple-system-name.test`) runs
`get_triple_system_name_test.py`, which imports
`get_triple_system_name.py` from `llvm/utils/` and reads
`TripleName.def` from `llvm/include/llvm/TargetParser/`.

When executing lit regression tests in downstream sandboxed build
systems, the test fails with `ModuleNotFoundError: No module named
'get_triple_system_name'` because these standalone files are located
outside the test directory and are not staged into the test runfiles
sandbox.

Add `TripleName.def` and `get_triple_system_name.py` to `exports_files`
in the overlay so downstream builds can reference them as test runfile
dependencies.

Assited by: Gemini


  Commit: d2fcb0c9e11f8d8bedc45db0aeba9e0a53141fe5
      https://github.com/llvm/llvm-project/commit/d2fcb0c9e11f8d8bedc45db0aeba9e0a53141fe5
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/dynamic-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle multiple base paths in dynamic_cast (#213592)

This can happen via virtual bases.

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


  Commit: c4203d7b42554379f048e21124757498a67434a9
      https://github.com/llvm/llvm-project/commit/c4203d7b42554379f048e21124757498a67434a9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/movmsk-cmp.ll

  Log Message:
  -----------
  [X86] movmsk-cmp.ll - update PR67287 test to match middle-end reduction output (#213671)

This now lowers to a vXi1 reduction (as bitcast) pattern


  Commit: 4905109b00e6916a310cf7c521bd8df19c0d4a11
      https://github.com/llvm/llvm-project/commit/4905109b00e6916a310cf7c521bd8df19c0d4a11
  Author: Spencer Bryngelson <sbryngelson at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A llvm/test/Transforms/OpenMP/spmdization_kernel_env_static_loop.ll

  Log Message:
  -----------
  [OpenMP] Analyze the loop-body callback of the static-loop runtime entries (#211287)

Fixes #211132. Also removes the trigger for #198621, see below.

`AAKernelInfo` treats the loop body passed to the
`__kmpc_*_static_loop_*` entries as opaque and records an unknown
parallel region for it, per the TODO at the site. Consequently
`NestedParallelism` is true for any kernel whose parallel region
contains a device workshare loop, and `MayUseNestedParallelism` is
written to the kernel environment as 1 where it should be 0.

The callback is a direct function operand at the callsite, so resolve it
and consult its `AAKernelInfo`, exactly as the `__kmpc_parallel_60`
handling already does for its parallel-region operand a few lines away.
Only record an unknown region when it does not resolve, or does reach
parallel regions. The SPMD-izability half of the TODO is left alone.

Only flang lowers device workshare loops through these entries; clang
emits `__kmpc_for_static_init_4` plus an explicit loop, which the
preceding case already handles. So flang kernels get 1 and clang kernels
get 0 on identical source. Controlled pair, flang, gfx90a:

| construct | runtime loop entry | before | after |
|---|---|---|---|
| `!$omp target parallel` | none | 0 | 0 |
| `!$omp target parallel do` | `__kmpc_for_static_loop_4u` | 1 | **0** |

What the 1 costs. It stops `config::mayUseNestedParallelism()` folding,
so the serialized branch in `__kmpc_parallel_60` stays live and carries
its own call to the microtask. After `__kmpc_parallel_60` is inlined
into the kernel there are then two calls to the outlined region rather
than one, `isSoleCallToLocalFunction` is false, and
`LastCallToStaticBonus` never applies. On AMDGPU that is 15000 x 11 =
165000; the analysis starts at -165045 with one callsite and -45 with
two. With two the region stays out of line and the kernel is no longer a
leaf.

`-Rpass-analysis=kernel-resource-usage`, VGPRs / scratch / occupancy:

| | before | after |
|---|---|---|
| reproducer from #211132, gfx90a | 212 / 48 B / 2 | **94 / 0 / 5** |
| WENO5 + HLLC NEQ=8, gfx942 | 196 / 64 B / 2 | **110 / 0 / 4** |
| NEQ=16 | 214 / 328 B / 2 | **138 / 0 / 3** |
| NEQ=24 | 196 / 456 B / 2 | **110 / 392 B / 4** |

End-to-end on gfx942 (MI325X), 1M cells, best of 50, Mcell/s, checksums
bit-identical: 1.35x, 1.47x, 1.28x at NEQ=8/16/24. Baseline run-to-run
spread across jobs is wider than the patched one, so treat the resource
numbers above, which are deterministic, as the primary evidence.

For #198621: step 2 of that root cause identifies the same
`MayUseNestedParallelism=1` as what prevents LTO folding
`omp_get_num_threads()` into a register read, which is what leaves
`DistributeFor` with `NumThreads=1` and skips a suffix of iterations.
Scalar kernels are immune there because they get 0. This refines the
field for the array-expression kernels too, so it addresses that cause
rather than the symptom.

Testing: added `spmdization_kernel_env_static_loop.ll`, which covers
both directions, a callback with no parallel region refining to 0 and a
callback that does contain one staying at 1. It fails without the patch.
`llvm/test/Transforms` (11676) and `llvm/test/CodeGen/AMDGPU` (4920),
16596 tests, 14668 passed with 39 expected failures and no regression.
The one failure, `Transforms/ThinLTOBitcodeWriter/no-type-md.ll`, is
pre-existing and fails identically with the patch reverted.

This affects performance-critical applications on large AMD GPU
supercomputers, including [MFC](https://github.com/MFlowCode/MFC).

All numbers above come from the validated reproducers attached to
#211132 and are independently reproducible; they stand on their own.

This was found and root-caused with the assistance of AI tools.


  Commit: f7075d0da225b3de1cc83345a3a74d2f310d1057
      https://github.com/llvm/llvm-project/commit/f7075d0da225b3de1cc83345a3a74d2f310d1057
  Author: Jan Trusiłło <jan.trusillo at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M offload/liboffload/API/APIDefs.td
    M offload/liboffload/API/Common.td
    A offload/test/tools/offload-tblgen/enums_structs_nodiscard.td
    M offload/test/tools/offload-tblgen/functions_basic.td
    M offload/tools/offload-tblgen/APIGen.cpp
    M offload/tools/offload-tblgen/RecordTypes.hpp

  Log Message:
  -----------
  [offload] add nodiscard support to offload-tblgen and mark ol_errc_t (#209727)

Offload API functions may fail with error codes that shouldn't be
ignored. Most notably, if `olInit` fails and its error return value is
ignored, it is easy to use the library in an invalid uninitialized
state, which can and has caused confusion. In those cases, it may be
useful to have the ability to mark some API function with
`[[nodiscard]]`

This PR adds an optional `nodiscard` property to offload-tblgen's
`Function`, `Enum`, and `Struct`. If set, an `OL_NODISCARD` macro is
emitted, which expands to `[[nodiscard]]` on >=C++17 and >=C23, and to
nothing otherwise.

`nodiscard` is set for `ol_errc_t`, meaning every call to a function
that returns it will emit a compiler warning if the return value is
ignored and the TU is compiled on a supported language mode.

`libsycl` and `llvm-gpu-loader` still build cleanly and are unaffected
by the change.

Worth considering: should there be an opt-out (`#define
OL_DISABLE_NODISCARD` or similar)?

Assisted-by: Claude


  Commit: deecdb92e1600c47b0dad4a13730440c7dbe7c17
      https://github.com/llvm/llvm-project/commit/deecdb92e1600c47b0dad4a13730440c7dbe7c17
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/alt-addsub-signflip.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra test with alternate add/sub vectorization, NFC



Reviewers: 

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


  Commit: 58f386207ac8dca5ad4729a3ba9e6f448fba99c3
      https://github.com/llvm/llvm-project/commit/58f386207ac8dca5ad4729a3ba9e6f448fba99c3
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M offload/test/mapping/alloc_fail.c
    M offload/test/mapping/map_ordering_ptee_tgt_alloc_mapper_alloc_from_to.c
    M offload/test/mapping/map_ordering_ptee_tgt_data_alloc_tgt_mapper_present_delete_from_to.c
    M offload/test/mapping/map_ordering_tgt_alloc_from_to.c
    M offload/test/mapping/map_ordering_tgt_alloc_present_tofrom.c
    M offload/test/mapping/map_ordering_tgt_exit_data_always_always.c
    M offload/test/mapping/map_ordering_tgt_exit_data_delete_from_assumedsize.c
    M offload/test/mapping/map_ordering_tgt_exit_data_from_delete_assumedsize.c
    M offload/test/mapping/map_ordering_tgt_exit_data_from_mapper_overlap.c
    M offload/test/mapping/map_ptr_then_ptee_then_attach.c
    M offload/test/mapping/mapper_map_mbr_ptee_then_present_mbr_ptee.c
    M offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
    M offload/test/mapping/mapper_map_present_ptee.c
    M offload/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    M offload/test/mapping/padding_not_mapped.c
    M offload/test/mapping/present/target.c
    M offload/test/mapping/present/target_array_extension.c
    M offload/test/mapping/present/target_data.c
    M offload/test/mapping/present/target_data_array_extension.c
    M offload/test/mapping/present/target_enter_data.c
    M offload/test/mapping/present/target_exit_data_delete.c
    M offload/test/mapping/present/target_exit_data_release.c
    M offload/test/mapping/present/target_update.c
    M offload/test/mapping/present/target_update_array_extension.c
    M offload/test/mapping/present/zero_length_array_section.c
    M offload/test/mapping/present/zero_length_array_section_exit.c
    M offload/test/mapping/use_device_addr/target_wrong_use_device_addr.c
    M offload/test/offloading/force-usm.cpp
    M offload/test/offloading/fortran/dump_map_tables.f90
    M offload/test/offloading/fortran/target-defaultmap-present.f90
    M offload/test/offloading/fortran/target_map_ompx_hold.f90
    M offload/test/offloading/fortran/target_map_present_fail.f90
    M offload/test/offloading/info.c
    M offload/test/offloading/mandatory_but_no_devices.c
    M offload/test/offloading/requires.c
    M offload/test/offloading/struct_mapping_with_pointers.cpp
    M offload/test/offloading/target_map_for_member_data.cpp

  Log Message:
  -----------
  [offload] Remove `omptarget` references from tests (#208205)

Make check lines more generic so that we can move and rename components
without breaking the tests

This is in preparation for splitting off parts of libomptarget into
libompaccsupport, which will be used by both OpenACC and OpenMP. Some
debug prints will be printed from `ompaccsupport` and not `omptarget`,
thus the need for this change.


  Commit: dfcd28df1d80c1056aa820bd148e6dba42166945
      https://github.com/llvm/llvm-project/commit/dfcd28df1d80c1056aa820bd148e6dba42166945
  Author: blazej-smorawski <56126596+blazej-smorawski at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    A offload/plugins-nextgen/common/include/APIHelpers.h
    M offload/plugins-nextgen/common/include/DLWrap.h
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/level_zero/CMakeLists.txt
    M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
    M offload/plugins-nextgen/level_zero/include/L0CmdListManager.h
    A offload/plugins-nextgen/level_zero/include/L0Compat.h

  Log Message:
  -----------
  [offload] Add `dlwrap::loaded` function to check for optional symbols (#210737)

This PR adds a new template into `dlwrap` namespace that can be used to
check if a symbol was correctly loaded. It adds and easy way to see if
version of shared object in a system has required capability. We could
use it to improve prefetch in CUDA backend as noted
[here](https://github.com/llvm/llvm-project/blob/main/offload/plugins-nextgen/cuda/src/rtl.cpp#L912)
without breaking compatibility with older platforms using CUDA older
than 13.

In the case of prefetch, the new `dlwrap` API could be used like: 
```cpp
bool BatchedPrefetchAvailable = dlwrap::loaded<cuMemPrefetchBatchAsync>();
if (BatchedPrefetchAvailable)
    cuMemPrefetchAsync(....)
else
    // Current implementation
```

Small note, to implement the prefetch we will also have to make loading
of the symbols optional inside plugins too. This would require to change
it
[here](https://github.com/llvm/llvm-project/blob/main/offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp#L176),
but I think that the change can be a part of a PR that implements
prefetch.


  Commit: 3edb821ef483d91b99defd7297a724ab32f12457
      https://github.com/llvm/llvm-project/commit/3edb821ef483d91b99defd7297a724ab32f12457
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-compare-all_of.ll
    M llvm/test/CodeGen/X86/vector-compare-any_of.ll

  Log Message:
  -----------
  [X86] vector-compare-all_of/any_of - updates tests to use reduction intrinsics (#213683)

These more closely match middle-end IR and currently expand to the
existing shuffle/bitcast patterns.


  Commit: e2c3b4e03a763d4a83cbc1176c075f082c3e966e
      https://github.com/llvm/llvm-project/commit/e2c3b4e03a763d4a83cbc1176c075f082c3e966e
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libsycl/unittests/mock/helpers.cpp

  Log Message:
  -----------
  [libsycl][Unit] Tighten mock liboffload API argument checks (#211035)

Prior to this patch, unit test default actions for mock liboffload
returned errors when receiving invalid arguments. There are only a few
valid scenarios where the runtime should expect and handle error codes
returned by liboffload (for example, checking whether a pointer is USM
or not). In most cases, the calls should not be made with invalid
arguments by libsycl at all, and especially not with the type of invalid
arguments that we can check for in default actions, like nullptrs or
invalid size values.

This patch changes such default action checks to trigger test failures
directly instead of mocking error codes.


  Commit: 877c39aa8e15abe05c4c9562743d49b29689f2ce
      https://github.com/llvm/llvm-project/commit/877c39aa8e15abe05c4c9562743d49b29689f2ce
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/openmp-target-in-reduction-debug.mlir

  Log Message:
  -----------
  [OpenMPIRBuilder] Handle empty blocks in restoreIPandDebugLoc (#212535)

`restoreIPandDebugLoc` previously only recovered a debug location when
the insertion block was non-empty, using its last instruction. For an
empty block it left the current debug location unchanged so instructions
emitted afterwards could have wrong debug location.

This PR enhance `restoreIPandDebugLoc` to also handle the empty-block
case: when the insertion point is at the end of an empty block,
synthesize a location scoped to the parent function's subprogram
provided the function has debug metadata.

This helps us get a valid debug location when we switch to `CodeGenIP`
in `emitOffloadingArrays` even when `CodeGenIP` is pointing to an empty
`BB`.

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

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 469dcdfd46d5102b1cab0fabf45c1ae1c5081eb0
      https://github.com/llvm/llvm-project/commit/469dcdfd46d5102b1cab0fabf45c1ae1c5081eb0
  Author: Ivan R. Ivanov <iivanov at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A offload/test/.clang-format

  Log Message:
  -----------
  [offload][test] Instruct clang-format to not reflow comments (#213696)

Without this, clang-format attempts to reflow check lines in tests,
resulting in broken tests.


  Commit: 786f2efa16e3570f445da680a1a0d68dfa2daaa6
      https://github.com/llvm/llvm-project/commit/786f2efa16e3570f445da680a1a0d68dfa2daaa6
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/libcxx-lit

  Log Message:
  -----------
  [libc++][CI] run-buildbot and libcxx-lit need a way to pass the paths to cmake and ninja (#213511)

macOS/Xcode don't have cmake or ninja anywhere in a default PATH, so
run-buildbot and libcxx-lit fail unless you do some PATH surgery before
running them. Allow passing them as environment variables instead, so
run-buildbot can be invoked as `CMAKE=$(xcrun --find cmake)
NINJA=$(xcrun --find ninja) CC=$(xcrun --find clang) CXX=$(xcrun --find
clang++) run-buildbot` on macOS. Allow cmake to be passed to libcxx-lit
in a similar fashion.


  Commit: 17fd0c3e29074ed21b3de6cf850d5dc23c702bd0
      https://github.com/llvm/llvm-project/commit/17fd0c3e29074ed21b3de6cf850d5dc23c702bd0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  [lldb][test] Give a directly created lldb-dap session the init commands (#213553)

create_debug_adapter passes the commands that carry the configuration
the test suite was invoked with, and a test that builds a
DebugAdapterServer itself got none of them, so that session ran
unconfigured. It matters wherever the suite configures the debugger
through settings, such as pointing a platform at the runtime it
launches.


  Commit: 7279e4042d207b077ca752af7b982bd6e745b7f4
      https://github.com/llvm/llvm-project/commit/7279e4042d207b077ca752af7b982bd6e745b7f4
  Author: original-cooling-space <zhangweize9 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M third-party/benchmark/test/basic_test.cc

  Log Message:
  -----------
  [benchmark] Fix -Wunused-but-set-variable warning in basic_test (#213637)

Fix a build error when building benchmark unit tests with modern
GCC/Clang compilers under strict warning options (-Werror).

In `test/basic_test.cc`, the variable `sum` in `BM_OneTemplateFunc` was
assigned but never read, triggering `-Wunused-but-set-variable`.

Silenced the warning by marking sum with `[[maybe_unused]]`, preserving
the benchmark function's logic while ensuring clean build output.

### Description  
Fixes a build error when compiling `third-party/benchmark` unit tests
with modern GCC/Clang compilers under `-Werror`.

In `test/basic_text.cc`, the variable `sum` in `BM_OneTemplatcFunc` was
assigned but never read, triggering `-Wunused-but-set-variable`.

### Solution  
Silenced the warning by marking sum with `[[maybe_unused]]`, preserving
the benchmark function's logic while ensuring clean build output.

### Test Plan  
1. Configured CMake with `-DBENCHMARK_ENABLE_TESTING=ON` and
`-DBENCHMARK_ENABLE_WERROR=ON`.
2. Built the target: `cmake --build build -j$(nproc)` -> Build succeed
with zero warnings/errors.
3. Executed unit tests: `ctest --test-dir build` -> 100% test passed.  

### Environment  
- **OS**: Linux (6.6.87.2-microsoft-standard-WSL2)  
- **Compiler**: Clang 22.1.8 / GCC 16.1.1 20260728  
- **CMake**: 4.4.2


  Commit: e7713ee70b87a9ca1b5f38e090bf90677365a43a
      https://github.com/llvm/llvm-project/commit/e7713ee70b87a9ca1b5f38e090bf90677365a43a
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/docs/Extensions.md
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/MC/MCAsmInfoELF.cpp
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/test/tools/llvm-readobj/ELF/section-types.test

  Log Message:
  -----------
  [dyndbg][llvm][ELF] Add ELF section type for dynamic debugging (#208803)

Add ELF section type `SHT_LLVM_DYNDBG_ELF` for embedding the "inner"
unoptimized dynamic debugging ELF object within the "outer" optimized
ELF object.

RFC: https://discourse.llvm.org/t/90113


  Commit: c9d04c5ac99338be132189e33c7a40791fb51265
      https://github.com/llvm/llvm-project/commit/c9d04c5ac99338be132189e33c7a40791fb51265
  Author: Karim Alweheshy <karim.alweheshy at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    M lld/test/MachO/bp-section-orderer.s

  Log Message:
  -----------
  [lld] Report temporal BP profile resolution (#212127)


  Commit: 084f6484d76625b995c07f512a323ab7cdc5351d
      https://github.com/llvm/llvm-project/commit/084f6484d76625b995c07f512a323ab7cdc5351d
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/test/libcxx/vendor/apple/availability-with-pedantic-errors.compile.pass.cpp
    M libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
    M libcxx/test/std/time/time.hash/time.hash_enabled.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Fix a few test conditions (#213512)

libcxx/vendor/apple/{availability-with-pedantic-errors.compile.pass.cpp,disable-availability.sh.cpp}
both require the platform to support availability markup but weren't
labeled as such. std/time/time.hash/time.hash_enabled.pass.cpp has some
leap second tests that are missing the guards <chrono> uses to include
<__chrono/leap_second.h> and will fail if experimental tzdb is set but
the other ones aren't.


  Commit: 73a9a45f492913eab1cb147ccbd744ddedeaf091
      https://github.com/llvm/llvm-project/commit/73a9a45f492913eab1cb147ccbd744ddedeaf091
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/move.bench.cpp
    M libcxx/test/benchmarks/algorithms/modifying/move_backward.bench.cpp
    R libcxx/test/benchmarks/containers/deque_iterator.bench.cpp

  Log Message:
  -----------
  [libc++] Fold deque iterator benchmarks into algorithm benchmarks (#212279)

The deque::iterator benchmarks were not truly about deque::iterator, but
about specialized algorithm implementations we have for segmented
iterators. This patch handles them as such, like we do for other
specialized algorithms like vector<bool>.


  Commit: e70196862584c5b8952919b0e8b994c4e3649326
      https://github.com/llvm/llvm-project/commit/e70196862584c5b8952919b0e8b994c4e3649326
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/num-iters-for-store-load-conflict.ll

  Log Message:
  -----------
  [LAA] Properly report strided access preventing store-to-load forwarding (#208791)

Original test by @fhahn in https://github.com/llvm/llvm-project/pull/191867, further reduced here.
Before this change LAA results in

> maximum safe store-load forward width of 32|0 bits

for `i32` accesses, effectively meaning that only `VF == 1` is safe, yet
not explicitly returning `false` from `couldPreventStoreLoadForward`.
This PR fixes that.


  Commit: fe41b737af5229a22313ac18b760fa5984c4afb1
      https://github.com/llvm/llvm-project/commit/fe41b737af5229a22313ac18b760fa5984c4afb1
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.wave64.err.ll

  Log Message:
  -----------
  Reland "[AMDGPU] Fix llvm.amdgcn.ballot with return width != wavefront size" (#213635)

Reverts https://github.com/llvm/llvm-project/pull/212628

This relands #211493, which was reverted because
ockl_dm_alloc/ockl_dm_dealloc in device-libs emit an i32 ballot on
wave64, which GlobalISel cannot select (one bit per lane doesn't fit).
[#212813](https://github.com/llvm/llvm-project/pull/212813) widens the
clang ballot builtins to the wavefront size so a narrower-than-wave
ballot is no longer emitted, fixing the root cause.


  Commit: 89f2b9351909241964aa98a81aa6de19c931d66c
      https://github.com/llvm/llvm-project/commit/89f2b9351909241964aa98a81aa6de19c931d66c
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp

  Log Message:
  -----------
  [analyzer] Fix fragile logic in VisitCXXNewExpr (#213678)

This part of the engine code had assumed that an `evalBind` call always
produced exactly one transition. This was probably always satisfied by
the existing `eval::Bind` checkers (because the code is old and I don't
know about any bugs caused by this), but it was still fragile and
problematic to rely on this undocumented property of checkers.

This commit introduces a `for` loop to ensure that all nodes produced by
`evalBind` are handled in an identical manner (the same way as the
single node was handled previously).

(Note that not passing a `State` to `makeNodeWithBinding` is equivalent
to passing the state of the predecessor node.)

We noticed this problem during the review of the NFC commit
53ee7b167d8aee0a75c1332ca4a6aa037e0869a0 and decided to put this
(arguably non-NFC) change into a separate PR.


  Commit: 414b4a912c4ebc47ffbe72ab7446a4804a2b4130
      https://github.com/llvm/llvm-project/commit/414b4a912c4ebc47ffbe72ab7446a4804a2b4130
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/TestFrameVarDILBitFieldExtraction.py

  Log Message:
  -----------
  [lldb][DIL] Validate bitfield extraction ranges (#213055)

The DIL bitfield extraction operator `base[high:low]` creates a
synthetic bitfield child without validating the requested range.  Three
malformed ranges reach the data layer and either return nonsense or
crash.  Reproduced with a 32-bit `int value` and DIL enabled:

```
(lldb) settings set target.experimental.use-DIL true
(lldb) frame variable 'value[-1:0]'
(int:2) value[-1:0] = 2
```

A negative index is accepted and produces a meaningless child.
`first_index`/`last_index` are signed `int64_t`, but
`GetSyntheticBitFieldChild` takes `uint32_t`, so `-1` silently wraps to
a huge unsigned offset.

```
(lldb) frame variable 'value[0:64]'
Assertion failed: (bitfield_bit_size <= 64), function GetMaxU64Bitfield,
file DataExtractor.cpp, line 580.
```

A width greater than 64 bits aborts.  `DataExtractor::GetMaxU64Bitfield`
only supports up to 64 bits: it asserts in an assertions build and
otherwise performs an out-of-bounds shift.  A 32-bit `value` with range
`[0:64]` is 65 bits, enough to trip it.

```
(lldb) frame variable 'value[100:50]'
(int:51) value[100:50] = 0
```

A high index past the base object's storage returns a garbage child in a
normal build.  Under UBSan the read/format path shifts by an oversized
amount derived from the offset:

```
(lldb) frame variable 'value[100:50]'
DataExtractor.cpp:591:12: runtime error: shift exponent 234 is too large
for 64-bit type 'uint64_t'
```

Reject all three in the DIL evaluator before the synthetic child is
created: a negative `first_index`/`last_index`, a normalized width
greater than 64 bits, and a high index at or beyond the base object's
bit size (queried with `GetCompilerType().GetBitSize`).  Each returns a
`DILDiagnosticError` with a clear message.  Valid in-range extractions
are unaffected.

Adds the three malformed ranges to the DIL bitfield extraction API test
(`TestFrameVarDILBitFieldExtraction`). Without the fix the test fails on
the first case (`value[-1:0]` is expected to error but succeeds); the
`[0:64]` case additionally asserts and the `[100:50]` case is a UBSan
shift-out-of-bounds.


  Commit: 86c1a9e688a3631f8c533e4b87bb2b19a7a8c7f6
      https://github.com/llvm/llvm-project/commit/86c1a9e688a3631f8c533e4b87bb2b19a7a8c7f6
  Author: Tony Allevato <tony.allevato at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Sema/SemaSwift.cpp
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Headers/RawIdentifiers.apinotes
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Headers/RawIdentifiers.h
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Modules/module.modulemap
    A clang/test/APINotes/swift-name-raw-identifiers.m
    M clang/test/SemaObjC/attr-swift_name.m

  Log Message:
  -----------
  [Sema] Add support for Swift raw identifiers in the `swift_name` attribute and APINotes. (#199531)

This is the upstream version of
https://github.com/swiftlang/llvm-project/pull/12995 from the swiftlang
fork.

**Motivation:** Swift 6.2 added support for [raw
identifiers](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0451-escaped-identifiers.md),
which are backtick-delimited identifiers that can contain non-identifier
characters like `` let `hello world` = `foo/bar:baz` ``. This change
ensures that those identifiers can be used when setting Swift names for
C decls in APINotes and the `swift_name` attribute.


  Commit: 33a20fc45f9b32746943b777375ad30f8f9ec9f4
      https://github.com/llvm/llvm-project/commit/33a20fc45f9b32746943b777375ad30f8f9ec9f4
  Author: Jake Daly <48452250+jakemdaly at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll

  Log Message:
  -----------
  [AMDGPU] Do not reset AsyncScore when recording an async mark (#213144)

AsyncScore is a snapshot of the counter scores used by async operations,
which recordAsyncMark stores into AsyncMarks. Like the other scores
tracked by the brackets, these snapshots need to be monotonically
increasing: determineAsyncWait indexes into AsyncMarks and uses the
selected entry directly to compute the wait, so each mark has to
describe the state of every async operation issued before it, not just
those issued since the previous mark.


  Commit: 25d130fc7efffd4d6b87ad9ab5193ce10cf37edb
      https://github.com/llvm/llvm-project/commit/25d130fc7efffd4d6b87ad9ab5193ce10cf37edb
  Author: Karim Alweheshy <karim.alweheshy at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp
    A lld/test/MachO/bp-section-orderer-safe-thunks.s

  Log Message:
  -----------
  [lld-macho] Include ICF safe thunks in balanced partitioning (#212096)

Mach-O balanced partitioning currently discovers candidate sections by
walking the input-file section graph. In `--icf=safe_thunks` mode,
address-significant functions can instead be emitted as linker-created
thunk sections after that graph has been built. A temporal-profile name
then resolves to the dead folded input while the callable section
present in the final binary is never eligible for BP ordering.

Factor candidate collection into a helper, then inspect the final
`inputSections` set for sections containing a `Defined` symbol marked
`ICFFoldKind::Thunk`. This makes emitted ICF safe thunks visible while
keeping unrelated synthetic metadata outside BP.

The new arm64 regression folds a profiled address-significant function
into a 4-byte safe thunk and verifies both the BP startup count and
final symbol order. Without the change, BP orders zero startup sections
for that profile; with the change it orders the emitted thunk first.


  Commit: ab130aaf530447deb51e5283981458115bd09a60
      https://github.com/llvm/llvm-project/commit/ab130aaf530447deb51e5283981458115bd09a60
  Author: Demetrius Kanios <demetrius at kanios.net>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
    M llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp

  Log Message:
  -----------
  [GlobalISel] Add immediates to `LegalizerQuery` (#211101)

Expands `LegalityQuery` to include instruction immediates in the query.

This allows instructions with immediates to be handled more fully with
legalization rules/predicates (e.g. `G_SEXT_INREG` based on its sext
width) rather than having to resort to custom legalizer logic.

Split from #198979


  Commit: 8014bff862308bc85287ddf70246022681a6d17f
      https://github.com/llvm/llvm-project/commit/8014bff862308bc85287ddf70246022681a6d17f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang/include/flang/Parser/parsing.h
    M flang/include/flang/Parser/user-state.h
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/ParserActions.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18-parse-demo/f18-parse-demo.cpp

  Log Message:
  -----------
  [flang] Pass LangOptions to parser via UserState (#213472)

This will help deal with syntax changes across different versions of
OpenMP. There are certain cases where being able to generate different
AST for the same source code depending on the version of the OpenMP
spec makes semantic analysis easier.

---------

Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>


  Commit: 621f550aeafc7f9d6bddf8b3403fd9795ecdc3d9
      https://github.com/llvm/llvm-project/commit/621f550aeafc7f9d6bddf8b3403fd9795ecdc3d9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/test/Parser/OpenMP/map-modifiers-v60.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    M flang/test/Semantics/OpenMP/map-modifiers.f90

  Log Message:
  -----------
  [flang][OpenMP] Version-dependent parsing of map-type-modifier (#213473)

Up until 5.2, ALWAYS, CLOSE, and PRESENT were keywords of the
map-type-modifier. Starting from 6.0 they all became their own
single-keyword modifiers. This allowed specifying them together,
unlike in the past where map-type-modifier was unique.

To avoid using a single representation of the modifiers, and be
able to validate them through non-conditional properties, the
AST was rewritten back to the older form in canonicalization
when the spec version was set to 5.2 or earlier.

Now that the parser is version-aware, it can generate the desired
AST from the start.

Additionally, extract the OMPX_HOLD modifier out of the map-type-
modifier into its own AST node regardless of version.


  Commit: cc30c65cbeed4f643d3dfe5869dcbbb998cbc1c0
      https://github.com/llvm/llvm-project/commit/cc30c65cbeed4f643d3dfe5869dcbbb998cbc1c0
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A clang/docs/ClangCheck.md
    R clang/docs/ClangCheck.rst
    A clang/docs/ClangLinkerWrapper.md
    R clang/docs/ClangLinkerWrapper.rst
    A clang/docs/ClangNVLinkWrapper.md
    R clang/docs/ClangNVLinkWrapper.rst
    A clang/docs/ClangOffloadBundler.md
    R clang/docs/ClangOffloadBundler.rst
    A clang/docs/ClangRepl.md
    R clang/docs/ClangRepl.rst
    A clang/docs/ClangSYCLLinker.md
    R clang/docs/ClangSYCLLinker.rst
    A clang/docs/ClangTools.md
    R clang/docs/ClangTools.rst
    A clang/docs/ClangTransformerTutorial.md
    R clang/docs/ClangTransformerTutorial.rst
    A clang/docs/DriverInternals.md
    R clang/docs/DriverInternals.rst
    A clang/docs/HowToSetupToolingForLLVM.md
    R clang/docs/HowToSetupToolingForLLVM.rst
    A clang/docs/InternalsManual.md
    R clang/docs/InternalsManual.rst
    A clang/docs/JSONCompilationDatabase.md
    R clang/docs/JSONCompilationDatabase.rst
    A clang/docs/LibASTImporter.md
    R clang/docs/LibASTImporter.rst
    A clang/docs/LibASTMatchers.md
    R clang/docs/LibASTMatchers.rst
    A clang/docs/LibASTMatchersTutorial.md
    R clang/docs/LibASTMatchersTutorial.rst
    A clang/docs/Multilib.md
    R clang/docs/Multilib.rst
    A clang/docs/RAVFrontendAction.md
    R clang/docs/RAVFrontendAction.rst
    A clang/docs/RefactoringEngine.md
    R clang/docs/RefactoringEngine.rst

  Log Message:
  -----------
  [docs] Rename selected Clang docs to Markdown (#210842)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.


  Commit: 1789918aa3272d90bc26006c4c18e1435ea15659
      https://github.com/llvm/llvm-project/commit/1789918aa3272d90bc26006c4c18e1435ea15659
  Author: SharonXSharon <xiaoranxu.nju at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/test/tools/llvm-profdata/merge-incompatible.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [llvm-profdata] Reject merging single-byte-coverage with count profiles (#213177)

llvm-profdata merge previously silently merged single-byte-coverage
profiles with count profiles. We should reject this, because
SingleByteCoverage will always be set to true in the merged profile, and
mess up the PGO pipeline.

mergeProfileKind now errors with cannot merge single-byte-coverage
profiles with count (non-coverage) profiles when exactly one side has
InstrProfKind::SingleByteCoverage set.

Note: Used AI to generate the code

---------

Co-authored-by: Sharon Xu <sharonxu at fb.com>


  Commit: 9cb3a6ed4f4eecb78c41e589341263c2d0cecd36
      https://github.com/llvm/llvm-project/commit/9cb3a6ed4f4eecb78c41e589341263c2d0cecd36
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/test/ELF/aarch64-feature-bti.s
    M lld/test/ELF/aarch64-feature-gcs.s
    M lld/test/ELF/aarch64-feature-pauth.s
    M lld/test/ELF/aarch64-memtag-abi.s
    M lld/test/ELF/aarch64-memtag-android-abi.s
    M lld/test/ELF/driver.test
    M lld/test/ELF/i386-feature-cet.s
    M lld/test/ELF/riscv-feature-zicfilp-func-sig.s
    M lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
    M lld/test/ELF/riscv-feature-zicfiss.s
    M lld/test/ELF/startstop-visibility.s
    M lld/test/ELF/target-specific-options.s
    M lld/test/ELF/x86-64-feature-cet.s

  Log Message:
  -----------
  [ELF] Quote the value in "unknown -z" diagnostics (#213572)

To make stray whitespace more visible (see #212523)
```
$ echo end > tmp.f90 &&  flang -fuse-ld=lld  -Wl,"-z execstack" tmp.f90
ld.lld: warning: unknown -z value:  execstack
```

Drop the colon (colon is typically used without quotes in lld/ELF
diagnostics).

Change ErrAlways to Err so that --noinhibit-exec downgrades the errors
to warnings. Read --noinhibit-exec before readConfigs, as Err depends on
it.


  Commit: 5ab6b42200a4646c9581dc19dc677599a81230b0
      https://github.com/llvm/llvm-project/commit/5ab6b42200a4646c9581dc19dc677599a81230b0
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/docs/ClangCheck.md
    M clang/docs/ClangLinkerWrapper.md
    M clang/docs/ClangNVLinkWrapper.md
    M clang/docs/ClangOffloadBundler.md
    M clang/docs/ClangRepl.md
    M clang/docs/ClangSYCLLinker.md
    M clang/docs/ClangTools.md
    M clang/docs/ClangTransformerTutorial.md
    M clang/docs/DriverInternals.md
    M clang/docs/HowToSetupToolingForLLVM.md
    M clang/docs/InternalsManual.md
    M clang/docs/JSONCompilationDatabase.md
    M clang/docs/LibASTImporter.md
    M clang/docs/LibASTMatchers.md
    M clang/docs/LibASTMatchersTutorial.md
    M clang/docs/Multilib.md
    M clang/docs/RAVFrontendAction.md
    M clang/docs/RefactoringEngine.md

  Log Message:
  -----------
  [docs] Rewrite selected Clang docs to Markdown (#210843)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #210842 , which will be a standalone
commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.

This was prepared with rst2myst plus LLM-assisted cleanup. I paged
through all the generated HTML looking for migration artifacts, and all
of the differences I could find appear to be formatting error
corrections.


  Commit: 073f2a25646a88b16703c01989ce008d3e0a53fd
      https://github.com/llvm/llvm-project/commit/073f2a25646a88b16703c01989ce008d3e0a53fd
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/external.ll

  Log Message:
  -----------
  [SLP] Add additional test for deferred rematerialization (#213400)

More tests for #211680.

Also cleaned up some commented out code that slipped through with the
old test.

New test stresses the scheduling updates.


  Commit: b3fe562bc655e0532beb423ed9bdbfd76a7e881a
      https://github.com/llvm/llvm-project/commit/b3fe562bc655e0532beb423ed9bdbfd76a7e881a
  Author: Shengxin Pei <TPPPP72 at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/test/Sema/block-misc.c
    R clang/test/Sema/gh183974.c

  Log Message:
  -----------
  [Clang][test] Relocate __block regression test to block-misc.c NFC (#213710)


  Commit: 4d7940544ffa50ef9fa8ccc506f5f70a8bf93166
      https://github.com/llvm/llvm-project/commit/4d7940544ffa50ef9fa8ccc506f5f70a8bf93166
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Dialect/Arith/emulate-wide-int-unsupported.mlir
    M mlir/test/Transforms/test-legalize-type-conversion.mlir
    M mlir/test/python/rewrite.py

  Log Message:
  -----------
  [mlir] Add missing materialization function diag for dialect convertion (#207689)

This Patch adds more precise diagnostics for when a pass is missing a
target/source materialization function, making it easier to locate the
issue in the pass.


  Commit: c5b02a931385d197ef634ae0c21102ea52626e18
      https://github.com/llvm/llvm-project/commit/c5b02a931385d197ef634ae0c21102ea52626e18
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/source/DataFormatters/FormatterSection.cpp
    M lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
    M lldb/unittests/DataFormatter/FormatterSectionTest.cpp

  Log Message:
  -----------
  [lldb][bytecode] Improve testing of bytecode section loading (#212568)

Add tests for loading embedded bytecode formatters from binaries.

Assisted-by: claude


  Commit: dd9eb9a5c397d4e5f39a31b38013dc8731c5b64b
      https://github.com/llvm/llvm-project/commit/dd9eb9a5c397d4e5f39a31b38013dc8731c5b64b
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Analysis/CodeMetrics.cpp
    M llvm/test/Transforms/LoopUnroll/prepare-for-lto.ll

  Log Message:
  -----------
  [LTO][CodeMetrics] Count indirect calls as inline candidates when `PrepareForLTO` is set (#192154)

Indirect calls may be resolved during the post-link LLVM pipeline. Thus, count them as potential inline candidates during the pre-link LTO phase.


  Commit: 27cc956b00682b5e9162e7325edde51f264d69d6
      https://github.com/llvm/llvm-project/commit/27cc956b00682b5e9162e7325edde51f264d69d6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll

  Log Message:
  -----------
  [SLP]Keep tree-claimed peeled reassociated scalars alive

Peeled scalars are erased unconditionally, but a gather node may still
reference one in its generated buildvector. Keep such scalars (and the
peeled scalars in their operand chains) as plain scalar code.

Fixes #213674

Reviewers: 

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


  Commit: 2ff5099be4ea2f88609c23037fdbe4e355739a04
      https://github.com/llvm/llvm-project/commit/2ff5099be4ea2f88609c23037fdbe4e355739a04
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/ssub-with-overflow.ll

  Log Message:
  -----------
  [ConstraintElim] Set NSW on sub when simplifying ssub.with.overflow. (#213532)

When simplifying ssub.with.overflow to a plain sub, we already proven
that the sub does not sign wrap. Replace it with `sub nsw`.

No changes on
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/842, but
there is very little usage of ssub.with.overflow in default C/C++
builds.

It improves optimizations for code where ssub.with.overflow is used more
widely, like Clang + UBSan or Swift where checked arithmetic is the
default.

A simple C example is https://clang.godbolt.org/z/cv5MbYsrz

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


  Commit: fc1f3e7a26f202a3928daa4102027e4c31746513
      https://github.com/llvm/llvm-project/commit/fc1f3e7a26f202a3928daa4102027e4c31746513
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.wave64.err.ll

  Log Message:
  -----------
  Revert "Reland "[AMDGPU] Fix llvm.amdgcn.ballot with return width != wavefront size"" (#213713)

Reverts llvm/llvm-project#213635

buildbot failures are reported here:
https://github.com/llvm/llvm-project/pull/213635#issuecomment-5169081277


  Commit: 57965996196ca9caf62784392caf478a9d4133b3
      https://github.com/llvm/llvm-project/commit/57965996196ca9caf62784392caf478a9d4133b3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/fast-basictest.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-fadd-reassoc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-ordered-fadd.ll

  Log Message:
  -----------
  [SLP]Allow unordered fadd reductions with reassoc only

The unordered reduction matcher required isAssociative() for fadd,
i.e. reassoc + nsz, a condition inherited from InstCombine-style
reassociation that also cancels and folds terms. Pure regrouping of
additions cannot change the sign of a zero result, so nsz is not
needed here: the reduction is seeded with the exact -0.0 identity,
the repeated-value multiplier preserves the sign of zero, and
constant folding is IEEE-exact. Brings the fadd requirement in line
with RecurrenceDescriptor, LV and with fmul, which accept reassoc
alone.

Reviewers: hiraditya, bababuck, RKSimon

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


  Commit: d8952cde88ae46e2824dc12fefa2eb87c49686ca
      https://github.com/llvm/llvm-project/commit/d8952cde88ae46e2824dc12fefa2eb87c49686ca
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp

  Log Message:
  -----------
  [clang][APINotes] Do not duplicate Escapable and Copyable attributes (#213716)

Applying them when they already present is a wasted allocation and can
also cause trouble in the Swift compiler that can complain about
duplicated attributes.

rdar://174868727


  Commit: 01935196807a3e816580d36616f5ec02ad8e50ef
      https://github.com/llvm/llvm-project/commit/01935196807a3e816580d36616f5ec02ad8e50ef
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  Partial-revert "[IR] Make semantics of strictfp consistent v2" (#213723)

This partially reverts 15bb4a97a7 ([IR] Make semantics of strictfp
consistent v2, #211769) due to a verifier failure in real-world code,
disabling just the verifier-check with a FIXME. The reason for a partial
manual-revert is because a clean revert doesn't apply cleanly: in
particular, the LangRef is untouched by this patch.

Ref:
https://github.com/llvm/llvm-project/pull/211769#issuecomment-5169150682


  Commit: 79beb26b22e15932bfe85c91fcac3ce96ccc7c19
      https://github.com/llvm/llvm-project/commit/79beb26b22e15932bfe85c91fcac3ce96ccc7c19
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/list.md
    R clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [clang-tidy][docs] Rename static analyzer check docs to Markdown (#211448)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.


  Commit: d2bfc1b9d50552533a099e4d5b6501068ec8b8d8
      https://github.com/llvm/llvm-project/commit/d2bfc1b9d50552533a099e4d5b6501068ec8b8d8
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    M clang-tools-extra/clang-tidy/tool/check_update_docs.py
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullPointerArithm.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.FixedAddressDereference.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.UnconditionalVAArg.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.GenericTaint.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedDiv.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.ArrayBound.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.MmapWriteExec.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PointerSub.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.VAList.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Chroot.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NotNullTerminated.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.UninitializedRead.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.md
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.md
    M clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
    M clang-tools-extra/docs/clang-tidy/checks/list.md
    M clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/clang-tidy/infrastructure/update-checks-list.test

  Log Message:
  -----------
  [clang-tidy][docs] Generate static analyzer check docs as Markdown (#211449)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #211448 , which will be a standalone
commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.

Unlike the other changes in this series, most of these changes are from
the generator script. Ignore all files under checks/ except `list.md`,
that is hand-modified. I confirmed that running the generator script
produces no changes.

Notably, the generator script *added new files*, since it seems there
are new checks since the script was run.


  Commit: 4296c142ee473b640fac9c8f0af0012e8496d039
      https://github.com/llvm/llvm-project/commit/4296c142ee473b640fac9c8f0af0012e8496d039
  Author: Aidan Lam <aidanlam02 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv

  Log Message:
  -----------
  [libc++][docs] Mark LWG3116 as Complete (#209916)

We can mark this issue as completed because the fix for LWG 3116 is
already implemented in <scoped_allocator>, and no further tests are
needed.

Why no further tests are needed: The existing test suite in
libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
already provides full coverage for the scenario explained in lwg3116.

This test suite instantiates nested scoped allocators (using A1 and A2)
and calls .construct(). Because std::allocator_traits cannot be
instantiated with a reference type (e.g., A1&), this test suite would
fail to compile if the reference-stripping fix were missing.

Closes #100244


  Commit: f338032ff6f5c4d082cde3d9e89c95afc3b6982a
      https://github.com/llvm/llvm-project/commit/f338032ff6f5c4d082cde3d9e89c95afc3b6982a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fmul.ll

  Log Message:
  -----------
  [SLP]Support copyable fmuls in fmuladd, modeled as fmuladd(a, b, -0.0)

A copyable lane holding a single-use fmul a, b is modeled as
fmuladd(a, b, -0.0), which equals fmul a, b (the add of -0.0 is exact
and preserves signed zeros), so the multiply dies instead of being
computed and gathered. Applied only when every copyable lane is such
an fmul; multi-use fmuls and mixed copyables keep the
addend/multiplicand modeling. On a tie between fmuladd and fmul main
ops, fmuladd is preferred only when the fmuls are absorbed profitably:
single-use, operands not part of the list and vectorizable as
multiplicand operands.

Reviewers: bababuck, hiraditya, RKSimon

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


  Commit: 2ca22b6fe252f84e2c80528258446d609aa814fe
      https://github.com/llvm/llvm-project/commit/2ca22b6fe252f84e2c80528258446d609aa814fe
  Author: anoopkg6 <anoop.kumar6 at ibm.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
    M llvm/test/CodeGen/SystemZ/memmove-01.ll

  Log Message:
  -----------
  [SystemZ] Fix crash in EmitTargetCodeForMemmove with i32 size operand (#213726)

SystemZISD::MEMMOVE requires an i64 length operand, but Size was passed
raw. A constant size literal can be represented as i32, causing a
SelectionDAG verifier crash observed when compiling SPEC CPU benchmarks
wrf, cam4 and fotonik3d with -march=z17 -O3.

Fix by zero-extending Size to i64 before building the node.

Co-authored-by: anoop.kumar6 at ibm.com <anoopk at b35lp63.lnxne.boe>


  Commit: d5a6124259b55789bc49489632efa7c168a4f6cb
      https://github.com/llvm/llvm-project/commit/d5a6124259b55789bc49489632efa7c168a4f6cb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/test/CIR/CodeGen/new-null.cpp

  Log Message:
  -----------
  [CIR] Fix cleanup of temporaries with null-checked new expr (#213376)

We had a problem where a new expression that required both a null check
of the allocated pointer and a cleanup of temporaries values created for
the initializer was causing us to generate an unterminated cleanup
scope. This was happening because we weren't pre-creating a cleanup
scope around the entire expression for the temporary and ended up
emitting it in an unexpected location.

This change adds a check for the null-checked new expression in
`ConditionalEvaluationFinder` and wraps the call to emit the initializer
with `ConditionEvalulation::begin/endEvaluation` calls.

Note that I have sunk the `begin/endEvaluation` into the `emitInit`
lambda so that it can surround just the `emitNewInitializer` call and
not the `enterNewDeleteCleanup` call, which creates a local cleanup
scope for the case where the allocation succeeded but the constructor
throws an exception. Classic codegen calls `begin/endEvaluation` at a
higher level and ends up using an active flag for the allocation delete
cleanup even though the flag is always true when that cleanup is
reached.

Assisted-by: Cursor / various models


  Commit: 8f94ddb3e730a613885ef36384ebc50c9146ed85
      https://github.com/llvm/llvm-project/commit/8f94ddb3e730a613885ef36384ebc50c9146ed85
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/test/Shell/BuildScript/toolchain-clang.test
    M lldb/test/Shell/helper/build.py

  Log Message:
  -----------
  [lldb][test] Pick correct frontend depending on test language (#212848)

Clang configuration files may contain frontend-specific options.
So building Objective C files with the clang++ may fail due to an option not being available for the C frontend.
Clean up the code slightly and pick the correct compiler based on the file extension.


  Commit: 9e8e0d454a4c6d9aafc36c566fe831947facee0c
      https://github.com/llvm/llvm-project/commit/9e8e0d454a4c6d9aafc36c566fe831947facee0c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fmul.ll

  Log Message:
  -----------
  Revert "[SLP]Support copyable fmuls in fmuladd, modeled as fmuladd(a, b, -0.0)"

This reverts commit f338032ff6f5c4d082cde3d9e89c95afc3b6982a to fix
https://lab.llvm.org/buildbot/#/builders/227/builds/3894.

Reviewers: 

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


  Commit: d3184bc6c6a8129f5b53cbce939dc197883e71b6
      https://github.com/llvm/llvm-project/commit/d3184bc6c6a8129f5b53cbce939dc197883e71b6
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M llvm/test/CodeGen/AArch64/stack-protector-metadata.ll

  Log Message:
  -----------
  [clang] Don't warn on stack_protector_ignore in system macros (#213167)

Under -fstack-protector-all, stack_protector_ignore on a local is inert.
The warning is therefore accurate, and it stays useful in user code --
an opt-out that silently does nothing is worth knowing about.

The warning is not actionable when the attribute comes from a system
header macro and so this change disables it in system macros. Behavior
is otherwise unchanged. The attribute was already being ignored, so
suppressing the diagnostic hides nothing.

Also extend stack-protector-metadata.ll to cover the remaining
protection levels: test3/test4 for sspreq, where the opt-out metadata is
ignored, and test5/test6 for sspstrong, where it is honored. Only ssp
was covered before.

rdar://173529401


  Commit: 7167f5b066f9bb91913293b4ddb8ac9b2cb29db3
      https://github.com/llvm/llvm-project/commit/7167f5b066f9bb91913293b4ddb8ac9b2cb29db3
  Author: Artem Belevich <tra at google.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/Cuda.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M llvm/include/llvm/TargetParser/NVPTXTargetParser.def

  Log Message:
  -----------
  [clang][CUDA] Add support for CUDA 13.3, CUDA 13.4, and sm_107 (Rubin) (#211677)

Clang counterpart to the changes in #210646
- add Clang support for CUDA versions 13.3 and 13.4 (with PTX 9.3 and PTX 9.4)
- add support for targeting sm_107 / sm_107a / sm_107f (Rubin) GPU architecture.


  Commit: 895c744404962166c3d46f628ac38622fb47ea10
      https://github.com/llvm/llvm-project/commit/895c744404962166c3d46f628ac38622fb47ea10
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M openmp/runtime/cmake/config-ix.cmake

  Log Message:
  -----------
  [OpenMP] Remove Wasm limitation from openmp/runtime/cmake/config-ix.cmake (#213742)

This was originally added #71297, but this limitation no longer applies
to emscripten, and wasi-sdk will surly support this once threading is
ready there.


  Commit: 0a8ded578e787a3296ed9895cad78293e92eeef1
      https://github.com/llvm/llvm-project/commit/0a8ded578e787a3296ed9895cad78293e92eeef1
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.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/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/pragma-fenv_access.c
    M clang/test/CIR/Lowering/fenv.cir
    A clang/test/CIR/Lowering/strictfp.cir

  Log Message:
  -----------
  [CIR] Attach FenvAttr when strictfp mode is in effect (#213368)

This change adds tracking of floating-point constraints via the
CIRGenFPOptionsRAII object, deriving the state from the FP features in
effect tracking in the Clang AST. When we are about to generate an
operation that may require floating point constraints, a
CIRGenFPOptionsRAII object is used to get the effective floating-point
state from the expression for which we are generating the operations.
This object in turn sets the floating-point state of the CIRGenBuilder
which uses these settings to determine whether a cir::FenvAttr should be
attached to generated objects and, if so, what its state should be.

This does not cover complex operations, AArch64 builtins, or global
constructors. Those will be updated in follow-up changes.

Assisted-by: Cursor / various models


  Commit: f96829fc3530cd598855bf56118727be9ae467ac
      https://github.com/llvm/llvm-project/commit/f96829fc3530cd598855bf56118727be9ae467ac
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/docs/SandboxVectorizer.md
    R llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    R llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
    M llvm/test/Transforms/SandboxVectorizer/allow_files.ll
    R llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    R llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    R llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    A llvm/test/Transforms/SandboxVectorizer/bundle_basic.ll
    A llvm/test/Transforms/SandboxVectorizer/bundle_seed_slice.ll
    A llvm/test/Transforms/SandboxVectorizer/bundle_seed_slice_pow2.ll
    A llvm/test/Transforms/SandboxVectorizer/bundle_vec_aux_arg.ll
    M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
    M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
    M llvm/test/Transforms/SandboxVectorizer/external_uses.ll
    M llvm/test/Transforms/SandboxVectorizer/load_store_vec.ll
    M llvm/test/Transforms/SandboxVectorizer/pack.ll
    M llvm/test/Transforms/SandboxVectorizer/pack_reuse_end_to_end.ll
    M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
    M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
    M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
    M llvm/test/Transforms/SandboxVectorizer/stop_at.ll
    M llvm/test/Transforms/SandboxVectorizer/stop_bndl.ll
    M llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [SandboxVec] Rename BottomUpVec to BundleVec (#213197)

Use `bundle-vec(bottom-up)` or `bundle-vec(top-down)` to run the
bottom-up or top-down bundle vectorizer, respectively. For example:
```
opt -passes=sandbox-vectorizer \
-sbvec-collect-seeds=loads \
-sbvec-passes="seed-collection<tr-save,bundle-vec(top-down),tr-accept>" \
input.ll -S -o out.ll

opt -passes=sandbox-vectorizer \
-sbvec-collect-seeds=stores \
-sbvec-passes="seed-collection<tr-save,bundle-vec(bottom-up),tr-accept>" \
input.ll -S -o out.ll
```

This commit is NFC, except the BundleVec requiring the user to specify
the direction upon invocation.


  Commit: 4222f1a295638c8c9d2eecf8dd29a0df6da5ad88
      https://github.com/llvm/llvm-project/commit/4222f1a295638c8c9d2eecf8dd29a0df6da5ad88
  Author: Artem Belevich <tra at google.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm][NVPTX] Add EF_CUDA_SM107 to ELF CUDA architectures (#213747)


  Commit: 0f068e7ba2ddfeaf078f87d53a33c6d662d4ce10
      https://github.com/llvm/llvm-project/commit/0f068e7ba2ddfeaf078f87d53a33c6d662d4ce10
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/WASI.rules
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    A lldb/test/Shell/ObjectFile/wasm/build-id.yaml

  Log Message:
  -----------
  [lldb] Identify a WebAssembly module by its build id (#213554)

A Wasm module carries the identifier its linker gave it in a `build_id`
custom section, whose payload is the length of the identifier followed
by its bytes. That identifier is the only thing that tells one build of
a module from another.

`wasm-ld` emits the section only when asked, so the API test build asks
for it. A module linked without one still has no UUID.


  Commit: 2254bccea87cce9bdb568608d27440c2c1651eb3
      https://github.com/llvm/llvm-project/commit/2254bccea87cce9bdb568608d27440c2c1651eb3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
    A llvm/test/Transforms/SLPVectorizer/AArch64/fmuladd-absorbed-copyable-sched-deps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fmul.ll

  Log Message:
  -----------
  [SLP]Support copyable fmuls in fmuladd, modeled as fmuladd(a, b, -0.0)

A copyable lane holding a single-use fmul a, b is modeled as
fmuladd(a, b, -0.0), which equals fmul a, b (the add of -0.0 is exact
and preserves signed zeros), so the multiply dies instead of being
computed and gathered. Applied only when every copyable lane is such
an fmul; multi-use fmuls and mixed copyables keep the
addend/multiplicand modeling. On a tie between fmuladd and fmul main
ops, fmuladd is preferred only when the fmuls are absorbed profitably:
single-use, operands not part of the list and vectorizable as
multiplicand operands.

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

Recommit after the fix for the revert in 9e8e0d454a4c6d9aafc36c566fe831947facee0c

Reviewers: 

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


  Commit: 4b8274f741aee8298c3a3b5c2f3910b361b55d73
      https://github.com/llvm/llvm-project/commit/4b8274f741aee8298c3a3b5c2f3910b361b55d73
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp

  Log Message:
  -----------
  AMDGPU: Remove cvt-pknorm-vop3-insts from feature map (#213615)

This isn't used in clang for any builtin, so don't leak this.


  Commit: 2df0db6952fb5e059b14470c96a922683dc95a66
      https://github.com/llvm/llvm-project/commit/2df0db6952fb5e059b14470c96a922683dc95a66
  Author: Adam Magier <adam.a.magier.foss at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    A clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c

  Log Message:
  -----------
  [UBSan] Fix assertion failure in EmitCheckedInBoundsGEP for constant-… (#191278)

…folded overflowing offsets

EmitGEPOffsetInBytes has two paths: for fully constant GEPs it subtracts
pointer values and always returns OffsetOverflows=false, but for
non-constant GEPs it iterates operands using checked arithmetic. The
assertion in EmitCheckedInBoundsGEP assumed a constant TotalOffset
implies no overflow, conflating the two paths.

In the non-constant path, the offset can be entirely constant-folded
(constant index * constant element size) while the GEP itself remains
non-constant (runtime base pointer). If that arithmetic overflows
intptr_t, we get a constant TotalOffset with OffsetOverflows=true,
triggering the assertion. This is easily hit on 16-bit targets like
MSP430 with realistic struct array indices.

Remove the assertion. The existing codegen already handles this
correctly: the constant OffsetOverflows=true propagates into the check
condition, making the sanitizer always fire at runtime.

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

Assisted-by: Kiro CLI / Claude Opus 4.6 (1M context)


  Commit: ece39fd91f57e943a50c3d67873b75b90c933a7d
      https://github.com/llvm/llvm-project/commit/ece39fd91f57e943a50c3d67873b75b90c933a7d
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir

  Log Message:
  -----------
  [CIR]Add RecordType to our dense-array optimization in lowering (#213725)

This is an issue in AMDGPUAsmParser.cpp self-build, we have a lot of
record elements (~360k+!) in an array that causes us to have this TU be
near-never-ending(hour+). Classic codegen compiles this sub-minute on my
machine. With this patch, we are only about a 30% increase in time.

Note: Claude wrote much of the tests after I got through every exception
I could think of. I think this covers everything, and I hope there is no
missing coverage.


  Commit: 1e30ad88359b91be611e11fe49434440ae446799
      https://github.com/llvm/llvm-project/commit/1e30ad88359b91be611e11fe49434440ae446799
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.h

  Log Message:
  -----------
  [NVPTX] Remove redundant state from TargetMachine and Subtarget (NFC) (#213715)


  Commit: 7f04a40a220e2c741d4ae88a39ed9d4c7c87ff25
      https://github.com/llvm/llvm-project/commit/7f04a40a220e2c741d4ae88a39ed9d4c7c87ff25
  Author: satyanarayana reddy janga <satyajanga at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    A lldb/test/API/functionalities/process_save_core_minidump/partial_read/Makefile
    A lldb/test/API/functionalities/process_save_core_minidump/partial_read/TestProcessSaveCoreMinidumpPartialRead.py
    A lldb/test/API/functionalities/process_save_core_minidump/partial_read/main.cpp

  Log Message:
  -----------
  [lldb][minidump] write the memory after an unreadable page when saving minidump (#212641)

**Issue**
An internal failing test found a latent bug in lldb's save-core
(minidump writer). When it saved a memory range that had an unreadable
page in it, it:
  - stopped at that page and threw away the readable memory after it, 

Result: We couldnot get the stack traces from the minidump. in the below
example the **current logic is bailing out at the 6th region and not
writing other 70 regions.**

```
[satyajanga at devgpu011.eag2 ~/fbsource/fbcode (eacbfddefa|remote/master)]$ lldb
(lldb) file /data/users/satyajanga/fbsource/buck-out/v2/art/fbcode/55005549ebc49982/sand/tests/__Coro__/Coro
Current executable set to '/data/users/satyajanga/fbsource/buck-out/v2/art/fbcode/55005549ebc49982/sand/tests/__Coro__/Coro' (x86_64).
(lldb) b coro.cpp:44                                                                                                                              Breakpoint 1: where = Coro`::co_main() + 197 at coro.cpp:44, address = 0x00000000002335a5
(lldb) r
Process 3374177 launched: '/data/users/satyajanga/fbsource/buck-out/v2/art/fbcode/55005549ebc49982/sand/tests/__Coro__/Coro' (x86_64)
warning: (x86_64) /data/users/satyajanga/fbsource/buck-out/v2/art/fbcode/55005549ebc49982/sand/tests/__Coro__/__Coro__shared_libs_symlink_tree/libfolly_futures_tree.so unable to locate separate debug file (dwo, dwp). Debugging will be degraded (troubleshoot with https://fburl.com/missing_dwo)
Process 3374177 stopped
* thread #9, name = 'GlobalCPUThread', stop reason = breakpoint 1.1
       frame #0: 0x00000000002335a5 Coro`::co_main() at coro.cpp:44
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> target = lldb.debugger.GetSelectedTarget()
>>> process = target.GetProcess()
>>> regions = process.GetMemoryRegions()
>>> len(regions)
76
>>> for i in range(len(regions)):
...   region = regions[i]
...   if not region.IsReadable():
...     continue
...   base, end = region.GetRegionBase(), region.GetRegionEnd()
...   size = end - base
...   name = region.GetName() or ""
...   error = lldb.SBError()
...   data = process.ReadMemory(base, size, error)
...   bytes_read = len(data) if data else 0
...   if error.Success() and bytes_read == size:
...     continue
...   print(f" FAILED to read  region {i}, {name}  ")
...
 FAILED to read  region 6,
 FAILED to read  region 8,
 FAILED to read  region 10,
 FAILED to read  region 12,
 FAILED to read  region 15,
 FAILED to read  region 65, [vvar]
 FAILED to read  region 66, [vvar_vclock]
>>>
```

  

**Fix**

Rewrote ReadWriteMemoryInChunks in MinidumpFileBuilder.cpp to: save the
readable bytes, zero-fill the unreadable page, keep going, and record
the exact number of bytes actually written. That keeps the dump aligned
and preserves memory after a hole.

 **Test**
Added an lldb API test that builds a memory region with a readable page
followed by an unreadable tail, saves a core of it, and checks the
readable data comes back intact


  Commit: 7d9580d588df77aa5128055b006a90de9442a994
      https://github.com/llvm/llvm-project/commit/7d9580d588df77aa5128055b006a90de9442a994
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M libc/include/llvm-libc-proxy/CMakeLists.txt
    M libc/include/llvm-libc-proxy/elf_proxy.yaml
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Fix elf_proxy header generation (#213737)

Followup to fix the generated proxy header after #211428.

Assisted-by: Automated tooling, human reviewed.


  Commit: 97b34d6d63381bcd8bf36b6859bd2d9d0f5d1b76
      https://github.com/llvm/llvm-project/commit/97b34d6d63381bcd8bf36b6859bd2d9d0f5d1b76
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Tablegenerate TargetParser feature sets (#212945)

Traditionally we maintained 2 parallel feature mechanisms,
one in clang (later moved to TargetParser), with largely
mirrored subtarget features defined in the backend. Start
directly taking feature information from the backend and putting
it into TargetParser. This is still in a compromise mid-migration
state. We still have both the legacy "ArchAttr" bitfield integer,
plus a new AMDGPUFeatureBitset field stored in the table, which
isn't yet exported.

For the moment, the new bitset is only used to populate the
feature string name map, which is the big maintainability win.
This also lists an explicit subset of exported features to
avoid churn.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: dad557375c58271325aed7f4ba049ce3a0a7a367
      https://github.com/llvm/llvm-project/commit/dad557375c58271325aed7f4ba049ce3a0a7a367
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2_mat.ll

  Log Message:
  -----------
  [SPIR-V] Legalize wide-vector atan2 by splitting first (#213341)

fixes #213340

This was simple fix we just had to change the order in which we were
doing the splitting and widdening.

This change prioritize splitting G_FATAN2 vectors wider than four
elements before attempting power-of-two widening, which G_FATAN2 does
not support.

Add float and half coverage for vector widths 6, 8, 9, 12, and 16.


  Commit: 1611cc4b2dbcf3e0ebd42941232f21be6adb3cf2
      https://github.com/llvm/llvm-project/commit/1611cc4b2dbcf3e0ebd42941232f21be6adb3cf2
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/types.py
    M lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
    M lldb/test/API/tools/lldb-dap/source/TestDAP_source.py
    M lldb/test/API/tools/lldb-dap/source/main.c
    M lldb/test/API/tools/lldb-dap/stackTrace-x86/TestDAP_source_x86.py

  Log Message:
  -----------
  [lldb-dap] Migrate extended stackTrace and source test (#213234)

Migrated tests
- TestDAP_extendedStackTrace.py
- TestDAP_source.py
- TestDAP_source_x86.py


  Commit: 9c0528f195f7b9c5a29a91bc42a2633e6006dfe7
      https://github.com/llvm/llvm-project/commit/9c0528f195f7b9c5a29a91bc42a2633e6006dfe7
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
    M lldb/test/API/tools/lldb-dap/locations/main.cpp

  Log Message:
  -----------
  [lldb-dap] Migrate setDataBreakpoint and Locations test (#213269)

Drop the raw line number when matching the expected location.


  Commit: e1e6193bb2ce55e6cd82eecd9fc3448e666af478
      https://github.com/llvm/llvm-project/commit/e1e6193bb2ce55e6cd82eecd9fc3448e666af478
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll

  Log Message:
  -----------
  [LoopUnroll] Fix freq accuracy calculations (#213762)

This problem was reported at
<https://github.com/llvm/llvm-project/pull/182405#issuecomment-5165268733>
for the case of very large loop probabilities.

The biggest issue is that, when using linear and quadratic equations to
determine loop latch probabilities, asserts introduced by PR #182405 to
verify the accuracy of the resulting loop body frequency can fail.

Another issue is that iterations introduced by PR #182404 and PR #182405
terminate upon achieving a desired accuracy, but they can iterate longer
than necessary, wasting time achieving higher accuracy than desired.

This patch fixes the accuracy calculations to use relative differences
instead of absolute differences. It updates existing tests that reveal
the impact on the N>2 uniform case. Its adds new tests to cover the N=1,
N=2, and N>2 fast cases.


  Commit: 463a8d604e3a0686c2051223bdb0b64649a6b1b9
      https://github.com/llvm/llvm-project/commit/463a8d604e3a0686c2051223bdb0b64649a6b1b9
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/test/Sema/darwin-tls.c

  Log Message:
  -----------
  [clang][darwin] armv6m Firmware crashes spilling the TLS wrapper (#213595)

Thread local storage isn't universally supported on all architectures.
Only enable it for the ones that are known to support it.

rdar://183822457


  Commit: a5f7de0ce79e7b969cafc8684055ba5bd790397b
      https://github.com/llvm/llvm-project/commit/a5f7de0ce79e7b969cafc8684055ba5bd790397b
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/openmp-target-fast-flag.c

  Log Message:
  -----------
  Revert "[OpenMP] target-fast implies teams/threads oversubscription" (#213769)

Reverts llvm/llvm-project#205775

breaks no-loop-4 no-loop-7 downstream

take a look please


  Commit: db4690e3454a32b9c22107be3de12693b9cd0711
      https://github.com/llvm/llvm-project/commit/db4690e3454a32b9c22107be3de12693b9cd0711
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Add a test for fadd conversion to fmuladd, NFC



Reviewers: 

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


  Commit: a56d758e794208f029f88d274f12a5750c877a6f
      https://github.com/llvm/llvm-project/commit/a56d758e794208f029f88d274f12a5750c877a6f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetID.h
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/test/OffloadTools/clang-offload-bundler/basic.c
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  clang: Use TargetID parsing from AMDGPUTargetParser (#209845)

We had grown 2 parallel parsing implementations for
triple+gpu name+feature flag target ID strings. Mostly
eliminate the redundant clang version.

Co-authored-by: Claude (Opus 4.8)


  Commit: 1f22cc18152ba9252992791ed87e432147aa6650
      https://github.com/llvm/llvm-project/commit/1f22cc18152ba9252992791ed87e432147aa6650
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/dagcombine-setcc-select.ll
    M llvm/test/CodeGen/X86/zext-sext.ll

  Log Message:
  -----------
  [DAGCombine] Fold (select_cc (select cond, x, y), x, a, b, eq) to (select cond, a, b) (#199688)

(select_cc (select cond, x, y), x, a, b, eq) which could be simplified
to (select cond, a, b)


  Commit: 7a0afd38069f6660bbd6ff73904c8578fe8dfae1
      https://github.com/llvm/llvm-project/commit/7a0afd38069f6660bbd6ff73904c8578fe8dfae1
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/test/CIR/CodeGen/empty-union.cpp

  Log Message:
  -----------
  [CIR] Fix record layout for a union with no storage type (#213591)

A union whose CIR type ends up with no members keeps its whole size in
its
padding field, and `UnionType::getTypeSizeInBits` returned early in
exactly that
case, before reaching the padding. A union need not look empty in the
source to
land there: a lone zero-length bitfield is dropped during lowering,
leaving the
same no-storage state.

A record embedding such a union was then laid out wrong. In an unpacked
record
`insertPadding` pads whenever the end of the members placed so far,
rounded up
to the next member's alignment, falls short of that member's offset, so
a union
measuring zero earns a pad the AST layout does not have.  In C++,
`struct { union {} e; int x; }` loaded `x` from byte 8 rather than 4,
and an
array of that struct had a 12-byte stride, not 8. With the union
`alignas(16)`,
the load came from byte 32 rather than 16.

The zero also reached `lowerUnion`, which sizes a union's padding as its
layout
size less its storage member's, so `union { union {} e; }` emitted a
two-byte
type for a one-byte union.

Sum the storage and padding contributions instead of returning early.
The
has-storage path is unchanged, and a C empty union stays at size zero
because it
has no padding field to add.

`UnionType::getABIAlignment` keeps its early return. Union padding is
always a
char or an array of char, so folding it in cannot change the alignment
of
anything CIRGen emits.


  Commit: a805dd6fc5285fe2fdc911e38a12fe704e40fece
      https://github.com/llvm/llvm-project/commit/a805dd6fc5285fe2fdc911e38a12fe704e40fece
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-declare-target-module-rewrite-device.mlir

  Log Message:
  -----------
  [Flang][OpenMP][OpenMPIRBuilder] Implement module scope declare target use rewrite mechanism (#212920)

During lowering of declare target'd variables we generate new global
variables for device that replace the use of the pre-existing global
variable. In Flang we currently rewrite this for each target region, but
that's not enough to cover indirect use cases inside of declare target
functions which can be imported into the module and utilised inside of a
target region. This PR tries to extend the scope of the rewriting to the
module than a per target region rewrite.

It does so by creating a mechanism where we can register globals for
replacement which will trigger on finalization of the OMPIRBuilder. This
is required as due to the ordering of lowering for MLIR, where we
generate the replacement global at the beginning of the module before
any uses have been generated, effectively meaning we cannot replace the
uses at that point. So, we defer the replacement to the OMPIRBuilder as
there is no deferral mechanism directly in the OpenMP MLIR lowering.

The alternative might be to rebind the global maps in ModuleTranslation
(which requires extending ModuleTranslation a bit and might not be
looked apon as a great alteration from the MLIR community) so that the
old global points to the new one, but in practice this doesn't work
particularly well for declare target link/usm variables as they
neccesitate a load and the act of rebinding the global doesn't indicate
to the lowering that the load is required. So, the OMPIRBuilder method
allows us more flexibility to make this (and other) required
alterations.


  Commit: f7b7ec8d5542dcede1ae607aa74dfe36d7a3c530
      https://github.com/llvm/llvm-project/commit/f7b7ec8d5542dcede1ae607aa74dfe36d7a3c530
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    A llvm/docs/AlignedBundling.rst
    M llvm/docs/Reference.md
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    A llvm/test/MC/X86/AlignedBundling/asm-printing-bundle-directives.s
    A llvm/test/MC/X86/AlignedBundling/bundle-after-relax.s
    A llvm/test/MC/X86/AlignedBundling/bundle-align-to-end-lock.s
    A llvm/test/MC/X86/AlignedBundling/bundle-errors.s
    A llvm/test/MC/X86/AlignedBundling/bundle-inst.s
    A llvm/test/MC/X86/AlignedBundling/bundle-lock.s
    A llvm/test/MC/X86/AlignedBundling/bundle-relax-all.s
    A llvm/test/MC/X86/AlignedBundling/long-nop-pad.s
    A llvm/test/MC/X86/AlignedBundling/prefix-padding.s
    A llvm/test/MC/X86/AlignedBundling/relax-for-prefix-padding.s
    A llvm/test/MC/X86/AlignedBundling/section.s

  Log Message:
  -----------
  [MC][X86] Reintroduce aligned instruction bundling (#175830)

Aligned bundling partitions instructions into fixed-size, naturally
aligned groups called bundles and guarantees that no instruction
crosses a bundle boundary, giving the instruction stream a single
canonical decoding. It is a building block for software-based fault
isolation: control flow cannot jump into the middle of an instruction
to manufacture a different, unchecked sequence, and when combined with
masking of indirect branch targets it constrains control flow to a
statically verifiable set of locations.

The previous target-independent implementation was removed in #148781,
which simplified MC by eliminating per-fragment BundlePadding, the
virtual emitInstToData, and BundleGroupBeforeFirstInst. This change
reimplements the feature in the X86 backend on top of the existing
MCBoundaryAlignFragment infrastructure added for branch alignment,
keeping the generic MC surface smaller:

* AsmParser parses .bundle_align_mode, .bundle_lock and .bundle_unlock
  and dispatches them through new MCStreamer hooks.
* MCAssembler holds the bundle size, MCObjectStreamer tracks whether a
  locked group is open, and MCBoundaryAlignFragment gains an
  align_to_end bit. No new per-fragment padding state.
* Padding is decided at layout time by computeBoundaryAlignSize, which
  pads only when an instruction or a locked group would cross a
  boundary, and NOP emission goes through writeControlledNops.
* X86AsmBackend opens a boundary-align fragment for each instruction, or
  one for a whole bundle-locked group, and reports the group size error
  at layout.

Improvements over the prior implementation:

* NOPs never span a bundle boundary.
* Labels never move.
* Bundle locks may not nest.
* Padding can be folded into neighboring instructions as otherwise
  ignored prefixes rather than standalone NOPs, reusing the existing
  --x86-pad-max-prefix-size option. Padding is only ever traded within
  the bundle that holds it, so nothing moves across a boundary.
* No codegen change and no extra layout work when the directives are not
  used.

Bundling is supported for X86 ELF only and the directives are rejected
elsewhere. Restrictions: bundle mode may be set once per file and cannot
be changed or turned off, it is incompatible with -x86-align-branch and
-mbranches-within-32B-boundaries, locked groups are allowed only in
executable sections, must fit within one bundle, must be closed before a
section change, and may not end in a bare instruction prefix.

Documented in llvm/docs/AlignedBundling.rst, with tests in
llvm/test/MC/X86/AlignedBundling.

---------

Co-authored-by: Taehyun Noh <taehyun at utexas.edu>
Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: b010a18d2b648cab83c83967ff26b8fde11acdc6
      https://github.com/llvm/llvm-project/commit/b010a18d2b648cab83c83967ff26b8fde11acdc6
  Author: Jeff Niu <jeffniu22 at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/docs/Rationale/SideEffectsAndSpeculation.md
    M mlir/include/mlir/Interfaces/SideEffectInterfaceBase.td
    M mlir/include/mlir/TableGen/SideEffects.h
    M mlir/lib/TableGen/SideEffects.cpp
    M mlir/test/IR/test-side-effects.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/IR/TestSideEffects.cpp
    M mlir/test/mlir-tblgen/op-side-effects.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir][ODS] Allow parameters on side-effect resources (#213792)

Assisted-by: OpenAI Codex

---------

Co-authored-by: jeffniu-openai <jeffniu at openai.com>


  Commit: d667528a1d9d73f4aa3c627295ae017699890ce1
      https://github.com/llvm/llvm-project/commit/d667528a1d9d73f4aa3c627295ae017699890ce1
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2354dce21ab1 (#213803)


  Commit: 3cdc913f989ebe7f044b1bf5debb91b5fa9cd47e
      https://github.com/llvm/llvm-project/commit/3cdc913f989ebe7f044b1bf5debb91b5fa9cd47e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

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

  Log Message:
  -----------
  [gn build] Port f84bacf82a15 (#213804)


  Commit: 1d3ea0f50c4bcfababe7929c913df500723dcf2f
      https://github.com/llvm/llvm-project/commit/1d3ea0f50c4bcfababe7929c913df500723dcf2f
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [ADT] Fix - gcc warning: buf may be used uninitialized [-Werror=maybe-uninitialized] (#213578)

When compiled with `gcc`, the uninitialized `buf` triggers a warning.
Since some external projects (e.g., `TPP-MLIR`) treat warnings as
errors, the build fails. This patch initializes `buf` to eliminate the
warning and prevent those build failures


  Commit: 275c9efb8cea7e0a6cdbb96a2a464a1566649fe7
      https://github.com/llvm/llvm-project/commit/275c9efb8cea7e0a6cdbb96a2a464a1566649fe7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp

  Log Message:
  -----------
  [Offload] Add `--kernel <name>` command to `llvm-gpu-loader` (#213738)

Summary:
This makes it easier to test a single function without opting-in to the
whole `crt1.o` infra for `libc` that was originally intended to test
existing CPU tests. Good for possible future unit tests, cheap tool that
can launch a kernel. Only provides `foo(void)` kernels for now, can be
improved.


  Commit: 38146e816a08d24f95b04e1940b362616fb4a075
      https://github.com/llvm/llvm-project/commit/38146e816a08d24f95b04e1940b362616fb4a075
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Only register module variables defined in the current translation unit (#213720)

CUFAddConstructor registered every CUF module variable mirrored in the
GPU module, including variables brought in with USE from another
translation unit. Without relocatable device code each translation unit
has its own device module, so registering a declaration binds the host
address to a module that does not contain the symbol, and a later
cudaGetSymbolAddress fails with cudaErrorInvalidSymbol or
cudaErrorSymbolNotFound. Under unified memory the same declaration is
registered as host memory, overriding the defining unit's device
registration.

Skip globals that have no initializer and no body. Non-allocatable
managed globals still register, since they go through a companion
pointer local to the translation unit.


  Commit: 04a123b17c1ab097e3475da53a7e485c7b184a04
      https://github.com/llvm/llvm-project/commit/04a123b17c1ab097e3475da53a7e485c7b184a04
  Author: Abhinav Gaba <abhinav.gaba at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/docs/OpenMPSupport.md
    M clang/docs/ReleaseNotes.md
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M offload/test/mapping/mapper_enter_data_always_present_ptee.c
    M offload/test/mapping/mapper_map_mbr_ptee_then_present_mbr_ptee.c
    M offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
    M offload/test/mapping/mapper_map_present_ptee.c
    M offload/test/mapping/mapper_map_ptee_only.c
    M offload/test/mapping/mapper_map_ptee_only_2_ptr_indirections.c
    M offload/test/mapping/mapper_map_ptee_only_2_ptr_indirections_array.c
    M offload/test/mapping/mapper_map_ptee_only_2ndlevel.c

  Log Message:
  -----------
  [OpenMP][Clang] Enable `ATTACH`-style maps for mappers. (#210213)

This is a follow-up to #153683 to support OpenMP compliant
pointer-attachment
in `declare_mappers` via `ATTACH`-style maps.

In addition to enabling attach-style maps, we also need to propagate
information about
which map entries are for "pointee" data, i.e. have an "attach-ptr", and
thus occupy a different storage block than the base variable for which
the mapper is being generated. e.g.

```c

S sa[10];
#pragma omp declare_mapper (default: S s) map (s.x, s.p[0:10])

#pragma omp target_enter_data map(sa)
```

The entry emitted for `s.p[0:10]` is for the pointee, i.e. it does not
share storage with `s`.
Mapper codegen needs to know that the entry for `sa[1].p[0:10]`, for
example, is not a `MEMBER_OF` the map of `sa`, as it occupies its own
storage and has its own ref-count tracking etc.


Flang currently passes an unconditional `PreserveMemberofFlags` bool to
the OMPIRBuilder function, which should eventually be propagated to
using the per-entry information so that `map(s%x)` should get MEMBER_OF
during mapper codgen, but `map(s%p(1:10))` should not. Currently, the
per-entry MapInfo field is set to `false` for flang, so the change is a
no-op for it. I don't have enough flang expertise/testing resources, so
I'll let Andrew update Flang in follow-up changes.

---------

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


  Commit: eb50d8775ce52576595b4e01583ec6e8c0842c6d
      https://github.com/llvm/llvm-project/commit/eb50d8775ce52576595b4e01583ec6e8c0842c6d
  Author: Prasoon Kumar <prasoonkumar054 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/utils/lit/lit/ShellEnvironment.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/builtin_commands/diff.py

  Log Message:
  -----------
  [lit] Run builtin cat / diff in-process instead of spawning (#208024)

cat and diff are the only two builtins that still spawn a subprocess:
every cat/diff on a RUN line spawns a fresh Python interpreter, which
dominates wall time given how small lit's typical inputs are. Run them
in-process instead.

The spawned-script path stays as a fallback for now. Removing it
entirely is a follow-up PR. Output is byte-identical to the spawn path
either way.


  Commit: 8f82ba2c79f4e6a69a884cc9e19bd0b8c0bbe932
      https://github.com/llvm/llvm-project/commit/8f82ba2c79f4e6a69a884cc9e19bd0b8c0bbe932
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetID.h
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/test/OffloadTools/clang-offload-bundler/basic.c
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  Revert "clang: Use TargetID parsing from AMDGPUTargetParser" (#213824)

Reverts llvm/llvm-project#209845

verified by local reverting

unblock bots: 
https://lab.llvm.org/buildbot/#/builders/234/builds/1391
https://lab.llvm.org/buildbot/#/builders/10/builds/33193


  Commit: ff6d537b14d737719d6377789784d04ff9565f65
      https://github.com/llvm/llvm-project/commit/ff6d537b14d737719d6377789784d04ff9565f65
  Author: Kane Wang <wangqiang1 at kylinos.cn>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/fp128.ll

  Log Message:
  -----------
  [RISCV] Pick correct lround libcall for fp128 (#213220)

**LROUND** with an i32 result on rv64 chose the libcall as `f64 ?
LROUND_F64 : LROUND_F32`, so **fp128** fell through to the f32 libcall
(lroundf) and lost precision. Use `RTLIB::getLROUND`, which maps
**fp128** to lroundl.


  Commit: ac19ad6217d18209bc3633ed3130db237596976d
      https://github.com/llvm/llvm-project/commit/ac19ad6217d18209bc3633ed3130db237596976d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
    M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.h
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-vmem-large-frame.mir
    R llvm/test/CodeGen/AMDGPU/wwm-regalloc-error.ll
    A llvm/test/CodeGen/AMDGPU/wwm-regalloc-memory-fallback.ll
    A llvm/test/CodeGen/AMDGPU/wwm-regalloc-partial-pool.mir
    A llvm/test/CodeGen/AMDGPU/wwm-regalloc-preallocation-guard.mir
    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/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll

  Log Message:
  -----------
  [AMDGPU] Support partial and empty WWM pools for SGPR spills (#213491)

SGPR lane spilling currently treats the WWM VGPR pool as all-or-nothing.
This can fail compilation when the requested pool cannot be formed, even
though scratch spilling or a smaller spillable pool could make progress.

This PR lets ordinary SGPR spills fall back to scratch when the pool is
empty and lets WWM register allocation use a nonempty partial pool. It
keeps the full-pool requirement for strict WWM/WQM and explicit
spill-carrier preallocation.

The no-pool fallback is recorded in SIMachineFunctionInfo so frame
lowering can provide enough emergency scavenging slots. The state is
also serialized to preserve the behavior across MIR round trips.

Fixes LCOMPILER-2542.


  Commit: 8145c05ab3aff16bff2c124eec402239e62c1d08
      https://github.com/llvm/llvm-project/commit/8145c05ab3aff16bff2c124eec402239e62c1d08
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    A clang/lib/AST/ByteCode/DeclOrExpr.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.h
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h

  Log Message:
  -----------
  [clang][bytecode] Add DeclOrExpr (#213686)

And replace the previous usages of llvm::PointerUnion with this new
struct. This is currently just a refactoring but we'll later need to
have a proper type for the previos typedef so we can pass it to emit*
functions.


  Commit: f7eefa802f57c6deb68e552af5e24b2eb1d0e0ac
      https://github.com/llvm/llvm-project/commit/f7eefa802f57c6deb68e552af5e24b2eb1d0e0ac
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    A llvm/test/Transforms/SimplifyCFG/AMDGPU/convergent-jump-threading.ll

  Log Message:
  -----------
  [NFC] Pre-commit a test case for a SimplifyCFG issue (#204957)


  Commit: 513a02ee150335a84c39ab2e2d0f965f1b0e260e
      https://github.com/llvm/llvm-project/commit/513a02ee150335a84c39ab2e2d0f965f1b0e260e
  Author: jandrovins <46629861+jandrovins at users.noreply.github.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M offload/plugins-nextgen/common/include/JIT.h
    M offload/plugins-nextgen/common/src/JIT.cpp
    A offload/test/jit/save_image.c
    M openmp/docs/design/Runtimes.rst

  Log Message:
  -----------
  [Offload] Save jit image (#212384)

This PR adds the envar LIBOMPTARGET_JIT_SAVE_IMAGE_FILENAME
to indicate that the device image generated after JIT compilation
should be saved to a file.


  Commit: ed3d4a78ba8b23ab5d3fb629029695a03818d254
      https://github.com/llvm/llvm-project/commit/ed3d4a78ba8b23ab5d3fb629029695a03818d254
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M lldb/include/lldb/API/SBAttachInfo.h
    M lldb/include/lldb/API/SBBreakpoint.h
    M lldb/include/lldb/API/SBBreakpointLocation.h
    M lldb/include/lldb/API/SBCommandReturnObject.h
    M lldb/include/lldb/API/SBData.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBEvent.h
    M lldb/include/lldb/API/SBExecutionContext.h
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/API/SBFrameList.h
    M lldb/include/lldb/API/SBLaunchInfo.h
    M lldb/include/lldb/API/SBMemoryRegionInfo.h
    M lldb/include/lldb/API/SBStream.h
    M lldb/include/lldb/API/SBSymbolContext.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBThread.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Utility/StreamString.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/API/CMakeLists.txt
    A lldb/source/API/ScriptInterpreterBridge.cpp
    A lldb/source/API/ScriptInterpreterBridge.h
    M lldb/source/Interpreter/CMakeLists.txt
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp

  Log Message:
  -----------
  [lldb/Interpreter] Remove Interpreter's layering dependency on API (#213754)


  Commit: 1e9c8ce9c6aca205a7cff2e3530ab759a1b691f1
      https://github.com/llvm/llvm-project/commit/1e9c8ce9c6aca205a7cff2e3530ab759a1b691f1
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/test/Conversion/VectorToXeGPU/gather-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/scatter-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][xegpu] Lower 1D vector transfers to scattered load/store (#213469)

Both 1D vector.transfer_read / vector.transfer_write now lower to the
scattered xegpu.load / xegpu.store path instead of xegpu.load_nd /
xegpu.store_nd. We reserve the nd block path for rank ≥ 2 vectors.

Cleanup Test: Where both RUN configurations (with and without
--xevm-attach-target) produce identical IR for a function, the
duplicated LOAD-ND/LOAD-GATHER (and STORE-ND/STORE-SCATTER) check blocks
are collapsed into a single shared CHECK block.

---------

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


  Commit: f914343e531e2feb35e29bab1c42e103ab15aaf5
      https://github.com/llvm/llvm-project/commit/f914343e531e2feb35e29bab1c42e103ab15aaf5
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/AMDGPU/convergent-jump-threading.ll

  Log Message:
  -----------
  [SimplifyCFG] Do not thread branches into uncontrolled convergent regions (#204958)

SimplifyCFG's foldCondBranchOnValueKnownInPredecessor redirects a
predecessor edge around a block whose branch condition is known on that
edge. When the bypassed block and the threading destination are on a
common cycle, this can change the cycle structure and with it the
dynamic instance of an uncontrolled convergent operation inside that
cycle.

On targets with branch divergence, this PR skips the candidate when the
destination can reach an uncontrolled convergent call on a path back to
the bypassed block. Operations using convergence control tokens are left
alone.

Fixes ROCM-26496.


  Commit: 73817e6a9279833e53fb9ccca3158ed987c4ad61
      https://github.com/llvm/llvm-project/commit/73817e6a9279833e53fb9ccca3158ed987c4ad61
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp

  Log Message:
  -----------
  [WebAssembly] Add funclet bundle to thread local wrapper calls (#213826)

When accessing a thread local variable, Clang generates a thread local
wrapper function that checks if the variable has been initialized, and
if it isn't, initializes it. This is a function call, so if this is
within a funclet (i.e., within a `catchpad` or `cleanuppad`), it needs
the funclet bundle argument, which was missing before. If it lacks a
funclet argument, it will be considered invalid and removed in
WinEHPrepare.

Fixes https://github.com/emscripten-core/emscripten/issues/27448.


  Commit: ecd6a18e03d37c2bcaf9893d9ae2698b66ac2e83
      https://github.com/llvm/llvm-project/commit/ecd6a18e03d37c2bcaf9893d9ae2698b66ac2e83
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/test/Conversion/VectorToXeGPU/contract-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][xegpu] Support batched matmul in    VectorToXeGPU ContractionLowering (#211947)

Generalizes ContractionLowering in
mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp so that (batched)
N-D vector.contract ops lower to xegpu.dpas, not just plain 2D matmuls.

---------

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


  Commit: 8b18aa0b1ec2de76d47748a4d13c4de02b4d8580
      https://github.com/llvm/llvm-project/commit/8b18aa0b1ec2de76d47748a4d13c4de02b4d8580
  Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/xqcilo-xqcilia-frame-index.ll

  Log Message:
  -----------
  [RISCV] Reduce spill/reload pairs when Xqcilo extension is enabled (#212807)

[RISCV] Reduce spill/reload pairs when Xqcilo extension is enabled

Currently, `SelectAddrRegImm26` calls `SelectAddrFrameIndex` first,
causing bare frame-index loads (offset 0) to select 48-bit loads/stores at
ISel. Due to `AddedComplexity=2` on the QC48LdPat patterns, the wide
opcode won over the standard LW/SW even though the resolved frame offset
typically fits simm12.

This led to more spills and reloads in functions which are under high
register pressure because 48-bit loads and stores are not marked easily
rematerializable. Also, simply adding 48-bit loads and stores to
`isLoadFromStackSlot/isStoreToStackSlot` doesn't solve the regression
for the multi call case and only by making Isel produce the plain
32/64-bit loads and store opcodes as the baseline does RA behave
identically.

Therefor this PR fixes the issue by:

-Remove the `SelectAddrFrameIndex` call from SelectAddrRegImm26. Bare frame
indices now fall through to standard LW/SW selection at ISel, where RA
recognizes them as rematerializable stack loads.

-Add post-RA promotion in `eliminateFrameIndex`: when a plain LW/SW has a
resolved frame offset that exceeds simm12, promote the opcode to
the corresponding 48-bit load/store opcode and fold the 26-bit offset
directly. This preserves the intended large-offset optimization
without affecting RA decisions.

This solves the code size regression in high register pressure function
introduced by PR #209315

Assisted by Claude


  Commit: 7bf32f63ee90b964a49212efd09ebd299d6718bb
      https://github.com/llvm/llvm-project/commit/7bf32f63ee90b964a49212efd09ebd299d6718bb
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/backends/serial.h
    M libcxx/include/__pstl/backends/std_thread.h
    A libcxx/include/__pstl/cpu_algos/reverse.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    A libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/pstl.reverse.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::reverse() based on parallel for_each (#213487)

This PR implements a parallel version of `std::reverse()` based on the
parallel `__for_each()`.

The implementation walks the first half of the range in chunks, each
chunk is swapped with its mirrored counterpart via `std::swap_ranges()`
and `std::reverse_iterator<>`:
```c++
// Perform a chunked for_each on the first half of the range.
return __cpu_traits<_Backend>::__for_each(
    first, first + (last - first) / 2, [first, last](ForwardIterator i, ForwardIterator j) {
    // Derive the last position of the mirrored range.
    ForwardIterator mirror_last = last - (i - first);
    // Swap the elements in the range of the first half with their mirrored counterparts in the second half.
    std::swap_ranges(i, j, std::reverse_iterator<ForwardIterator>(mirror_last));
});
```

Included tests check that:
- Semantics of the function is correct.
- The function correctly SFINAE out when the first argument is not an
execution policy.
- The `noexcept` policy is followed.
- `static_assert` verifies iterators' categories.

Part of #99938.


  Commit: b8fd0c1cbb1867ddf74eb80ced58c5d289a56321
      https://github.com/llvm/llvm-project/commit/b8fd0c1cbb1867ddf74eb80ced58c5d289a56321
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_until.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_until_comp.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::is_sorted_until() based on std::adjacent_find() (#213445)

This PR adds implementation of a parallel `std::is_sorted_until()` based
on the parallel `std::adjacent_find()` and rebases the parallel
`std::is_sorted()` onto `std::is_sorted_until()`.

The implementation is effectively a one-liner:
```c++
// Find the first pair of adjacent elements that are not in sorted order,
// i.e. comp(rhs, lhs) is true.
auto res = AdjacentFind()(policy, std::move(first), last, [&](Ref lhs, Ref rhs) {
    return comp(rhs, lhs);
});
```

Included tests check that:
- Semantics of the iterator-only version is correct.
- Semantics of the predicated version is correct.
- The functions correctly SFINAE out when the first argument is not an
execution policy.
- The `noexcept` policy is followed.
- The `nodiscard` policy is followed.
- `static_assert` verifies iterators' categories.

Part of #99938.


  Commit: a2a70991059b04c8cfc8b4c3715361cf0024d6af
      https://github.com/llvm/llvm-project/commit/a2a70991059b04c8cfc8b4c3715361cf0024d6af
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/TableGen/AMDGPUTargetDefErrors.td
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Validate generic processor features in TargetParser emitter (#213774)

Perform some initial validation that the feature set of generic
targets is consistent with the set of covered targets. For now, this
only performs this validation for the subset of frontend exported
features, so is limited to catching missed builtin support. In the future
arbitrary features should be validated, but this is complicated by workaround 
features and size features which need to clamp to the common minimum.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 7ea6d45feaed43266ece53df274aaf6b53340238
      https://github.com/llvm/llvm-project/commit/7ea6d45feaed43266ece53df274aaf6b53340238
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/UnitTest/CMakeLists.txt
    A libc/test/UnitTest/LibcCTest.cpp
    A libc/test/UnitTest/LibcCTest.h
    M libc/test/include/fpclassify_test.c
    M libc/test/include/isfinite_test.c
    M libc/test/include/isinf_test.c
    M libc/test/include/isnan_test.c
    M libc/test/include/isnormal_test.c
    M libc/test/include/issubnormal_test.c
    M libc/test/include/iszero_test.c
    M libc/test/include/math_constants_test.c
    M libc/test/include/signbit_test.c
    M libc/test/include/stdbit_test.c
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [libc] Add a C unit test framework wrapper and convert existing tests (#213657)

This removes the dependency on the host C library (hermetic tests),
makes sure the tests actually do something in release builds (where
assert() is a noop), and makes better and more consistent failure
messages.

This is just a thin wrapper over the existing framework which repackages
the C++ interface into something consumable by C code. I tried to keep
the interface consistent, but of course, many of the framework features
are C++ only. Registering more than one test function was tricky, so the
framework currently supports only one.

The main trick here was getting the static library linker to extract
LibcCTest.cpp.o from libLibcTest.unit.a. Since C test cases don't
instantiate static CTest objects in their own translation unit like C++
tests do (they cannot do that portably), nothing in the object file
referenced LibcCTest.cpp. I made this work by introducing
libc_c_test_anchor() and calling it explicitly inside the generated
libc_c_test_run() function.


  Commit: 4616e9bbb9774bd0662ac095359a5d362f449819
      https://github.com/llvm/llvm-project/commit/4616e9bbb9774bd0662ac095359a5d362f449819
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/optional.h
    M libc/test/src/__support/CPP/optional_test.cpp
    M libc/test/src/net/linux/CMakeLists.txt
    M libc/test/src/net/linux/if_nameindex_test.cpp

  Log Message:
  -----------
  [libc] Add optional::value_or and clean up if_nameindex_test TODOs (#213682)

I went through the TODOs in if_nameindex_test.cpp:
- string::operator+=(string_view) was already present in string.h (added
in #210895), so I removed the append_bytes helper and switched to
operator+= directly.
- I added value_or (const & and && overloads) to cpp::optional and added
a test suite for it in optional_test.cpp.
- I replaced pop_front_or with pop_front returning optional<T> and
inlined the .value_or(...) calls in the fake network policy.
- Updated the CMake dependencies to account for the new optional usage.

Assisted by Gemini.


  Commit: 2b3dd2dc32be01ebb74c15d919822538db0292db
      https://github.com/llvm/llvm-project/commit/2b3dd2dc32be01ebb74c15d919822538db0292db
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Analysis/GlobalsModRef.cpp
    A llvm/test/Analysis/GlobalsModRef/self-addresstaken.ll

  Log Message:
  -----------
  [GlobalsAA] Handle self-referencing stores in `AnalyzeUsesOfPointer` (#213631)

Correctly recognize that a global address does escape when it is stored
into itself. Such globals were previously incorrectly marked as
non-address-taken.

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


  Commit: 3a6ae9bcb9c76bd5da5fbd81e055be907339f513
      https://github.com/llvm/llvm-project/commit/3a6ae9bcb9c76bd5da5fbd81e055be907339f513
  Author: ABWI-Y <3455796342 at qq.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    A llvm/test/MC/X86/intel-expr-div-by-zero.s

  Log Message:
  -----------
  [X86][AsmParser] Fix compiler crash on division by zero in MS inline asm (#213539)

This fixes issue #213415. If a user writes something like '1 / 0' or '1
% 0' in assembly, the compiler will now show a normal error message
instead of crashing completely.

Fixes #213415

Co-authored-by: 陈纪元 <chenjiyuan at chenjiyuandeMacBook-Air.local>


  Commit: 1fef59b860b4bba1cf4593563c25717a34cef2e4
      https://github.com/llvm/llvm-project/commit/1fef59b860b4bba1cf4593563c25717a34cef2e4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Export the TargetParser feature bitset (#212946)

Previously this bitset was only used to populate the feature
name string map used by clang. Eventually this will replace
the current bitmask integer. AArch64 already has a similar
interface.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 4bdf31cf09320fd498f8d01fc5e45a4fac6572d2
      https://github.com/llvm/llvm-project/commit/4bdf31cf09320fd498f8d01fc5e45a4fac6572d2
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    A llvm/docs/DynDbgObjLayout.png
    A llvm/docs/DynamicDebugging.md
    M llvm/docs/UserGuides.md

  Log Message:
  -----------
  [dyndbg] Add Dynamic Debugging docs (#210001)

Co-authored-by: Andrew Ng <andrew.ng at sony.com>


  Commit: 8f53e523b92ccdc5074acc02c1c103149c20530a
      https://github.com/llvm/llvm-project/commit/8f53e523b92ccdc5074acc02c1c103149c20530a
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-08-04 (Tue, 04 Aug 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/errno.yaml
    M libc/src/err/CMakeLists.txt
    M libc/src/err/report.cpp
    M libc/src/errno/CMakeLists.txt
    A libc/src/errno/program_invocation_name.cpp
    A libc/src/errno/program_invocation_name.h
    A libc/src/errno/program_invocation_short_name.cpp
    A libc/src/errno/program_invocation_short_name.h
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/do_start.cpp
    M libc/test/integration/startup/linux/CMakeLists.txt
    A libc/test/integration/startup/linux/invocation_name_test.cpp
    M libc/test/src/err/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add program_invocation(_short)_name and tweak err.h functions (#212448)

These GNU extensions hold the name of the program as invoked (argv[0])
and its short name (the basename after the last slash).

Both variables are initialized in the startup code. As with all of our
other variables, they are only available in full build mode.

The trickiest part of this patch are the error reporting functions from
<err.h>, which access this variable, and they are currently enabled in
overlay mode. To make them work, I add an #ifdef to select the right
version. I considered doing something more elaborate, like we have with
`errno`, but that seemed too heavy for a single occurrence.

I also drop the linux check in this function. The documentation says the
functions should print the "last component of the program name", which
"llvmlibc" is not. If someone wants to enable these functions on
non-linux, they can figure out what they want to print here and how.

Assisted by Gemini.


  Commit: de15318e859adab7ea803b519e64b563c3a1751b
      https://github.com/llvm/llvm-project/commit/de15318e859adab7ea803b519e64b563c3a1751b
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
    A llvm/test/Instrumentation/cgprofile-empty-canonical-name.ll

  Log Message:
  -----------
  [CGProfile] Fix unhandled error crash on empty canonical function names (#201821)

A function whose entire name is a strippable suffix canonicalizes to an
empty name, making InstrProfSymtab::create return an error

The current solution with `(void)(bool)` does not really suppress the
error which leads to the crash


  Commit: f1dde546716c51d3e8d619778c0b1198fc86007b
      https://github.com/llvm/llvm-project/commit/f1dde546716c51d3e8d619778c0b1198fc86007b
  Author: Valentin Churavy <v.churavy at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M flang/tools/fir-opt/CMakeLists.txt

  Log Message:
  -----------
  [flang] Export fir-opt symbols for MLIR dialect/pass plugins (#212152)

Lets plugins loaded with --load-dialect-plugin / --load-pass-plugin
resolve
MLIR and LLVM symbols against fir-opt, as mlir-opt already does.

---------

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


  Commit: 72f34740c279432f3bffd38175b464f4b918afd2
      https://github.com/llvm/llvm-project/commit/72f34740c279432f3bffd38175b464f4b918afd2
  Author: David Green <david.green at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/artifact-combine-unmerge.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/artifact-find-value.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/constant-mir-debugify.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/debug-loc-legalize-tail-call.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-sextinreg.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-shr-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-shr.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/fp128-legalize-crash-pr35690.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/freeze-push.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/indexed-store-memsize.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/labels-are-not-dead.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/lower-neon-vector-fcmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/machine-cse-mid-pipeline.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/merge-stores-truncating.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-ext-tbz-tbnz.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/phi-mir-debugify.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/rbs-matrixindex-regclass-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/retry-artifact-combine.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/salvage-debug-info-dead.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update a batch of tests to concrete types. NFC (#213851)


  Commit: 20a2329148626aa66db555558af9d607035a8bf2
      https://github.com/llvm/llvm-project/commit/20a2329148626aa66db555558af9d607035a8bf2
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/unittests/ObjectContainer/CMakeLists.txt
    M lldb/unittests/ObjectContainer/ObjectContainerUniversalMachOTest.cpp
    M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb][Mach-O] Fix load-command loops spinning on cmdsize = 0 (#205134)

Every function in `ObjectFileMachO` and `ObjectContainerMachOFileset`
that iterates over load commands advances the file offset by
`lc.cmdsize` after reading each command.  A malformed command with
cmdsize smaller than `sizeof(load_command)` (in particular cmdsize = 0)
does not make forward progress, so the loop spins for ncmds iterations.
With `ncmds` close to `INT_MAX` the function never returns in practice.

Factor the read-and-validate step into a static template helper
`ReadMachOCommand<T>` in each plugin's translation unit.  It reads the
8-byte cmd/cmdsize header and returns false on EOF or on a cmdsize that
is too small to make forward progress.  All load-command loops now use
this helper, replacing the previously duplicated GetU32 + cmdsize
check.  `T` may be `llvm::MachO::load_command` or any of its richer
variants (uuid_command, dylib_command, thread_command, ident_command,
encryption_info_command, ...).   The helper only touches the leading
cmd/cmdsize fields, leaving the rest of `T` for the caller to fill in.

Affected loops in `ObjectFileMachO`:
  IsStripped, GetEncryptedFileRanges, CreateSections, ParseSymtab,
  GetUUID (static), GetAllArchSpecs (two loops), GetDependentModules,
  GetEntryPointAddress, GetNumThreadContexts, FindLC_NOTEByName,
  GetIdentifierString, GetVersion, FindMinimumVersionInfo

And in ObjectContainerMachOFileset:
  ParseFileset

Add unit tests (`ObjectFileMachOTest::ZeroCmdSize` and
`ObjectContainerMachOFilesetTest::ZeroCmdSize`) that feed a 40-byte
Mach-O with `ncmds = 0x7FFFFFFF` and `cmdsize = 0` into the relevant
parsers.  Without the fix the tests spin ~2 billion iterations; with
the fix they return immediately.  Found by lldb-target-fuzzer.

Assisted-by: Claude


  Commit: ad0465266346682f39a44e7ca9e971b5fa101cc2
      https://github.com/llvm/llvm-project/commit/ad0465266346682f39a44e7ca9e971b5fa101cc2
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
    R flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
    A flang/test/Lower/OpenMP/Todo/allocate-clause-unsupported.f90
    A flang/test/Lower/OpenMP/allocate-clause-allocator.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/host-op-filtering.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-allocate-clause.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [flang][OpenMP] Lower allocator-backed storage for allocate clauses (#211621)

Part of #211620.

This is the first of two stacked changes implementing OpenMP `allocate`
clause lowering for fixed-size intrinsic scalar `private` and
`firstprivate` items on host `omp.parallel`.

It carries each allocate item’s private-storage mapping through the
OpenMP dialect, allocates with the requested allocator (using the
runtime default for an omitted or null handle), and releases the storage
during region finalization.

The `align` modifier is handled by the stacked follow-up.

Assisted-by: Copilot


  Commit: 6339d8be9aae9b2a48c3ac7c329b7b7a75e62350
      https://github.com/llvm/llvm-project/commit/6339d8be9aae9b2a48c3ac7c329b7b7a75e62350
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [GitHub] Use base repository to fetch test merge commit in test-suite workflow (#213871)

>From time to time we'll fail to fetch the test merge commit during the
checkout step, e.g. see
https://github.com/llvm/llvm-project/actions/runs/30626469894/job/91931527829

After a bit of research apparently the test merge commit is actually
stored on the base repository, not the fork. I think this just happened
to work previously because the fork repository synced objects in the
background, but it's not always guaranteed to be available.

So switch the checkout step to use llvm/llvm-project as the remote.


  Commit: 27e6d832069729d75a76e7776737bf4477dde5a8
      https://github.com/llvm/llvm-project/commit/27e6d832069729d75a76e7776737bf4477dde5a8
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Precommit tests for upcoming bug fix (#213701)

Here we have:
artifact combiner creating one element unmerge and
unmerge lowering of FP source using FP type for bit twiddling.


  Commit: 77cc70278e0ad13e8c30e691d22db03984c476a0
      https://github.com/llvm/llvm-project/commit/77cc70278e0ad13e8c30e691d22db03984c476a0
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir

  Log Message:
  -----------
  GlobalISel: Add type size guards in tryCombineMergeLike (#213702)

Bug in LegalizationArtifactCombiner when:
DstSize < UnmergeSrcSize case can create unmerge with one element.
DstSize > UnmergeSrcSize case can end up attempting to create merge
with one source element and hits assert(TmpVec.size() > 1).


  Commit: 62ec1d0f53114cfafb0c111321dd4217f2972de8
      https://github.com/llvm/llvm-project/commit/62ec1d0f53114cfafb0c111321dd4217f2972de8
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxxabi/.clang-tidy
    M libcxxabi/src/private_typeinfo.h

  Log Message:
  -----------
  [libc++abi][NFC] Enable modernize-use-override clang-tidy check (#213253)


  Commit: a44620dad09537ba10d22e241c6f2ba011c65bea
      https://github.com/llvm/llvm-project/commit/a44620dad09537ba10d22e241c6f2ba011c65bea
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxxabi/.clang-tidy
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [libc++abi][NFC] Enable modernize-loop-convert clang-tidy check (#213250)


  Commit: 24d2a96518ced6d86219d0aa2b9ad7326271fd8e
      https://github.com/llvm/llvm-project/commit/24d2a96518ced6d86219d0aa2b9ad7326271fd8e
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir

  Log Message:
  -----------
  GlobalISel: Fix floating point unmerge lowering (#213703)

Bitcast to integer and use integer type for bit twiddling.


  Commit: 293d7c559bdf21c9739d3c389d9a4932da461620
      https://github.com/llvm/llvm-project/commit/293d7c559bdf21c9739d3c389d9a4932da461620
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td

  Log Message:
  -----------
    [AArch64][SME]Refine memory effects for SME load/store intrinsics. (#205525)

Split SME load/store intrinsic definitions so loads and stores model
ArgMem, ZA, and ZT0 effects separately. Also mark ZA enable/disable as
     side-effecting intrinsics with no memory access.


  Commit: 4b0b8cbac0f567cdacfde0c81019fc6c0d27f251
      https://github.com/llvm/llvm-project/commit/4b0b8cbac0f567cdacfde0c81019fc6c0d27f251
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/bounded-load.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/discarded-interleave-group.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/bounded-load.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/vplan-fold-dbg.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/bounded-load-predicated.ll
    M llvm/test/Transforms/LoopVectorize/bounded-load-user-ic.ll
    M llvm/test/Transforms/LoopVectorize/bounded-load-vf-ranges.ll
    M llvm/test/Transforms/LoopVectorize/bounded-store.ll
    M llvm/test/Transforms/LoopVectorize/debugloc.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll

  Log Message:
  -----------
  [LV] Add vplan folds for urem(X, PowerOf2) -> and(X, PowerOf2 - 1) (#212198)

In this PR I've added support for the vplan fold:

  urem(X, Y) -> and(X, Y - 1)

when Y is a power of 2. This should reduce the cost of the urem and
ensure the vplan is accurately costed. Such a change would normally
affect over 300 test files due to this being a common pattern in the
vector preheader. For now, I've limited the scope to only simplifying
occurences that are not in the vector preheader. In a follow-on PR I
will extend this to add support for

  sub(X, urem(X, Y)) -> and(X, -Y)

as well permitting folds in the preheader.


  Commit: 586e6593ebb55c2c2e9244c16ba5fee6c14198e5
      https://github.com/llvm/llvm-project/commit/586e6593ebb55c2c2e9244c16ba5fee6c14198e5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
    M llvm/test/CodeGen/X86/vector-reduce-or-bool.ll
    M llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll

  Log Message:
  -----------
  [X86] vector-reduce-*-bool.ll - update IR to match middleend (#213876)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.*.vXi1 calls

We were also failing to tag the i1 return values as zeroext

Shows a couple of hidden issues - poor handling of comparison results
from sub-128-bit vectors and handling of v32i1/v64i1 MOVMSK patterns on
pre-AVX2 targets


  Commit: b4deecd89085c11225c428cbb27c2e44925e78d9
      https://github.com/llvm/llvm-project/commit/b4deecd89085c11225c428cbb27c2e44925e78d9
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py

  Log Message:
  -----------
  [clang-tidy] Add 'or-earlier' suffix to check_clang_tidy.py (#213834)


  Commit: b631e0cbd1c9e33f29a199b3028026ded89167bd
      https://github.com/llvm/llvm-project/commit/b631e0cbd1c9e33f29a199b3028026ded89167bd
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M lldb/test/API/macosx/expedited-stack-memory/TestExpeditedStackMemory.py
    M lldb/test/API/macosx/expedited-stack-memory/main.c
    M lldb/tools/debugserver/source/JSONGenerator.h
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb][debugserver] Expedite the stopped frame's stack memory in jThreadsInfo (#212706)

Add `ReadFrameZeroStackMemory`, which expedites the innermost frame's stack
memory so a variables view on a stop is served from lldb's memory cache.  When
frame 0's `$fp` looks usable, two windows are expedited:

  * `[$fp + 2*ptr_size, $fp + 2*ptr_size + k_expedite_stack_arg_size)` for stack-passed
     parameters, starting above the saved `{fp, lr}` pair the backchain already covers.
  * `[$fp - below, $fp)`, `below = min($fp - $sp, k_expedite_stack_window - k_expedite_stack_arg_size)`,
     for locals and spilled register arguments.  A small frame gets all of `[$sp, $fp)`; a large one keeps the part nearest `$fp`, so the cost stays bounded.

If `$fp` fails validation (frameless leaf, or `$fp` used as a scratch GPR),
a single `[$sp, $sp + k_expedite_stack_window)` window is expedited instead.

Each window is a separate chunk, because lldb's L1 cache only serves reads
fully contained in one expedited chunk.  Only the thread that stopped gets
these windows, so the stop reply does not grow with thread count.

`GetJSONThreadsInfo` now builds the `"memory"` array from both sources and
emits it whenever either produced an entry.  Add `JSONGenerator::Array::empty`
for that check.


  Commit: 15fe4ef193d37bc108b27da566b7a96111fa3e4e
      https://github.com/llvm/llvm-project/commit/15fe4ef193d37bc108b27da566b7a96111fa3e4e
  Author: Deepak Shirke <deepakshirke509 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/shuffle-zero-interleave-to-shl.ll

  Log Message:
  -----------
  [AArch64] Fold zero-interleave shuffle into vector shift left (#210793)

A shuffle mask that interleaves zeros between every other byte element
is equivalent to a vector shift left on a wider element type. This
avoids generating a `tbl` instruction with a constant mask loaded from
memory, replacing it with a single `shl` instruction.

Before:
```asm
adrp  x8, .LCPI0_0
ldr   q1, [x8, :lo12:.LCPI0_0]
tbl   v0.16b, { v0.16b }, v1.16b
```

After:
```asm
shl   v0.8h, v0.8h, #8
```

Both `<16 x i8>` and `<8 x i8>` vectors are handled. The canonicalized
form where zeros appear in either the first or second shuffle operand is
also handled.

Fixes #107287


  Commit: 8b9d8dfe208f08ffa83321d8b8fbb3a06c98a6df
      https://github.com/llvm/llvm-project/commit/8b9d8dfe208f08ffa83321d8b8fbb3a06c98a6df
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/__cxx03/regex
    M libcxx/include/regex
    M libcxx/test/std/re/re.traits/transform_primary.pass.cpp

  Log Message:
  -----------
  [libc++] Correctly implement __transform_primary on all platforms (#186130)


  Commit: bb8634edd3ffec635e012b53ee0559bf3ba45146
      https://github.com/llvm/llvm-project/commit/bb8634edd3ffec635e012b53ee0559bf3ba45146
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/docs/DynamicDebugging.md
    M llvm/docs/Extensions.md

  Log Message:
  -----------
  [dyndbg] Add SHT_LLVM_DYNDBG_ELF to Dynamic Debugging docs (#213853)


  Commit: ae70ab70112c1cbfc0cfb78768f2c6a395bf5fcf
      https://github.com/llvm/llvm-project/commit/ae70ab70112c1cbfc0cfb78768f2c6a395bf5fcf
  Author: Ehren Bendler <143813417+ebendler at users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/docs/UsersManual.md
    M clang/docs/analyzer/user-docs/CommandLineUsage.rst

  Log Message:
  -----------
  Reland "[clang][docs] Update CommandLineUsage and UsersManual with some flags" (#213342)

The current user-manual is missing implemented options that are useful
for machine-readable output, such as `-fdiagnostics-format=sarif` and
`-fdiagnostics-absolute-paths`.


  Commit: 25d51a8156da0845928e2fc09bb2736507fc5adf
      https://github.com/llvm/llvm-project/commit/25d51a8156da0845928e2fc09bb2736507fc5adf
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/test/Analysis/ArrayBound/assumption-reporting.c
    M clang/test/Analysis/ArrayBound/verbose-tests.c

  Log Message:
  -----------
  [NFC][analyzer] Extract general logic in security.ArrayBound (#210774)

The checker `security.ArrayBound` contains general-purpose logic that
will be useful to bring other bounds checking checkers out of `alpha`
stage. This change refactors the implementation of `security.ArrayBound`
to separate the general-purpose logic and the concrete details that are
only relevant in that particular checkers.

Shortly after merging this, a follow-up commit will move the
general-purpose code to separate files. (This is left out of this change
to ensure continuity in the git history: this commit renames and
reorganizes functions, the next one will move them with minimal
changes.)

Note that after this commit the `ProgramState` associated with the error
nodes created by `security.ArrayBound` will be slightly different in
some cases (they may have different constraints) but the state of a sink
node is practically unused, so this does not cause any functional
changes.


  Commit: cad2ca9a775c094f8e0687f1e2414a2ea25e1487
      https://github.com/llvm/llvm-project/commit/cad2ca9a775c094f8e0687f1e2414a2ea25e1487
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/__algorithm/ranges_fold.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__node_handle
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/backends/serial.h
    M libcxx/include/__pstl/backends/std_thread.h
    M libcxx/include/__pstl/cpu_algos/any_of.h
    M libcxx/include/__pstl/cpu_algos/fill.h
    M libcxx/include/__pstl/cpu_algos/find_if.h
    M libcxx/include/__pstl/cpu_algos/for_each.h
    M libcxx/include/__pstl/cpu_algos/merge.h
    M libcxx/include/__pstl/cpu_algos/mismatch.h
    M libcxx/include/__pstl/cpu_algos/stable_sort.h
    M libcxx/include/__pstl/cpu_algos/transform.h
    M libcxx/include/__pstl/cpu_algos/transform_reduce.h
    M libcxx/include/__pstl/handle_exception.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__ranges/movable_box.h
    M libcxx/include/__ranges/non_propagating_cache.h
    M libcxx/include/algorithm
    M libcxx/include/chrono
    M libcxx/include/flat_map
    M libcxx/include/flat_set
    M libcxx/include/format
    M libcxx/include/functional
    M libcxx/include/iostream
    M libcxx/include/map
    M libcxx/include/numeric
    M libcxx/include/ostream
    M libcxx/include/print
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/set
    M libcxx/include/syncstream
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/test/libcxx/transitive_includes/cxx26.csv

  Log Message:
  -----------
  [libc++] Granularize includes of <optional> (#213433)

Since `<optional>` is now granularized
(7ded638ea33b96d9fd628e2a5cbc06df12ede153), include its individual
pieces directly, instead of pulling in the whole `<optional>`.

This change is also needed for #211888.


  Commit: 0ac2b88c53c08f405866ed0ca78be7e423ed0109
      https://github.com/llvm/llvm-project/commit/0ac2b88c53c08f405866ed0ca78be7e423ed0109
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    R flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
    M flang/test/Lower/OpenMP/Todo/allocate-clause-unsupported.f90
    M flang/test/Lower/OpenMP/allocate-clause-allocator.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/host-op-filtering.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-allocate-clause.mlir

  Log Message:
  -----------
  [flang][OpenMP] Lower align modifiers on allocate clauses (#211624)

Closes #211620.

Stacked on #211621.

This adds `align` modifier lowering to the host `omp.parallel` path
introduced by the parent change. It carries and verifies per-item
alignment metadata and uses aligned runtime allocation when alignment is
specified, while retaining the unaligned path otherwise.

Other clause-bearing constructs and unsupported data types remain out of
scope.

Assisted-by: Copilot


  Commit: 57b06e655bc3f46adb2171d89c4f304350c3ee1e
      https://github.com/llvm/llvm-project/commit/57b06e655bc3f46adb2171d89c4f304350c3ee1e
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    A llvm/test/CodeGen/X86/avx512-masked-op-fusion.ll

  Log Message:
  -----------
  [X86] Add test showing missed write-mask fusion for multi-use setcc (#213669)

Precommit the test for #213645


  Commit: e5c1f784d3a4c3138f4676acaee899571e54a6e0
      https://github.com/llvm/llvm-project/commit/e5c1f784d3a4c3138f4676acaee899571e54a6e0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/__expected/expected.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__optional/optional.h
    M libcxx/include/__split_buffer
    M libcxx/include/__type_traits/is_trivially_relocatable.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/array
    M libcxx/include/deque
    M libcxx/include/string
    M libcxx/include/tuple
    M libcxx/include/variant
    M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/trivial_relocation.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/common.h
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][NFC] Make __libcpp_is_trivially_relocatable a variable template (#213640)

Variable templates are a bit nicer to read and improve compile times a
bit.


  Commit: 256f40dbe6b66dae8d08ddbe7d1ff7851c79764c
      https://github.com/llvm/llvm-project/commit/256f40dbe6b66dae8d08ddbe7d1ff7851c79764c
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M orc-rt/include/orc-rt/ExecutorProcessInfo.h
    M orc-rt/lib/executor/BootstrapInfo.cpp
    M orc-rt/lib/executor/CMakeLists.txt
    M orc-rt/lib/executor/ExecutorProcessInfo.cpp
    A orc-rt/lib/executor/TargetDetails.h
    A orc-rt/lib/executor/darwin/CPUFeatures.cpp
    A orc-rt/lib/executor/darwin/TargetTriple.cpp
    A orc-rt/lib/executor/linux/CPUFeatures.cpp
    A orc-rt/lib/executor/linux/TargetTriple.cpp
    A orc-rt/lib/executor/windows/CPUFeatures.cpp
    A orc-rt/lib/executor/windows/TargetTriple.cpp
    M orc-rt/test/CMakeLists.txt
    A orc-rt/test/regression/check-rt-processi-info.test
    M orc-rt/test/regression/lit.cfg.py
    M orc-rt/test/tools/CMakeLists.txt
    A orc-rt/test/tools/orc-rt-process-info-check.cpp
    M orc-rt/test/unit/BootstrapInfoTest.cpp
    M orc-rt/test/unit/CMakeLists.txt
    M orc-rt/test/unit/CommonTestUtils.h
    M orc-rt/test/unit/ExecutorProcessInfoTest.cpp
    M orc-rt/test/unit/InProcessControllerAccessTest.cpp

  Log Message:
  -----------
  Cpu features cross platform (#205447)

Also adds the place holders for other OS's as well as the structure for
cross platform code going forward.

Prefer sys calls as we can't be sure what runtime we may end up linking
with
Some features can be controlled via the kernel so this makes it easier
than relying on __cpuid for now.

The triples are now more accurate and include the os version on darwin. 

All results are a string that are passed in the default map with the key are llvm subtarget features valid strings
orc-rt.Executor.SubtargetFeatures

Adds a new process regression test as well, with a best effort
guess that the triple returned is correct.


  Commit: 53f5999f0382624abdbae90df143e83c71cdb8ab
      https://github.com/llvm/llvm-project/commit/53f5999f0382624abdbae90df143e83c71cdb8ab
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll

  Log Message:
  -----------
  [InstCombine] Rebuild type-changing PHIs in PointerReplacer (#212429)

PointerReplacer mutates PHI types when replacing an alloca with a
pointer in another address space. Mutating a value type in place can
invalidate existing users whose result types or operand constraints were
formed from the original pointer type.

For example:
```
%p = phi ptr addrspace(5) [ %a, %bb0 ], [ %b, %bb1 ]
%g = getelementptr i8, ptr addrspace(5) %p, i64 1
```

Changing `%p` to `ptr addrspace(4)` leaves the existing GEP result in
`AS5` while its pointer operand is now in `AS4`. (This is what exposed
the bug). This triggered:

https://github.com/llvm/llvm-project/blob/0bcff14b1740cf32f9e0983726238dcf353c6ac8/llvm/lib/IR/Operator.cpp#L129-L131

Create a new PHI when the replacement changes type so existing users
remain attached to the original well-typed graph while PointerReplacer
builds their replacements. Preserve in-place operand updates when the
PHI type is unchanged.

Assisted-by: Codex

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>


  Commit: 5156be95e21ca4ac6a0e26ddf1ea349e7199b7d9
      https://github.com/llvm/llvm-project/commit/5156be95e21ca4ac6a0e26ddf1ea349e7199b7d9
  Author: Harry Ramsey <harry.ramsey at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrGISel.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/cgp-usubo.ll
    M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/half-precision-signof-no-assert.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/is_fpclass.ll
    A llvm/test/CodeGen/AArch64/neon-addhn.ll
    M llvm/test/CodeGen/AArch64/select-with-and-or.ll

  Log Message:
  -----------
  [AArch64][ISel] Recover ADDHN from OR comparison masks (#210943)

InstCombine converts the high-half addition of vector comparison masks
into an OR. Recognise the resulting trunc(or(setcc, setcc)) DAG and
reconstruct the canonical ADDHN pattern for the supported NEON types.


  Commit: ebd0cbfb372c42c499d021022975a60bbc6d0d27
      https://github.com/llvm/llvm-project/commit/ebd0cbfb372c42c499d021022975a60bbc6d0d27
  Author: Dmitrii Makarenko <dmitrii.makarenko at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M mlir/include/mlir/IR/TensorEncoding.td
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Preserve encoding in more canonicalizers (pad, convertToStaticExpandShape) (#207241)

Fixes encoding drop in `tensor.*` canonicalizers.

Patterns that only refine a tensor's shape (never merge/combine data)
now propagate the encoding: `ConvertToStaticExpandShape`,
`PadOp::inferResultType` (and its callers `FoldSourceTensorCast`,
`FoldStaticPadding`). An encoding implementing
`VerifiableTensorEncoding` is re-verified against the refined shape and
dropped if invalid (e.g. sparse); an opaque encoding (no interface) is
propagated as-is.

Patterns that merge/combine tensors (`ConcatOp::inferResultType`,
`InferConcatOperandTypes`, `CollapseShapeOp::inferCollapsedType`) keep
the existing drop-encoding behavior - there's no static way to verify an
arbitrary encoding survives a merge or rank change when dynamic dims are
involved.

Documents this contract on `VerifiableTensorEncoding` in
`TensorEncoding.td`.

co-authored Claude Opus 4.7

Signed-off-by: Dmitrii Makarenko <dmitrii.makarenko at intel.com>


  Commit: 22508ac951966c321977cc2d51ab353b9e0ab453
      https://github.com/llvm/llvm-project/commit/22508ac951966c321977cc2d51ab353b9e0ab453
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [X86] pr61923.ll - update IR to match middleend (#213908)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.and.v32i1 calls


  Commit: 03435270d2662be52b360c929d19a2f666eb1af5
      https://github.com/llvm/llvm-project/commit/03435270d2662be52b360c929d19a2f666eb1af5
  Author: Thibaut Goetghebuer-Planchon <thibaut.goetghebuer-planchon at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/constant_folding.mlir

  Log Message:
  -----------
  [mlir][tosa] Fold reshape of dense resource constants (#213225)

Add support for `DenseResourceElementsAttr` in TOSA reshape folding.


  Commit: 4d349761f5bf7cc42ffbae5d7819bf87315dbafb
      https://github.com/llvm/llvm-project/commit/4d349761f5bf7cc42ffbae5d7819bf87315dbafb
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/openmp-target-fast-flag.c

  Log Message:
  -----------
  Reland "Revert "[OpenMP] target-fast implies teams/threads oversubscription"" (#213911)

Reverts llvm/llvm-project#213769


  Commit: 61a8d42409f596def8befa1350f79609de08027c
      https://github.com/llvm/llvm-project/commit/61a8d42409f596def8befa1350f79609de08027c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/__locale
    M libcxx/modules/std/locale.inc
    R libcxx/test/benchmarks/locale/ctype.bench.cpp
    R libcxx/test/benchmarks/locale/num_get.bench.cpp
    R libcxx/test/benchmarks/locale/num_put.bench.cpp
    A libcxx/test/benchmarks/text/localization/ctype.bench.cpp
    A libcxx/test/benchmarks/text/localization/locale.bench.cpp
    A libcxx/test/benchmarks/text/localization/num_get.bench.cpp
    A libcxx/test/benchmarks/text/localization/num_put.bench.cpp
    A libcxx/test/std/localization/locales/locale/locale.nonmembers/swap.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize std::swap of locales (#209760)

Currently we copy construct `locale`s whenever we swap, which is quite
expensive for locales since that does atomic increments and decrements.
We can just swap the pointers instead.


  Commit: 2deffca50638d88b6df28316db2e6d3f617413da
      https://github.com/llvm/llvm-project/commit/2deffca50638d88b6df28316db2e6d3f617413da
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/docs/LangRef.md

  Log Message:
  -----------
  [LangRef] Fix language around strictfp semantics (#213879)

The LangRef wording changed in 15bb4a97a7 ([IR] Make semantics of
strictfp consistent v2, #211769) is unfortunately incorrect. There are
some open questions around its semantics, but a simple revert should do
for the moment.

Reported-by: Ömer Sinan Ağacan <omer at osa1.net>


  Commit: 37f4eeee65940dcac53e816c4b324fb607328e0e
      https://github.com/llvm/llvm-project/commit/37f4eeee65940dcac53e816c4b324fb607328e0e
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M .github/workflows/upload-release-artifact/action.yml

  Log Message:
  -----------
  workflows/upload-release-artifact: Use new self-repository reference (#213366)

This is for composite actions.


https://github.blog/changelog/2026-07-30-reference-same-repository-actions-with-self-repository-syntax/


  Commit: 00bdfbfffd2760a3382dddd36c2b61e0e04fafb5
      https://github.com/llvm/llvm-project/commit/00bdfbfffd2760a3382dddd36c2b61e0e04fafb5
  Author: Dmitrii Makarenko <dmitrii.makarenko at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Preserve source encoding when folding insert_slice canonicalizers (#207239)

`InsertSliceOpConstantArgumentFolder` re-derives the refined source type
via `ExtractSliceOp::inferCanonicalRankReducedResultType`, which copies
the encoding of the passed-in "source template" - in this pattern,
`insertSliceOp.getDestType()`.
For a static, encoding-less destination this silently drops any encoding
the actual source carried, which downstream dialects can use for
mandatory metadata (upper bounds, layout, sparsity descriptors) lost
during `--canonicalize`.

Rebuild the refined source type carrying the original source's encoding.
If the encoding implements `VerifiableTensorEncoding`, re-verify it
against the refined shape and drop it if it no longer holds (e.g. a
rank-dependent sparse encoding); otherwise treat it as
opaque/shape-agnostic and propagate it unconditionally.
Shape refinement (the `?` -> static direction) is unchanged and still
satisfies `preservesStaticInformation`.

lit created with Claude Opus 4.7

Signed-off-by: Dmitrii Makarenko <dmitrii.makarenko at intel.com>


  Commit: ea14fa213e49b4879e77cf50d5a8bf56ae7546c5
      https://github.com/llvm/llvm-project/commit/ea14fa213e49b4879e77cf50d5a8bf56ae7546c5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    R libcxx/test/libcxx-03/module_std.gen.py
    R libcxx/test/libcxx-03/module_std_compat.gen.py

  Log Message:
  -----------
  [libc++] Remove C++20 modules tests from the C++03 frozen test suite (#213730)

These tests are never executed since they require C++20, and the C++03
frozen headers only run in C++03 mode.


  Commit: df38ae1f5d3636eeb9938134c895509e32187a47
      https://github.com/llvm/llvm-project/commit/df38ae1f5d3636eeb9938134c895509e32187a47
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/test/libcxx/clang_tidy.sh.py

  Log Message:
  -----------
  [libc++] Fix the clang-tidy source filter to cover libcxx/src again (#213732)

The filter regex used `libcxx(abi?)`, which matches `libcxxab` and
`libcxxabi`, but never just `libcxx`.


  Commit: c2ae9308090e26cc6e3e4ab64c06326061c9572c
      https://github.com/llvm/llvm-project/commit/c2ae9308090e26cc6e3e4ab64c06326061c9572c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h

  Log Message:
  -----------
  [libc++] Trim down associative container benchmark sizes (#212252)

Based on local measurements, the associative containers are by far the
slowest benchmarks to run. While there is value in benchmarking small
and large sizes, we can significantly cut down benchmark times by
stripping down to only 2 sizes (from 4).

With this patch, the benchmarks go from 3124s to 1766s across the
associative container benchmarks, which is -43% of their execution time,
and corresponds to ~15% of the entire benchmark suite.

Towards #173032


  Commit: df538d6865a72b39a20f03407834594a8ddadc9a
      https://github.com/llvm/llvm-project/commit/df538d6865a72b39a20f03407834594a8ddadc9a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll

  Log Message:
  -----------
  [X86] vector-reduce-or-cmp.ll - update mask_v3i1 IR to match middleend (#213923)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.or.v3i1 calls

Exposes some really poor scalarization on pre-AVX512 targets


  Commit: b5645e2eee73dafaa2e577ef42445149cbbf5d82
      https://github.com/llvm/llvm-project/commit/b5645e2eee73dafaa2e577ef42445149cbbf5d82
  Author: Jan Trusiłło <jan.trusillo at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 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/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/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/memory/olMemcpy.cpp

  Log Message:
  -----------
  [offload] allow h2h olMemcpy with a queue (#212757)

olMemcpy currently disallows host-to-host copies with a queue, even
though that is a desirable use case (e.g. to copy a buffer as a
dependency for another operation)

This PR adds support for asynchronous host-to-host copies by adding
`GenericDeviceTy::dataMemcpy` and the corresponding required
`dataMemcpyImpl` plugin operation. Unlike `dataSubmit`, `dataRetrieve`,
and `dataExchange`, this operation does not assign a device direction to
either pointer:
- CUDA: Uses `cuMemcpyAsync`, which by itself determines the pointer
types and preserves stream ordering. Dynamic CUDA symbol declarations
and `_v2` lookup support are included.
- Level Zero: Uses the existing queue `memoryCopy` operation (backed by
`zeCommandListAppendMemoryCopy`), which appends a memory-copy command to
the command list.
- AMDGPU: No "enqueue a host-to-host copy" operation exists directly in
that API, so we enqueue a `std::memcpy` callback through
`pushHostCallback`.
- Host: Call `memcpy` directly.

The `olMemcpy` API documentation now states that queued host-to-host
copies are ordered with other work in the queue. The public function
signature is unchanged.

A new unit test executes an `h2d -> d2h -> h2h -> h2d -> d2h` operation
chain, which should fail if the queue order isn't respected.

Assisted-by: Codex


  Commit: 04c9cf4743fc62ca555f270f3621b324e2472767
      https://github.com/llvm/llvm-project/commit/04c9cf4743fc62ca555f270f3621b324e2472767
  Author: Aurore Poirier <aurore.poirier at scisemi.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestQSymbol.py

  Log Message:
  -----------
  [LLDB] Serve unknown type symbols through `qSymbol` for non-MachO targets (#200134)

I am working with a binary where some symbols are generated from linker
scripts. They end up identified as `eSymbolInvalid` when loaded in LLDB.
OpenOCD can try to fetch them.

Some might even be hard-coded data, not going through an address in the
binary (explaining the presence of the check and raw value
return).

Testing it showed that **GDB returns them despite them not being proper
addresses**.
These can also be generated by C++ static constexpr, such values could
be accessed by a qSymbol query.

358cf1ea302eb introduced a divergence between GDB and LLDB where LLDB
does not serve symbols of unknown type through GDB protocol command
`qSymbol`. Per commit description, this is an expected behavior on
MachO-based platforms, but it is not on ELF-based platforms, where LLDB
should follow GDB. The changes introduced by said commit are now gated
behind an architecture check.


  Commit: 07a53be7d3cd68b7b4c397eb3ec5b30bc84acbf9
      https://github.com/llvm/llvm-project/commit/07a53be7d3cd68b7b4c397eb3ec5b30bc84acbf9
  Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll

  Log Message:
  -----------
  [GlobalISel] Combine merge-unmerge with mixed scalar and vector types (#213086)

fixes: https://github.com/llvm/llvm-project/issues/177416


  Commit: e3d847f07723f8f6ef62a540452344ae4d155007
      https://github.com/llvm/llvm-project/commit/e3d847f07723f8f6ef62a540452344ae4d155007
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fmul.ll

  Log Message:
  -----------
  [SLP]Fix scheduling of absorbed copyable fmuls, modeled as fmuladd(a, b, -0.0)

A copyable fmul absorbed into fmuladd(a, b, -0.0) does not appear in
the operand columns of its own node, so the operand scan never
released the schedule data of the copyable instruction itself and
scheduling ended with unscheduled bundles. Release it explicitly when
the copyable element shows up in no operand column.

Reviewers: 

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


  Commit: 9f4047e46e6be19672f7635a174b5cd7b0bd9f1d
      https://github.com/llvm/llvm-project/commit/9f4047e46e6be19672f7635a174b5cd7b0bd9f1d
  Author: npanchen <nicholas.panchenko at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/alloca-addrspace.ll

  Log Message:
  -----------
  [ASan] Handle allocas in non-default address spaces (#213764)

Do addrspace cast for allocas that live in address space different from
the datalayout's alloca address space, otherwise ASan will crash during
use replacement


  Commit: d4c991d34c8c8568c6f81402b88c3fd37722c1db
      https://github.com/llvm/llvm-project/commit/d4c991d34c8c8568c6f81402b88c3fd37722c1db
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UsingInserter.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply const-correctness for auto 1/N (#213839)


  Commit: e36b2acea0811d08965e9690b1f3c4b16e6484ff
      https://github.com/llvm/llvm-project/commit/e36b2acea0811d08965e9690b1f3c4b16e6484ff
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UncheckedStatusOrAccessCheck.cpp
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
    M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.cpp
    M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
    M clang-tools-extra/clang-tidy/boost/UseToStringCheck.cpp
    M clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply const-correctness for auto 2/N (#213840)


  Commit: f5346a5a341d09f279063e239f4215478e0f5af3
      https://github.com/llvm/llvm-project/commit/f5346a5a341d09f279063e239f4215478e0f5af3
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/vector-absolute-difference.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Add isel patterns for abs-diff partial reductions. (#212800)

For SVE2 we can use top/bottom [S/U]ABAL[T/B] instruction. SVE2p3 can
use just [S/U]ABAL.


  Commit: ddc8e4bb252f31ca433295facbead45f932413ba
      https://github.com/llvm/llvm-project/commit/ddc8e4bb252f31ca433295facbead45f932413ba
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply const-correctness for auto 3/N (#213841)


  Commit: 0bbee28fd45f1ca5780d5db842261262f201e7d1
      https://github.com/llvm/llvm-project/commit/0bbee28fd45f1ca5780d5db842261262f201e7d1
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseVectorUtilsCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/objc/AssertEqualsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
    M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply const-correctness for auto 4/N (#213842)


  Commit: 0b71b1a4e51276043c7417a82ad87381f76cd4d6
      https://github.com/llvm/llvm-project/commit/0b71b1a4e51276043c7417a82ad87381f76cd4d6
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.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/NonCopyableObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.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/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply const-correctness for auto 5/N (#213843)


  Commit: 61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59
      https://github.com/llvm/llvm-project/commit/61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
    M clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
    M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    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/IdentifierLengthCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply const-correctness for auto 6/N (#213844)


  Commit: 7e15ae5cef9aef89b7a09a7c6f203f4a8ca6c77d
      https://github.com/llvm/llvm-project/commit/7e15ae5cef9aef89b7a09a7c6f203f4a8ca6c77d
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h

  Log Message:
  -----------
  [clang-tidy][NFC] Apply readability-redundant-parentheses (#213848)


  Commit: adba9da44faf9c8a4b8695623023c265ffe59301
      https://github.com/llvm/llvm-project/commit/adba9da44faf9c8a4b8695623023c265ffe59301
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fadd.ll

  Log Message:
  -----------
  [SLP]Support copyable fadds in fmuladd, modeled as fmuladd(1.0, a, b)

A copyable single-use fadd a, b is modeled as fmuladd(1.0, a, b), which
equals fadd a, b (the multiply by 1.0 is exact and preserves signed
zeros), so the add dies instead of being computed and gathered. The
addend/multiplicand assignment per lane matches the majority operand
kinds of the non-copyable lanes. Same all-or-nothing and tie-break
rules as for absorbed fmuls.

Reviewers: hiraditya, bababuck, RKSimon

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


  Commit: ab8b037ef7b398aa864959a69f328fa69b567f74
      https://github.com/llvm/llvm-project/commit/ab8b037ef7b398aa864959a69f328fa69b567f74
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/include/__bit_reference
    M libcxx/include/__configuration/attributes.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__tree
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/deque
    M libcxx/include/forward_list
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/set
    M libcxx/include/string
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
    M libcxx/test/libcxx/containers/associative/non_const_comparator.incomplete.verify.cpp
    M libcxx/test/libcxx/containers/associative/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
    M libcxx/test/libcxx/containers/unord/non_const_comparator.incomplete.verify.cpp
    M libcxx/test/libcxx/containers/unord/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
    A libcxx/test/libcxx/diagnostics/unused_variables.compile.pass.cpp
    A libcxx/test/libcxx/diagnostics/unused_variables.verify.cpp
    M libcxx/test/libcxx/input.output/filesystems/nodiscard.verify.cpp
    M libcxx/test/libcxx/iterators/nodiscard.verify.cpp
    M libcxx/test/libcxx/strings/basic.string/nonnull.verify.cpp
    M libcxx/test/libcxx/strings/basic.string/string.cons/constinit_sso_string.compile.pass.cpp
    M libcxx/test/std/containers/associative/from_range_associative_containers.h
    M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/copy_assign.addressof.compile.pass.cpp
    M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.addressof.compile.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.addressof.compile.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy_assign.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move_assign.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
    M libcxx/test/std/containers/sequences/list/exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/assign_move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp
    M libcxx/test/std/containers/sequences/vector/addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
    M libcxx/test/std/containers/unord/from_range_unordered_containers.h
    M libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.addressof.compile.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/scan_is.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/scan_not.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_is.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_not.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/scan_is.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/scan_not.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/general.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to_std_containers.pass.cpp
    M libcxx/test/std/re/re.regex/re.regex.construct/il_flg.pass.cpp
    M libcxx/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.cons/dtor.pass.cpp
    M libcxx/test/std/strings/basic.string/string.cons/from_range.pass.cpp
    M libcxx/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp
    M libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_substr/substr_rvalue.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop2.pass.cpp
    M libcxx/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop2.pass.cpp

  Log Message:
  -----------
  [libc++] Diagnose unused variables of container types (#203084)

This adds `[[gnu::warn_unused]]` to all container types currently
implemented. In the future new containers should be added to the list,
as well as other value types in the library.

Clang has `-Wunused`, which is a suite of warnings about unused
variables. However, that doesn't warn for a lot of class types,
especially non-trivial ones. That is done to avoid false-positives for
RAII-style types like `lock_guard`. `[[gnu::warn_unused]]` exists to
tell Clang that a given class is a value type.


  Commit: 330dfca3e3bc879be77d4188f1789743961fbe3e
      https://github.com/llvm/llvm-project/commit/330dfca3e3bc879be77d4188f1789743961fbe3e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [runtimes] Drop reviewers-libcxx from reviews touching runtimes/ (#213736)

Since runtimes/ has been picked up by other subprojects, it doesn't make
sense anymore for reviewers-libcxx to watch all changes to it.


  Commit: 55b38aeec8cf7de86c9c4500f59c35fc47264833
      https://github.com/llvm/llvm-project/commit/55b38aeec8cf7de86c9c4500f59c35fc47264833
  Author: Marcos Maronas <mmaronas at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/fp-fast-math-mode-function-call.ll

  Log Message:
  -----------
  [SPIRV] Emit FPFastMathMode for Call (#211879)

`SPV_KHR_float_controls2` makes `FPFastMathMode` valid for all core
instructions, so this patch enables translation of fast math flags for
`OpFunctionCall`.


  Commit: d28193fa1ff64027cc5547355e9d70785268aec8
      https://github.com/llvm/llvm-project/commit/d28193fa1ff64027cc5547355e9d70785268aec8
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp

  Log Message:
  -----------
  [libc++][test] Add `void` cast to a discarded call to `remquo` (#213849)

For calls to `remquo`, the return values are generally expected to be
used, while it is rare to only use the value written via the pointer
parameter. Moreover, some implementors already planned to apply
`[[nodiscard]]` to `remquo`, see also https://llvm.org/PR171763. As a
result, it is perhaps better to add `void` cast to the discarded call to
`remquo` in the test file.


  Commit: 962d16fd97793d22c42227e7fab397f62475c18b
      https://github.com/llvm/llvm-project/commit/962d16fd97793d22c42227e7fab397f62475c18b
  Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/simd.h
    M libc/src/__support/mathvec/CMakeLists.txt
    M libc/src/__support/mathvec/exp10f.h
    M libc/src/__support/mathvec/exp2f.h
    M libc/src/__support/mathvec/expf.h
    M libc/src/__support/mathvec/expf_utils.h

  Log Message:
  -----------
  [libc][mathvec] Vectorise exp2f and exp10f (#211365)

Replaces exp2f and exp10f with fully vectorised implementations.

Includes refactoring of expf polynomial evalulation into expf_utils.h


  Commit: 62c5ede9fd14083aa57d62302df06a44062d8bfc
      https://github.com/llvm/llvm-project/commit/62c5ede9fd14083aa57d62302df06a44062d8bfc
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/lib/IR/BasicBlock.cpp

  Log Message:
  -----------
  [IR] Remove deprecated BasicBlock::getFirstNonPHI (#213926)

All in-tree callers already migrated to getFirstNonPHIIt(), which
preserves debug-info placement. No remaining users of the deprecated
overloads exist in the codebase.

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


  Commit: 50f1e69560a15ebe8493202c63859fc074c8541a
      https://github.com/llvm/llvm-project/commit/50f1e69560a15ebe8493202c63859fc074c8541a
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
    M llvm/test/CodeGen/AArch64/cmp-frameindex.ll
    A llvm/test/CodeGen/AArch64/condbr-stack-slot-flag-setting.mir
    M llvm/test/CodeGen/AArch64/large-stack-cmp.ll

  Log Message:
  -----------
  [AArch64][CodeGen] Don't try to compute stack addresses in xzr (#213009)

Conditional branch tuning can replace an ADD + CBZ with an ADDS + Bcc.
This patch disables that transformation in the case where the ADD
instruction has a frame offset operand, because in that situation, it
can later be expanded into multiple instructions.

Fixes #212528, which had a case of this in which the destination
register of the ADDS was rewritten to XZR, because the value was
calculated _only_ to compare against zero. When the ADDS was expanded
into multiple instructions, the output instructions were not even
legal with XZR as the destination.

However we disable this transformation even when not rewriting the
destination register, because some of the instructions involved in
computing a frame offset have no flag-setting variant. (E.g. ADDVL, if
there are SVE variable-sized vectors on the stack.)


  Commit: 0eefd513c29e88d90cf55d16a002bc09fe1f8eac
      https://github.com/llvm/llvm-project/commit/0eefd513c29e88d90cf55d16a002bc09fe1f8eac
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll

  Log Message:
  -----------
  [AMDGPU] Canonicalize scalar bf16 more efficiently (#213789)

Canonicalize bf16 more efficiently. Use `v_pk_mul_vf16 <DST>, 1.0, ...`
rather than converting to/from f32 and using v_max.

---------

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


  Commit: 3217105056c59500981c1d00b60ac4d474b37b03
      https://github.com/llvm/llvm-project/commit/3217105056c59500981c1d00b60ac4d474b37b03
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] Rename some variable names to follow convention better (#213827)

This is a follow-up of #213491.


  Commit: 91ccd1b10ce82fa4e79e62b0b6e575c6c0ee41eb
      https://github.com/llvm/llvm-project/commit/91ccd1b10ce82fa4e79e62b0b6e575c6c0ee41eb
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/test/CodeGenCXX/dynamic-cast-exact-address-space.cpp

  Log Message:
  -----------
  [Clang] Make exact dynamic_cast optimization AS aware (#213927)

PR https://github.com/llvm/llvm-project/pull/213253 exposed a problem in
AMDGPU where exact dynamic_cast optimization would generate compare
operands for the compare instruction that live in different address
spaces.
The culprit appears to have been the introduction of the `final` keyword
in the derived struct definition.

This patch uses CGF.GetVTablePtr and uses CGM.GlobalsInt8PtrTy in the
code for emitExactDynamicCast, following the pattern that is used in
EmitTypeid.

A test case that was reduced from the above PR is added as test.
AI-assisted


  Commit: 8248eef4bea83086c4487215a465771f79e8759b
      https://github.com/llvm/llvm-project/commit/8248eef4bea83086c4487215a465771f79e8759b
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/__iterator/access.h
    M libcxx/include/__iterator/reverse_access.h
    M libcxx/include/any
    M libcxx/include/functional
    M libcxx/include/initializer_list
    M libcxx/include/iterator
    M libcxx/include/module.modulemap.in
    M libcxx/include/optional
    M libcxx/include/typeindex
    M libcxx/include/valarray
    M libcxx/include/version
    M libcxx/modules/std/initializer_list.inc
    M libcxx/modules/std/valarray.inc
    M libcxx/test/libcxx/language.support/nodiscard.verify.cpp
    M libcxx/test/libcxx/numerics/numarray/nodiscard.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/utilities/memory/pointer.conversion/to_address_std_iterators.pass.cpp
    M libcxx/test/std/iterators/iterator.container/data.pass.cpp
    M libcxx/test/std/iterators/iterator.container/empty.pass.cpp
    M libcxx/test/std/iterators/iterator.container/size.pass.cpp
    M libcxx/test/std/iterators/iterator.container/ssize.pass.cpp
    M libcxx/test/std/iterators/iterator.range/begin-end.array.pass.cpp
    M libcxx/test/std/iterators/iterator.range/begin-end.container.pass.cpp
    M libcxx/test/std/iterators/iterator.range/begin-end.initializer_list.pass.cpp
    M libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py
    M libcxx/test/std/language.support/support.initlist/support.initlist.access/access.pass.cpp
    R libcxx/test/std/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/initializer_list.version.compile.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/valarray.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/numerics/numarray/template.valarray/types.compile.pass.cpp
    R libcxx/test/std/numerics/numarray/template.valarray/types.pass.cpp
    A libcxx/test/std/numerics/numarray/template.valarray/valarray.members/begin-end.pass.cpp
    R libcxx/test/std/numerics/numarray/valarray.range/begin-end.pass.cpp
    M libcxx/test/std/utilities/memory/pointer.conversion/to_address_std_iterators.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Implement P3016R6: Resolve inconsistencies in begin/end for `valarray` and braced initializer lists (#173637)

This paper is implemented as a Defect Report against C++11 and later
revisions.

- Inclusion of `<typeinfo>` in `<functional>` should be considered as a
  patch to C++ TR1 (https://wg21.link/N1836), while the related
  parts were merged into C++11.
- Changes of `initializer_list` should be considered as a patch to C++11
  paper https://wg21.link/n2672.
- Changes of `valarray`, `std::begin`, and `std::end` and availability
  of range access functions in `<valarray>` should be considered as a
  patch to C++11 paper https://wg21.link/n2930.
- Inclusion of `<typeinfo>` in `<typeindex>` should be considered as a
  patch to C++11 paper https://wg21.link/n2932.
- Changes of `std::cbegin`, `std::cend`, `std::rbegin`, `std::rend`,
  `std::crbegin`, and `std::crend` and the inclusion of
  `<initializer_list>` in `<iterator>` should be considered as a patch to
  https://wg21.link/lwg2128, while LWG2128 is consistently
  considered to be a pure feature addition in C++14 by implementations.
- Changes of `std::data`, `std::empty`, and `std::size` should be
  considered as a patch to C++17 paper https://wg21.link/n4280.
- Inclusion of `<initializer_list>` and `<typeinfo>` in `<any>` should
  be considered as a patch to C++17 paper https://wg21.link/p0220r1.
- Changes of `std::ssize` should be considered as a patch to C++20 paper
  https://wg21.link/p1227r2.
- Inclusion of `<initializer_list>` in `<functional>` should be
  considered as a patch to C++23 paper https://wg21.link/p0288r9.
- Availability of range access functions in `<stacktrace>` should be
  considered as a patch to C++23 paper https://wg21.link/p0881r7.
- Availability of range access functions in `<optional>` should be
  considered as a patch to C++26 paper https://wg21.link/p3168r2.

Notes for backported and missing parts:
- Changes of `<stacktrace>` are not implemented because P0881R7 is not
  implemented. But I think P3016R6 should be considered complete, with
  note added.
- `constexpr` for member functions of `initializer_list` is only added
  since C++14, in the spirit of C++14 paper https://wg21.link/n3471.
- Changes of inclusions and `valarray` are unconditionally implemented,
  which follows the current convention of libc++.

Fixes #171271.


  Commit: 800ffc19d7fdbd223f73d9b262a3ebb1a628b838
      https://github.com/llvm/llvm-project/commit/800ffc19d7fdbd223f73d9b262a3ebb1a628b838
  Author: David Green <david.green at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [AArch64] Make a number of functions static. NFC (#213971)


  Commit: 44891ada2a06d32662d2c0c81343a0528ea39ed1
      https://github.com/llvm/llvm-project/commit/44891ada2a06d32662d2c0c81343a0528ea39ed1
  Author: Chris Copeland <chris at chrisnc.net>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/tools/dsymutil/ARM/fat-dylib-update.test

  Log Message:
  -----------
  [dsymutil][ARM][NFC] Require AArch64 for fat-dylib-update.test (#213836)

fat-test.arm.dylib contains armv7, armv7s, and arm64 slices, so the test
needs the AArch64 backend in addition to ARM.


  Commit: d50f61f06d2f380bcc3dcf8c598b2dc9436a8df1
      https://github.com/llvm/llvm-project/commit/d50f61f06d2f380bcc3dcf8c598b2dc9436a8df1
  Author: Bryth <matteo.rizza-murgier at sipearl.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp

  Log Message:
  -----------
  [mlir][ArmSVE] move transform entry points into arm_sve namespace (NFC) (#213949)

This PR moves `populateLowerContractionToSVE*` entry points into the
`arm_sve` namespace for consistency with their Arm Neon counterparts.


  Commit: 01c29d71bdcce48d499e34223d1866fedee9a83b
      https://github.com/llvm/llvm-project/commit/01c29d71bdcce48d499e34223d1866fedee9a83b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    M lldb/test/API/commands/platform/basic/TestPlatformCommand.py
    M lldb/test/API/commands/process/launch/TestProcessLaunch.py
    M lldb/test/API/commands/settings/TestSettings.py
    M lldb/test/API/commands/settings/quoting/TestQuoting.py
    M lldb/test/API/commands/statistics/basic/TestStats.py
    M lldb/test/API/commands/target/basic/TestTargetCommand.py
    M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild/TestLocationsAfterRebuild.py
    M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
    M lldb/test/API/functionalities/bt-interrupt/TestInterruptBacktrace.py
    M lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
    M lldb/test/API/functionalities/inferior-assert/TestInferiorAssert.py
    M lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
    M lldb/test/API/functionalities/scripted_frame_provider/runlock_reentrant_deadlock/TestRunLockReentrantDeadlock.py
    M lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/TestWasHitWithFrameProviderDeadlock.py
    M lldb/test/API/functionalities/statusline/TestStatusline.py
    M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
    M lldb/test/API/lang/c/const_variables/TestConstVariables.py
    M lldb/test/API/lang/c/inlines/TestRedefinitionsInInlines.py
    M lldb/test/API/lang/c/set_values/TestSetValues.py
    M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
    M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
    M lldb/test/API/lang/cpp/extern_c/TestExternCSymbols.py
    M lldb/test/API/lang/cpp/function-local-class/TestCppFunctionLocalClass.py
    M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
    M lldb/test/API/lang/cpp/template/TestTemplateArgs.py
    M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
    M lldb/test/API/python_api/find_in_memory/TestFindRangesInMemory.py
    M lldb/test/API/python_api/frame/TestFrames.py
    M lldb/test/API/python_api/persistent_decls/TestPersistentDecls.py
    M lldb/test/API/python_api/process/TestProcessAPI.py
    M lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
    M lldb/test/API/python_api/target/TestTargetAPI.py
    M lldb/test/API/python_api/thread/TestThreadAPI.py
    M lldb/test/API/python_api/value/change_ptr/TestChangePtr.py
    M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
    M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
    M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/invalidated-event/TestDAP_invalidatedEvent.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_cwd.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_enabled.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
    M lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io_integratedTerminal.py
    M lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
    M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
    M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
    M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
    M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
    M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
    M lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
    M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
    M lldb/test/API/tools/lldb-server/cached-memory-region-info/TestCachedMemoryRegionInfo.py

  Log Message:
  -----------
  [lldb][test] Skip the API tests a WebAssembly target cannot support (#213788)

This is the final batch of skips. Together with a handful of local
changes to LLDB and WAMR, the test suite now passes when targeting
WebAssembly. Each test has a short comment explaining why it's skipped.


  Commit: ba9273a5f59ae4fc1f9e052b87b2388647e0fd02
      https://github.com/llvm/llvm-project/commit/ba9273a5f59ae4fc1f9e052b87b2388647e0fd02
  Author: Sean Clarke <sclarke at tenstorrent.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/clmul.ll
    M llvm/test/CodeGen/RISCV/clmul.ll
    M llvm/test/CodeGen/RISCV/clmulh.ll

  Log Message:
  -----------
  [RISCV] Lower scalar `CLMUL` to `vclmul` if `clmul` instruction not available (#212616)

The `Zbc` and `Zvbc` extensions in RISC-V are independent, thus some
hardware may support `Zvbc` (`vclmul(h)`), but not `Zbc` (`clmul(h)`).
Rather than forcing scalar `CLMUL(H)` to expand in this case, simply
insert into a vector register, use `vclmul(h)`, and extract instead.

For now, only allow this for RV64, where `clmul` and `vclmul` both
operate on the same width. RV32 has the potential for similar tricks,
but it would be more complicated, and is left as a FIXME for now.


  Commit: f62556b044fa171efc7cad45cf6f717101ce09ef
      https://github.com/llvm/llvm-project/commit/f62556b044fa171efc7cad45cf6f717101ce09ef
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/CodeGen/X86/attr-tail-pad.ll
    A llvm/test/Verifier/invalid-tail-pad-attr.ll

  Log Message:
  -----------
  [dyndbg][AsmPrinter] Add tail padding attributes (#194852)

"tail-pad-to-size"="n": Pad functions up to at least 'n' bytes.
"tail-pad-value"="n": Pad using the value 'n' (default 0).

This patch is to support dynamic debugging, RFC:
https://discourse.llvm.org/t/90113

In order to transfer control from an optimized to an unoptimized function a
debugger may patch the optimized version with a jump to the unoptimized
one.

This patch adds a mechanism to ensure there's enough padding between functions
to avoid patches overwriting unrelated code. It adds padding to the end of
functions smaller then 'n' bytes.

The `.fill` directive expression was discussed here:
https://discourse.llvm.org/t/89658

See the RFC and pull request for discussions of alternative approaches.


  Commit: c5baf4ed352b1dd8dab2dbb23614caa631b6a46b
      https://github.com/llvm/llvm-project/commit/c5baf4ed352b1dd8dab2dbb23614caa631b6a46b
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp-s32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Switch more FP opcodes to extended LLTs (part 5) (#213766)

Migrate G_FNEG, G_FABS, G_FSQRT, G_FFLOOR, G_FLDEXP, G_STRICT_FLDEXP,
G_FCMP, and G_IS_FPCLASS to extended LLTs.

Remove redundant scalar clamps that request unsupported f128-to-f64
narrowing.

Update the relevant MIR tests.


  Commit: b1b973a58effb81051c75c2747cc81f5a175edd9
      https://github.com/llvm/llvm-project/commit/b1b973a58effb81051c75c2747cc81f5a175edd9
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Add occupancy tests for GFX6/7/8 (#213914)


  Commit: 69f0090c0286811bec68424a48ef85a40aaf13e4
      https://github.com/llvm/llvm-project/commit/69f0090c0286811bec68424a48ef85a40aaf13e4
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 962d16f (#213956)

This fixes 962d16fd97793d22c42227e7fab397f62475c18b (#211365).

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

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


  Commit: de63e4f3538ade12b5264e6e3f4682201ada16e8
      https://github.com/llvm/llvm-project/commit/de63e4f3538ade12b5264e6e3f4682201ada16e8
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/invalid-atomicrmw-elementwise.ll

  Log Message:
  -----------
  [Verifier] Reject elementwise atomicrmw with sub-byte element type (#213753)

In https://github.com/llvm/llvm-project/pull/208510/ I accidentally
introduced a bug where I allowed sub-byte element types with atomicrmw
elementwise (i.e. `<8 x i1>`).

The LangRef states:

```
The access type
must then be a fixed vector type whose total bit width is a power of two and
whose element type is supported by the corresponding scalar atomic instruction.
```

The second part of this sentence rejects sub-byte element types.

The fix is that elementwise atomics need to additionally call
`checkAtomicMemAccessSize` on the vector element type (they already call
it on the whole vector).


  Commit: c703445771082920ce7cc13d75d721074539f914
      https://github.com/llvm/llvm-project/commit/c703445771082920ce7cc13d75d721074539f914
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale
    A libcxx/include/__locale_dir/codecvt.h
    A libcxx/include/__locale_dir/collate.h
    A libcxx/include/__locale_dir/ctype.h
    A libcxx/include/__locale_dir/ctype_base.h
    A libcxx/include/__locale_dir/locale.h
    A libcxx/include/__locale_dir/utf8_conversions.h
    M libcxx/include/module.modulemap.in

  Log Message:
  -----------
  [libc++] Granularize <__locale> into __locale_dir (#213667)

The <__locale> header was a collection of distinct utilities. This patch
splits it up into granular headers under __locale_dir/. This patch
however does not use the granular headers from users of <__locale>: this
will be done in a separate patch.

Assisted by Claude


  Commit: 98774647cfd7dc067e9fda9109a3f7dc1c2e91c3
      https://github.com/llvm/llvm-project/commit/98774647cfd7dc067e9fda9109a3f7dc1c2e91c3
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [Verifier] Clean up load atomic elementwise mem access sizes check (NFC) (#213864)

I refactored the `load atomic elementwise` check to have the same
cleaner pattern as `atomicrmw elementwise` and remove the `ScalarTy`
intermediate.

The previous code had this segment:

```
      if (VecTy) {
        checkAtomicMemAccessSize(ScalarTy, &LI);
        ScalarTy = VecTy->getElementType();
      }
```

Which is confusing because it's checking the atomic access size on the
whole vector and then assigning `ScalarTy` to the element type so that
the second check does the check on the element type. It's cleaner to
reverse this and have the first check operate on the element type so
that the second check always checks the entire type.


  Commit: 499ee501de19fdc5a3afe541c5915ac04786a814
      https://github.com/llvm/llvm-project/commit/499ee501de19fdc5a3afe541c5915ac04786a814
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M offload/test/jit/save_image.c

  Log Message:
  -----------
  [offload][lit] Fix XPASS on save_image.c on intelgpu (#213984)

XPASSing, see [here](https://github.com/llvm/llvm-project/pull/212384).

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: 3376b0dbbf26b4681d7fd62563bb855d9cc88de3
      https://github.com/llvm/llvm-project/commit/3376b0dbbf26b4681d7fd62563bb855d9cc88de3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll

  Log Message:
  -----------
  [SLP][NFC]Update test by removing attrs and replacing undefs, NFC



Reviewers: 

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


  Commit: c358e8d90b3b26db86046f19de29bc848f255ac8
      https://github.com/llvm/llvm-project/commit/c358e8d90b3b26db86046f19de29bc848f255ac8
  Author: Sébastien Marchand <sebmarchand at users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/swift-async-context-frame-record-win.ll
    M llvm/test/CodeGen/AArch64/swift-async-context-seh.ll
    M llvm/test/CodeGen/AArch64/swift-async-context-slot-offset-win.ll
    M llvm/test/CodeGen/AArch64/swift-async-win.ll
    M llvm/test/CodeGen/AArch64/win-sve.ll

  Log Message:
  -----------
  [AArch64][Windows] Fix swift async context slot placement (#212922)

Swift async functions can miscompile on Windows ARM64 at `-O2`, when
there's enough register pressure that a local gets scavenged into the
callee-save area: the local ends up sharing an address with the saved
caller x29, so the epilogue restores a value the function has already
overwritten. swiftlang/swift#90920 has a reduced repro.

`assignCalleeSavedSpillSlots` creates the swift async context object
before the callee-save loop instead of inside it next to the FP slot.
MachineFrameInfo ends up with it above the frame record while the
prologue stores it below at FP-8, and the 8 byte disagreement leaves a
hole in the middle of the callee-save area. PEI's scavenger hands that
hole to the local. Only reproduces at -O2 and up since scavenging is
gated on the opt level.

```
	sub	sp, sp, #112
	str	x19, [sp, #16]                  // 8-byte Spill
	str	x21, [sp, #24]                  // 8-byte Spill
	stp	x23, x24, [sp, #32]             // 16-byte Folded Spill
	stp	x25, x26, [sp, #48]             // 16-byte Folded Spill
	stp	x27, x28, [sp, #64]             // 16-byte Folded Spill
	stp	x29, x30, [sp, #88]             // 16-byte Folded Spill
	str	xzr, [sp, #80]
	add	x29, sp, #88
	...
	str	x7, [x29]                       // 8-byte Spill
	...
	ldr	x1, [x29]                       // 8-byte Reload
	ldp	x29, x30, [sp, #88]             // 16-byte Folded Reload
```

This creates the object inside the loop so the two agree. The other
option was leaving the creation site alone and teaching MachineFrameInfo
about the expanded 24 byte FP/LR slot, but that puts the layout in two
places. Not sure which is preferred here, I don't know this code well.

This also asserts the saved FP object resolves to FP+0, since nothing
checks that today. Reverting the fix makes it fire on the same funclet.
`store-swift-async-context-clobber-live-reg.ll` already miscompiles with
`-regalloc=fast`, so this isn't Swift specific.


  Commit: 7980fa07f3c3633504c617e05b31673b50565957
      https://github.com/llvm/llvm-project/commit/7980fa07f3c3633504c617e05b31673b50565957
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libcxx/include/math.h

  Log Message:
  -----------
  [libc++] Tweak comments for workaround about `fpclassify` overloads (#212388)

Explaining why we have `_LIBCPP_PREFERRED_OVERLOAD` and template
versions.


  Commit: 146316b6f6d3a1f85caa9f52fd753266abe5029f
      https://github.com/llvm/llvm-project/commit/146316b6f6d3a1f85caa9f52fd753266abe5029f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [mlir][SPIR-V] Verify ExecutionMode operand count and kind (#212828)

Add a verifier for spirv.ExecutionMode enforcing the correct number of
literal operands per execution mode and rejecting `<id>`-only modes and
share the operand schema with spirv.ExecutionModeId


  Commit: 8cd74524c6f4965466110a6a060b0672dba6a511
      https://github.com/llvm/llvm-project/commit/8cd74524c6f4965466110a6a060b0672dba6a511
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/test/Target/SPIRV/decorations.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Handle Volatile decoration in (de)serialization (#212951)


  Commit: 32f3ae6db1ba8257bdab18a92d6cefdd845bc4c5
      https://github.com/llvm/llvm-project/commit/32f3ae6db1ba8257bdab18a92d6cefdd845bc4c5
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/test/ClangScanDeps/canonicalize-macros-multiarch.c

  Log Message:
  -----------
  [Clang] Restrict ClangScanDeps darwin-specific test not to run in cross-compile (#213884)

The test added in 316a29603228c5d5000e0ddf8dfba2a494ac7ee9 fails when
run on MacOS but targeting Linux as a cross compiler.


  Commit: 0160d122c0814f89a7a8c96c2018b127830e7c21
      https://github.com/llvm/llvm-project/commit/0160d122c0814f89a7a8c96c2018b127830e7c21
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll

  Log Message:
  -----------
  [SLP][NFC]Remove undef mentions from test, NFC



Reviewers: 

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


  Commit: c1e828f67af80443eb2140822be12ee2c4452347
      https://github.com/llvm/llvm-project/commit/c1e828f67af80443eb2140822be12ee2c4452347
  Author: David Green <david.green at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
    M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll

  Log Message:
  -----------
  [AArch64] Update cttz and ctlz cost model test. NFC (#213999)

This updates the tests to match ctpop, how we test other operations.
Some extra
type coverage and cssc is added.


  Commit: e5cd4562930c3fbe4eb66e30139fbf97e27d28d2
      https://github.com/llvm/llvm-project/commit/e5cd4562930c3fbe4eb66e30139fbf97e27d28d2
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/test/Transforms/vscale-attr.fir

  Log Message:
  -----------
  [flang] Add LLVM dialect dependency to VScaleAttr (#213931)

`VScaleAttr` creates an LLVM `VScaleRangeAttr`, but did not declare the
LLVM dialect as a pass dependency. This aborts when the input does not
otherwise load LLVM.

Declare the dependency and remove the unused FIR-typed argument from the
existing test. Parsing `!fir.ref` loads `FIROpsDialect`, which loads
`LLVMDialect` as a dependency and previously masked the missing pass
dependency.

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>


  Commit: 3d1a37ff018da4919104586cb6d8377f4ba44c42
      https://github.com/llvm/llvm-project/commit/3d1a37ff018da4919104586cb6d8377f4ba44c42
  Author: Zane Hambly <zanehambly at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    A llvm/test/MC/X86/symbolic-fpclass-imm.s

  Log Message:
  -----------
  [X86] Don't assume the FPCLASS category mask is a literal (#213171)

`llvm-mc` asserts on a FPCLASS category mask given as a symbol:

```asm
vfpclassps $f0, %zmm1, %k1
```
```
Assertion failed: isImm() && "This is not an immediate", MCInst.h:85
```

`printFPCLASSComments` reads the last operand with `getImm()` without
checking it is one. The value is only known at link time, so there is no
category to describe; return early and print no comment.

Note this is a comment printer, so encoding is unaffected.
`--filetype=obj` already succeeds today and emits a placeholder
immediate plus an `R_X86_64_8` relocation, which is correct. The issues
describe this as producing a wrong encoding in release builds, which I
don't think is right for these two; the assert only fires when printing
assembly.

A literal category still prints its comment as before, covered in the
test.

Fixes #185364
Fixes #185365


  Commit: d4ca2e5b385f87127e8f13434f7f96cb3ae709b4
      https://github.com/llvm/llvm-project/commit/d4ca2e5b385f87127e8f13434f7f96cb3ae709b4
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2_mat.ll
    M llvm/test/CodeGen/SPIRV/legalization/vector-legalization-shader.ll

  Log Message:
  -----------
  [SPIR-V] Preserve float types through wide float shuffles and atan2 legalization (#213785)

fixes https://github.com/llvm/llvm-project/issues/213783

Propagate result types through G_SHUFFLE_VECTOR and G_FATAN2 during
post-legalizer type deduction. This prevents wide float vectors from
producing integer-typed OpCompositeExtract instructions.

Add generic float shuffle and wide atan2 regression coverage.

assisted by Copilot (GPT-5.6-Sol)


  Commit: 958a9bb29958bef1866a18d4bde0c4e7aabe1ac7
      https://github.com/llvm/llvm-project/commit/958a9bb29958bef1866a18d4bde0c4e7aabe1ac7
  Author: Kieran B <kieran.bailey at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/aarch64-neon-immediate-ranges/vector-shift-left.c
    M llvm/test/CodeGen/AArch64/neon-shift-left-long.ll

  Log Message:
  -----------
  [Clang][ARM] Fix immediate range for NEON widening left-shifts (#212459)

The ACLE specifies the C intrinsic 'vshll_n to have a valid immediate
range size of [0..eltsize] but it has a range of [0..((eltsize*2) - 1)].
Update the range check to match the specified behavior

---------

Co-authored-by: Lukacma <Marian.Lukac at arm.com>


  Commit: 7609cb83bf5fc5c25e287770db277dbb34e674b8
      https://github.com/llvm/llvm-project/commit/7609cb83bf5fc5c25e287770db277dbb34e674b8
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    A llvm/test/CodeGen/DirectX/ResourceAccess/phi-insert-point.ll

  Log Message:
  -----------
  [DirectX] Prevent `dxil-resource-access` from inserting a resource access in-between phi nodes (#211343)

The pass can incorrectly place a load/store within the phi nodes at top
of the basic block: https://godbolt.org/z/x5Ec4GWGT

This is resolved by updating `replaceHandleWithIndices` to adjust the
insertion point when the ptr comes from a phi node.

Resolves, in part, https://github.com/llvm/llvm-project/issues/211121

Assisted by: Claude Opus 4.8


  Commit: 5382f7d64ff59d198091ffd263d7adecf5d7dd5a
      https://github.com/llvm/llvm-project/commit/5382f7d64ff59d198091ffd263d7adecf5d7dd5a
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/masked_compress_load.ll

  Log Message:
  -----------
  [CostModel][AArch64] Add initial costs for `masked.compressstore` (#213712)

This adds an initial cost model for `masked.compressstore`. The tests
are based on `masked_expand_load.ll`, which covers all configurations
for the `expand`/`compact` instructions.

Note: Right now, we only report valid costs for `masked.compressstore`
operations that can be lowered with SVE1 (as that's all we handle ISEL
for at the moment).


  Commit: af14456a2bac55026b2d57cbf14b3905c452b8a4
      https://github.com/llvm/llvm-project/commit/af14456a2bac55026b2d57cbf14b3905c452b8a4
  Author: arsnyder16 <asnyder at minitab.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M openmp/runtime/src/kmp_invoke_microtask.cpp

  Log Message:
  -----------
  [OpenMP] Simplify generic microtask dispatch (#214004)

Replace the generic microtask dispatcher's handwritten function-pointer
types and calls with a variadic-template helper and a macro for each
supported argument count.

The dispatcher still casts each microtask to the exact fixed-arity
signature required by platforms such as WebAssembly. This is intended as
a refactor only: the existing limit of 15 microtask arguments and the
diagnostic for larger argument counts remain unchanged.

This reduces the repetitive code and makes future changes to the
supported argument range easier to review.

Split out from #211071


  Commit: 2a2adde35937667dd93dc5594ac5d52842e116d2
      https://github.com/llvm/llvm-project/commit/2a2adde35937667dd93dc5594ac5d52842e116d2
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll

  Log Message:
  -----------
  [AMDGPU][GISel] Add RegBankLegalize rules for llvm.amdgcn.fdot2.bf16.bf16 (#214013)


  Commit: 500962298d624a74ade58c2aeb65313fb32dda5a
      https://github.com/llvm/llvm-project/commit/500962298d624a74ade58c2aeb65313fb32dda5a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/minmax-fp-loop-carried.ll

  Log Message:
  -----------
  [InstCombine]Fold fcmp+select to min/max if its zero sign is missing

Look through phis, chained selects and the loop back edge to the
select itself and fold if no use can observe the sign of zero of the
result. This restores the fold for loop-carried and unrolled running
min/max values (fcsel -> fminnm on AArch64) lost to the signed zero
handling fix in matchSelectPattern (#210077).

Reviewers: nikic, dtcxzyw

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


  Commit: 70ecc5bb62187ca70e6fe4e563dbd60f88c2e7a0
      https://github.com/llvm/llvm-project/commit/70ecc5bb62187ca70e6fe4e563dbd60f88c2e7a0
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll

  Log Message:
  -----------
  Revert "[GlobalISel] Combine merge-unmerge with mixed scalar and vector types" (#214010)

Reverts llvm/llvm-project#213086


  Commit: 6326f14cdc12babfdc4359f5ddd4dfcd66b53f33
      https://github.com/llvm/llvm-project/commit/6326f14cdc12babfdc4359f5ddd4dfcd66b53f33
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/docs/CIR/ABILowering.rst
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-variadic.c
    M clang/test/CIR/Transforms/abi-lowering/indirect-call-classification-attr.cir
    M clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-indirect-try-call.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-nyi.cir
    M mlir/include/mlir/ABI/ABIRewriteContext.h
    M mlir/include/mlir/ABI/Targets/Test/TestTarget.h
    M mlir/lib/ABI/Targets/Test/TestTarget.cpp

  Log Message:
  -----------
  [CIR] Lower variadic calls in CallConvLowering for x86_64 (#213315)

CallConvLowering classified each function once from its declared
signature and reused that classification at every call site. An argument
passed through an ellipsis has no entry in the callee's parameter list,
so on x86_64 an ellipsis argument that needed an extension attribute, a
register coercion, or a byval slot was emitted unchanged whenever the
callee's declared parameters happened to need no rewrite, and reported
NYI when they did.

An ellipsis argument competes for the same registers as a declared one,
so the same two-eightbyte record goes in a register pair early in the
list and byval once the integer registers are gone. Variadic call sites
under the x86_64 driver are now classified from the call's own operand
types, and the declared parameter count reaches
`llvm::abi::FunctionInfo::create` as its `NumRequired` argument, which
is what lets the classifier tell a named argument from one passed
through the ellipsis. Today that flag only decides whether a large
vector goes in a register, and the CIR type bridge admits no vector
types, so the boundary changes no output yet.

`prependIndirectCallee` also rebuilt the callee pointer's pointee
without `isVarArg`, dropping the ellipsis from a lowered indirect call
and with it the vector-register count the x86_64 SysV ABI passes in AL.
A void return and a return the ABI drops, such as an empty record, both
classify as `Ignore` while needing opposite treatment, so
`FunctionClassification` now records which one it was where the
classification is produced. `needsRewrite` moves from the CIR rewriter
to `mlir/include/mlir/ABI/ABIRewriteContext.h`, over a new per-argument
`isPassThrough`, so the pass and the rewriter share one definition.

Two things are newly diagnosed rather than newly broken. The
operand-count check moves ahead of the pass-through early return, so a
call whose operand count disagrees with a `no_proto` callee's
declaration is reported instead of lowered with operands the
classification never covered. And the indirect-call walk visits
`cir::CIRCallOpInterface` rather than only `cir.call`, so a variadic
indirect `cir.try_call` is accounted for, and one that needs a rewrite
is reported instead of left as written while the signature around it is
coerced. A non-variadic indirect `cir.try_call` is filtered out where
the walk collects, since rewriting one is unimplemented either way and
that gap has nothing to do with the ellipsis. Reported NYI: variadic
indirect calls that need a rewrite, variadic calls under the other
drivers, and an ellipsis argument whose ABI coercion the type bridge
cannot represent.


  Commit: c9f2ba22849e50df1277db8225a6410ba9ddcb5e
      https://github.com/llvm/llvm-project/commit/c9f2ba22849e50df1277db8225a6410ba9ddcb5e
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMacroFusionXQCI.td
    M llvm/test/CodeGen/RISCV/macro-fusions-xqci.mir

  Log Message:
  -----------
  [RISCV] Fix Xqci Fusions with Frame Indexes (#213815)

Pre-RA, the ADDI can contain a frame index rather than a register, which
causes `getReg()` to assert. These were missing the `CheckIsRegOperand`
that most other fusions have.


  Commit: cafd36bfce67682193c3d5da591b051a460e50f6
      https://github.com/llvm/llvm-project/commit/cafd36bfce67682193c3d5da591b051a460e50f6
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [NFC][CIR] Propagate SymbolTables better (#213972)

This came up during self-build, we are spending a lot of time in some
cases looking up using the global symbol table, which does no caching.
Previously we'd propagated this in a few places, but this patch removes
all uses of SymbolTable::lookup and adds the cache everywhere.

This involved changing the tablegen to include it in each of our
rewriters, plus the CirAttr lowering everywhere.

The only thing we have to take care of is to make sure we invalidate the
cache/update the cache whenever we add something with a name (see
createLLVMFuncOpIfNotExist).

This is NFC, as it isn't observable, other than being a build time
improvement.


  Commit: 1f69a16289478c9a7b2cda5df4cd16d6609eb2c2
      https://github.com/llvm/llvm-project/commit/1f69a16289478c9a7b2cda5df4cd16d6609eb2c2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll

  Log Message:
  -----------
  [CostModel][X86] getArithmeticReductionCost - ensure we test the vXi1 reductions types before legalisation (#211043)

Pre-AVX512 these will be legalized to wider vector types and might match
against other reductions tables.

Noticed while working on improving logic reductions, but hit a case
with/without popcnt for bool sum reduction patterns - I've added a AVX2
test pass to check the (corrected) costs are still working


  Commit: 08a8739ac89a27c7dbd0349266611ca94866ae2f
      https://github.com/llvm/llvm-project/commit/08a8739ac89a27c7dbd0349266611ca94866ae2f
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M lldb/bindings/interface/SBAddressRangeListExtensions.i
    M lldb/bindings/interface/SBBreakpointExtensions.i
    M lldb/bindings/interface/SBBreakpointListExtensions.i
    M lldb/bindings/interface/SBCompileUnitExtensions.i
    M lldb/bindings/interface/SBDebuggerExtensions.i
    M lldb/bindings/interface/SBFileSpecListExtensions.i
    M lldb/bindings/interface/SBFrameListExtensions.i
    M lldb/bindings/interface/SBInstructionListExtensions.i
    M lldb/bindings/interface/SBModuleExtensions.i
    M lldb/bindings/interface/SBModuleSpecListExtensions.i
    M lldb/bindings/interface/SBProcessExtensions.i
    M lldb/bindings/interface/SBProcessInfoListExtensions.i
    M lldb/bindings/interface/SBSectionExtensions.i
    M lldb/bindings/interface/SBStringListExtensions.i
    M lldb/bindings/interface/SBSymbolContextListExtensions.i
    M lldb/bindings/interface/SBTargetExtensions.i
    M lldb/bindings/interface/SBThreadCollectionExtensions.i
    M lldb/bindings/interface/SBThreadExtensions.i
    M lldb/bindings/interface/SBTypeEnumMemberExtensions.i
    M lldb/bindings/interface/SBTypeExtensions.i
    M lldb/bindings/interface/SBUnixSignalsExtensions.i
    M lldb/bindings/interface/SBValueExtensions.i
    M lldb/bindings/interface/SBValueListExtensions.i
    M lldb/bindings/python/python-extensions.swig
    M lldb/bindings/python/python.swig

  Log Message:
  -----------
  [lldb][Python] Inline `lldb_iter` for better type inference (#214000)

Currently, the `lldb_iter` helper is used for providing `__iter__` in
the Python bindings:
```python
def lldb_iter(obj, getsize, getelem):
    """A generator adaptor to support iteration for lldb container objects."""
    size = getattr(obj, getsize)
    elem = getattr(obj, getelem)
    for i in range(size()):
        yield elem(i)
```

A type checker or LSP can't see through this function. Currently, that's
no problem, because it doesn't know the return type of any Swig wrapper,
but when we add type annotations (hopefully with Swig 4.5 in #213463),
`__iter__` remains untyped. So iterating through the wrappers won't show
the correct type.

As the functionality is fairly simple, it's easier to inline it. That's
what this PR does. Then a type checker can infer the return type.


  Commit: ab4f210a3127e3ba177381891194144f92798ba6
      https://github.com/llvm/llvm-project/commit/ab4f210a3127e3ba177381891194144f92798ba6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/OffloadArch.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/unittests/Basic/OffloadArchTest.cpp

  Log Message:
  -----------
  clang: Replace Is*OffloadArch free functions with OffloadArch methods (#213363)


  Commit: a9a6edb5935c9f42c592836612356bea56e3c08b
      https://github.com/llvm/llvm-project/commit/a9a6edb5935c9f42c592836612356bea56e3c08b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
    M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reassoc-copyable-sched-deps.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/unsigned-after-sext-node.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/runtime-strided-stores.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/broadcast.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-operands-reordering.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_getpointersdiff-nullopt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/debug-info-salvage.ll
    M llvm/test/Transforms/SLPVectorizer/X86/deleted-inst-reduction-attempt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-fmul.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fmuladd-copyable-mul-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/intrinsic.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-vectorizable-inst-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-comparator-fix-vec-ops-compare.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr42022-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr42022.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr52275.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
    M llvm/test/Transforms/SLPVectorizer/minbitwidth-multiuse-with-insertelement.ll

  Log Message:
  -----------
  [SLP]Vectorize single-user instructions as the last-attempt seeds

Instructions with the single user cost one extract per lane, so they are
vectorized after all other roots in the function are exhausted, grouped by
the key/subkey pairs. Loads, addresses, compares and the operations, folded
away or contracted into the scalar FMA, are excluded. The rejected bundles
and the members of the priced minimal nodes are not retried, unless the
tree was dropped by the repacking overhead rather than by the members.

Reviewers: hiraditya, RKSimon, bababuck

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


  Commit: 402c9f9a776dc20d03e33c447d86634c486a5434
      https://github.com/llvm/llvm-project/commit/402c9f9a776dc20d03e33c447d86634c486a5434
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/test/Driver/cuda-omp-unsupported-debug-options.cu

  Log Message:
  -----------
  [NFC][Cuda][test] Fix CHECK-NOT patterns matching the build directory (#213799)

`cuda-omp-unsupported-debug-options.cu`'s COMMON-NOT: ...|lldb|... can
match against the build directory path that may contain `lldb` in the
pathname. Change the test to check the exact cc1 arguments.

rdar://183501558


  Commit: f59d6f5f866b97413510fa119144651fbbbc7123
      https://github.com/llvm/llvm-project/commit/f59d6f5f866b97413510fa119144651fbbbc7123
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    A clang/test/CodeGen/stack-protector-system-macro.c

  Log Message:
  -----------
  [clang][test] Add test for stack_protector_ignore in system macros (#213770)

d3184bc6c6a8 ("[clang] Don't warn on stack_protector_ignore in system
macros") added SuppressInSystemMacro to
warn_stack_protection_ignore_attribute but only added an LLVM CodeGen
test for the stack-protector metadata, so the diagnostic change itself
was untested.

Add a test using the self-include system_header idiom: the attribute
from a system header macro does not warn under -fstack-protector-all,
while one written in user code still does.

rdar://183962985


  Commit: 4376b8d66961db360945db44abe510d9f13abf61
      https://github.com/llvm/llvm-project/commit/4376b8d66961db360945db44abe510d9f13abf61
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
    M llvm/test/Transforms/SLPVectorizer/X86/reassociate-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll

  Log Message:
  -----------
  [SLP]Flatten add/sub and fadd/fsub chains into one reassociated node

A peeled subtract keeps the column sign for its first operand and flips
it for the second, so mixed add/sub (fadd/fsub with reassoc) chains
linearize into positive and negative operand columns combining as
sum(positive) - sum(negative), with subtrahend columns reordered by
value family. nuw is now also dropped on non-exact combines when a
negated leaf exists, since a regrouped subtrahend sum can exceed the
original running total.

Reviewers: RKSimon, bababuck, hiraditya

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


  Commit: b07fc8a44aa6ac03ec8e0c79b04134bda87b5279
      https://github.com/llvm/llvm-project/commit/b07fc8a44aa6ac03ec8e0c79b04134bda87b5279
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/test/CodeGen/SPARC/2011-01-22-SRet.ll

  Log Message:
  -----------
  [SPARC] Do not use the unimp struct-return convention for zero-sized types (#213733)

GCC has special handling for an `sret` of a zero-sized type, match that
handling.

https://godbolt.org/z/Tcraao7rT

It seems unlikely someone is actually relying on this, so I haven't
added the abi compatibility logic. Rust however uses zero-sized types
quite heavily, so having this work correctly is useful there.


  Commit: 8cf3268b3a65e186f104139a3f53d07de8d5032a
      https://github.com/llvm/llvm-project/commit/8cf3268b3a65e186f104139a3f53d07de8d5032a
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [CIR][AArch64] Use CIR's fma and sqrt for Neon builtins (#213800)

This change replaces some locations where the Neon builtin handling was
calling LLVM intrinsics directly for FMA and sqrt operations rather than
using the CIR operations. Using the CIR operations will be necessary to
get the best constrained FP handling.

This will still require setting the fenv attribute on these operations
when needed. This change is just the first of a few preliminary changes
needed to get us in a good state to add the constrained FP handling.

Assisted-by: Cursor / Grok 4.5


  Commit: d4628526bdd2c8bd03acdcbf0f9d8710ef243486
      https://github.com/llvm/llvm-project/commit/d4628526bdd2c8bd03acdcbf0f9d8710ef243486
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/CodeGen/global-init-fenv.cpp

  Log Message:
  -----------
  [CIR] Apply FP constraints to global initializers (#213776)

Because CIR handles global initializers using a region of the cir.global
operation during initial code generation, these initializers don't
automatically get the strictfp setup in CIRGenFunction::startFunction.

This change adds an attribute to the cir.global operation to track
floating-point constraints so that the `strictfp` attribute can be set
on the initialization function when it is created during EHABI lowering.

Assisted-by: Cursor / various models


  Commit: 32b645d9d69b8c2e62890fed19203337beddf797
      https://github.com/llvm/llvm-project/commit/32b645d9d69b8c2e62890fed19203337beddf797
  Author: Eric Christopher <echristo at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    A llvm/test/DebugInfo/X86/di-expression-tag-offset-register.ll
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [DebugInfo] Treat tag offsets as non-emitting (#211969)

DW_OP_LLVM_tag_offset doesn't emit anything into the DWARF expression,
so look past it when deciding whether a register expression is complex
or whether appendToStack needs to add a dereference.

Tested with make check.

Assisted with AI.


  Commit: 70253af8709617b860865ce8d74204718e8a1975
      https://github.com/llvm/llvm-project/commit/70253af8709617b860865ce8d74204718e8a1975
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerTracePC.cpp

  Log Message:
  -----------
  [NFC][libFuzzer] Remove unused GetModuleName helper in TracePC (#214032)

Fixing build bots after
https://github.com/llvm/llvm-project/pull/203084.


  Commit: 7f498d9d36d102a653089e86cc07d0a7f90bfaec
      https://github.com/llvm/llvm-project/commit/7f498d9d36d102a653089e86cc07d0a7f90bfaec
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/test/ClangScanDeps/logging-simple.c
    M clang/unittests/Tooling/DependencyScannerTest.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Use CompilerInstanceWithContext for TU Scanning (#211408)

After `CompilerInstanceWithContext`'s relocation to
`DependencyScanningWorker.cpp`, we can use it freely as an
implementation engine for TU scanning. This PR does that, and unifies
the by-name scanning and TU scanning so they all go through
`CompilerInstanceWithContext`.

rdar://167034309



---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: 04722a4a32e6fec1897cc3cb5a54809fcd8c9cae
      https://github.com/llvm/llvm-project/commit/04722a4a32e6fec1897cc3cb5a54809fcd8c9cae
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang-tools-extra/clangd/ProjectModules.cpp
    R clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/DependencyScanning/CMakeLists.txt
    R clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Dissolve DependencyScannerImpl.h/cpp (#211409)

`DependencyScannerImpl.h/cpp` were created to share code between TU
scanning and by-name scanning when they were on different code paths.
After unifying the implementation through `CompilerInstanceWithContext`,
we no longer need a separate header/cpp pair and all the code are moved
into `DependencyScanningWorker.cpp`. This PR is mechnical and does not
intend to introduce behavivor changes.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: b3ce07b9999000e6fad1c3aa8f429e2ff26b598f
      https://github.com/llvm/llvm-project/commit/b3ce07b9999000e6fad1c3aa8f429e2ff26b598f
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/Support/PerThreadBumpPtrAllocator.h

  Log Message:
  -----------
  [SystemZ][z/OS] use LLVM_THREAD_LOCAL instead of thread_local (#214039)

This patch is to fix the following error on z/OS

```
llvm/include/llvm/Support/PerThreadBumpPtrAllocator.h:75:12: error: thread-local storage is not supported for the current target
   75 |     static thread_local std::vector<AllocatorTy *> Cache;
      |            ^
```


  Commit: cddc107899bdf09ee3ffd60b00b32455e699b130
      https://github.com/llvm/llvm-project/commit/cddc107899bdf09ee3ffd60b00b32455e699b130
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-late-codegenprepare.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Do not widen constant loads that may not be dereferenceable (#184790)


  Commit: dee70a0fc948ce9060f4225ee5b707af4287e5dc
      https://github.com/llvm/llvm-project/commit/dee70a0fc948ce9060f4225ee5b707af4287e5dc
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    A llvm/test/TableGen/getRegClassFromMatchKind.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Generate `getRegClassFromMatchKind()` for AsmMatchers

This helper can be useful in validateTargetOperandClass to get the
MCRegisterClass for the MCK_* enum.
Migrate the RVY logic to use this new generated function. Checking all
register classes instead of just the RVY ones will marginally slow down
validateTargetOperandClass, but since this is already a slow path it
should not matter.

If multiple RegisterOperands share a ParserMatchClass but map to different
RegisterClasses, omit them from the generated getRegClassFromMatchKind
mapping function. I originally tried to emit an error here, but it turns
out there are many targets that rely on sharing the ParserMatchClass with
different (but similar) RegisterClasses so ignoring them is safer.

Reviewed By: lenary

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


  Commit: 0d1b54604dac73adc16af15f433ae0c92069fcc2
      https://github.com/llvm/llvm-project/commit/0d1b54604dac73adc16af15f433ae0c92069fcc2
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/TableGen/RegClassByHwMode.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen][AsmMatcher] Resolve RegClassByHwMode kinds for all operands

validateOperandClass() only remapped a RegClassByHwMode operand kind
when the actual parsed operand was a register. When the operand was
something else entirely (e.g. a bare immediate where a register was
expected), this fell through to the generic "Kind <= MCK_LAST_REGISTER"
diagnostic check, so we end up with a generic Match_InvalidOperand.

No test changes here, but this is needed to avoid diagnostic regressions
with the RVY load/store support (PR #177073).

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


  Commit: c740c54517fafdfb6a3dd3522700076d5184c842
      https://github.com/llvm/llvm-project/commit/c740c54517fafdfb6a3dd3522700076d5184c842
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Support/Unix/Signals.inc

  Log Message:
  -----------
  [SystemZ][z/OS] Add guard for SI_USER  (#213101)

SI_USER is not defined on z/OS and is causing the following build
failure. `error: use of undeclared identifier 'SI_USER'` 
This patch adds a guard to check whether SI_USER is defined
before using it.


  Commit: 8343c538f0e7edee8bfc2c800f6d1bfaef664c12
      https://github.com/llvm/llvm-project/commit/8343c538f0e7edee8bfc2c800f6d1bfaef664c12
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 04722a4 (#214049)

This fixes 04722a4a32e6fec1897cc3cb5a54809fcd8c9cae (#211409).

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

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


  Commit: 44c6aed9bd9b9cda993f4e93f2cbdb4fbba890d0
      https://github.com/llvm/llvm-project/commit/44c6aed9bd9b9cda993f4e93f2cbdb4fbba890d0
  Author: Spencer Bryngelson <sbryngelson at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/Decomposer.cpp

  Log Message:
  -----------
  [flang][OpenMP] Diagnose failed construct decomposition instead of falling through (#214012)

`buildConstructQueue` asserts that decomposition produced output:

```cpp
ConstructDecomposition decompose(modOp, semaCtx, eval, compound, clauses);
assert(!decompose.output.empty() && "Construct decomposition failed");
```

Release builds have no check, so the empty queue falls through to the
loop below and out to the
caller. That is undefined behaviour, and it is reachable — semantics
does not catch every
directive/clause combination that cannot be decomposed. The result is an
intermittent segfault
rather than a diagnostic.

#211430 is one way in: `allocate` is an OpenMP 5.0 clause, but most
directives declare it in
`OMP.td` without a minimum version, so semantics accepts it below 5.0
and decomposition then
correctly refuses it. flang defaults to OpenMP 3.1, so no unusual flags
are needed. The
intermittency is what made that report hard to pin down — 40 trials at
`-fopenmp-version=31`:

| | segfaults |
|---|---|
| ASLR on | 25/40 |
| ASLR off (`setarch -R`) | 0/40 |

which is an uninitialized read.

After this patch the same input fails deterministically with a located
diagnostic, 40/40:

```
error: loc("repro.f90":6:11): OpenMP construct decomposition failed: a clause on
       'target teams distribute parallel do' cannot be applied to any of its leaf constructs
```

`genCrashDiag=false` so it exits non-zero without a backtrace, rather
than presenting as a compiler
crash.

This is a hardening fix for the lowering path and is independent of any
particular clause: it covers
every combination that decomposes empty. It does not make the `allocate`
case a *good* diagnostic —
that belongs in semantics, and #213980 is the separate change for it.

`check-flang` is clean (4808 tests). No test is added: the only in-tree
way to reach this path is
through the `OMP.td` gap that #213980 fixes, so a test here would encode
that gap as expected
behaviour and have to be removed when it lands. Happy to add one if
you'd prefer.


---

Parts of this change were written or audited with Claude Code. I have
reviewed all of it and take
full responsibility for the contribution. See
`llvm/docs/AIToolPolicy.md`.


  Commit: 83fb72a904e8231bf6879076b9c10bdbf25e4744
      https://github.com/llvm/llvm-project/commit/83fb72a904e8231bf6879076b9c10bdbf25e4744
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/include/llvm/DWP/DWP.h
    M llvm/lib/DWP/DWP.cpp

  Log Message:
  -----------
  [DWP] Eagerly clear buffers after writing (#213345)

Lowers peak memory usage on a llvm-dwp invocation from 12.37GB ->
11.19GB.

This actually now beats out GNU dwp (11.35GB) at least when the output
file is in tmpfs.


  Commit: d52e98814c41487e5635a186d97bf5803e202457
      https://github.com/llvm/llvm-project/commit/d52e98814c41487e5635a186d97bf5803e202457
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Fix exit code mismatch with EXPENSIVE_CHECK in schedule… (#214027)

…-amdgpu-tracker-physreg-crash.ll

Observed in
https://ci.swift.org/job/llvm.org/job/clang-stage1-RA-expensive/job/main/1155
with LLVM_ENABLE_EXPENSIVE_CHECKS enabled,
`CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll` fails due to
MachineVerifier running, causing an exit 1.

Modified to always run the `-verify-machineinstrs`.

rdar://184010766


  Commit: f20b64ffe5c81e0ef35bcf9990f60a1ff9157f7b
      https://github.com/llvm/llvm-project/commit/f20b64ffe5c81e0ef35bcf9990f60a1ff9157f7b
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py

  Log Message:
  -----------
  [lldb] Disable TestProcessSaveCoreMinidumpSizeMismatch on Windows hosts (#214044)

The buildbot
[lldb-remote-linux-win](https://lab.llvm.org/buildbot/#/builders/197) is
red after #212861. #212861 cannot be reverted automatically now because of
#212641. So disable TestProcessSaveCoreMinidumpSizeMismatch on Windows
hosts to make the buildbot green again.


  Commit: 03f86c6d4d55809f9531b5e37eb8249e569746aa
      https://github.com/llvm/llvm-project/commit/03f86c6d4d55809f9531b5e37eb8249e569746aa
  Author: David Young <davidayoung at meta.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M lldb/include/lldb/Host/windows/windows.h
    M llvm/include/llvm/Support/Windows/WindowsSupport.h
    M llvm/lib/WindowsDriver/MSVCPaths.cpp

  Log Message:
  -----------
  [Support][Driver][LLDB] Guard WIN32_LEAN_AND_MEAN definitions with #ifndef (#213045)

Several Windows headers/TUs unconditionally `#define
WIN32_LEAN_AND_MEAN`. When a build predefines the macro on the compiler
command line (e.g. a toolchain that passes -DWIN32_LEAN_AND_MEAN, which
clang treats as `#define WIN32_LEAN_AND_MEAN 1`), the differing token
lists trigger -Wmacro-redefined, which becomes a hard error under
-Werror.

Guard the definitions with #ifndef, matching the adjacent NOMINMAX
handling and the existing pattern in
llvm/lib/Support/rpmalloc/rpmalloc.c. The macro is only a presence flag,
so keeping an externally-provided definition is correct.

Sites guarded:
  llvm/include/llvm/Support/Windows/WindowsSupport.h
  llvm/lib/WindowsDriver/MSVCPaths.cpp
  clang/lib/Driver/ToolChains/MSVC.cpp
  lldb/include/lldb/Host/windows/windows.h

Meta ran into this internally building lldb on window after a sync with
upstream from July commit, so adding guards would allow us to drop a
workaround of ignoring the duplicate defines.

Error:
llvm\include\llvm/Support/Windows/WindowsSupport.h(29,9): error:
'WIN32_LEAN_AND_MEAN' macro redefined [-Werror,-Wmacro-redefined]
   29 | #define WIN32_LEAN_AND_MEAN
      |         ^
<command line>(10,9): note: previous definition is here
   10 | #define WIN32_LEAN_AND_MEAN 1
      |         ^
1 error generated.


  Commit: 46b8eb861352d0d34623a3139ed11de763317323
      https://github.com/llvm/llvm-project/commit/46b8eb861352d0d34623a3139ed11de763317323
  Author: Nikita Terentev <svet58585 at mail.ru>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/docs/ConstantInterpreter.rst

  Log Message:
  -----------
  [NFC][Clang][Docs] Fix minor typos in Constant Interpreter doc. (#211608)

First: Typo is obvious. 
Second: In the example, the a.y field is missing and field a.b.y is
required.


  Commit: 2178db6d3de4ad9fb9794f55e6d6d38cdf2b0347
      https://github.com/llvm/llvm-project/commit/2178db6d3de4ad9fb9794f55e6d6d38cdf2b0347
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-masked-op-fusion.ll

  Log Message:
  -----------
  [X86] Handle multi-use setcc in commuteSelect (#213645)

When a setcc condition is shared between multiple vselects,
commuteSelect previously bailed out due to the m_OneUse constraint.
Extend it to check all users of the setcc and, if they all benefit from
commuting, invert the condition once with ReplaceAllUsesOfValueWith and
swap all vselect operands.

This fixes a write-mask fusion regression where masked min/max
reductions produced unfused vminps + vmovaps {%k} instead of a single
write-masked vminps {%k}.


  Commit: aa76963ec039f485d05c1235bac5a5edf3605378
      https://github.com/llvm/llvm-project/commit/aa76963ec039f485d05c1235bac5a5edf3605378
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerPARITY - use countMaxActiveBits to determine if representable as uint8_t. NFC. (#214056)

Much cleaner than using the MaskedValueIsZero check.

Fix i64 -> xor(i32,i32) parity stage comment as well.


  Commit: cd459f2466e408ebf9dcd455c58a43952d6a5903
      https://github.com/llvm/llvm-project/commit/cd459f2466e408ebf9dcd455c58a43952d6a5903
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/test/CodeGen/SPIRV/instructions/phi-large-vector-shader.ll

  Log Message:
  -----------
  [SPIRV] Split wide shader PHIs before applying explicit supported types (#213806)

fixes #213802

Apply the maximum-vector-size rule before the explicit PHI legality
rules for type. This way if we see a size 16 vector we split it
beforehand.

In more precise words this preserves existing legality rules while
ensuring shader PHIs wider than four lanes are split first.

Assisted by Copilot (GPT 5.6 Sol)


  Commit: 4ef2e75785d71a9ab8682bf2f6b4ccc223ba568c
      https://github.com/llvm/llvm-project/commit/4ef2e75785d71a9ab8682bf2f6b4ccc223ba568c
  Author: Eric Christopher <echristo at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/test/CodeGen/openacc-noop-decl.c
    M clang/test/Modules/codegen-opt.test
    M llvm/test/tools/llvm-reduce/remove-dso-local.ll
    M llvm/test/tools/llvm-reduce/remove-function-attributes.ll
    M llvm/test/tools/llvm-reduce/remove-module-data.ll

  Log Message:
  -----------
  [FileCheck] Avoid matching IR keywords in source filenames (#213809)

Anchor checks for declare, define, and comdat to the start of lines or another fixture so
paths in module headers cannot satisfy or invalidate them.

Tested with make check.

Assisted by AI.


  Commit: 9524ff82697b539df6fb710d754a703d788bb137
      https://github.com/llvm/llvm-project/commit/9524ff82697b539df6fb710d754a703d788bb137
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/test/Index/reparse-predef-objc-protocol.m

  Log Message:
  -----------
  [clang][test] Use `FileCheck` in `Index/reparse-predef-objc-protocol.m` (#213566)

The test had `CHECK` directives that were never executed because the
`RUN` line did not pipe output to `FileCheck`. This also drops the first
`CHECK` directive in favor of the one below it due to `libclang` now
reporting top-level forward class declarations as `ObjCClassRef` cursors
which is the modern representation of that same declaration.


  Commit: d5b9e612d78116ffc52410588fe2f56fce4c9410
      https://github.com/llvm/llvm-project/commit/d5b9e612d78116ffc52410588fe2f56fce4c9410
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll

  Log Message:
  -----------
  [X86] vector-reduce-or-cmp.ll - add nounwind to silence cfi noise. NFC. (#214064)


  Commit: 1e2435e32312b149700c50ab2e8cd438facf9f2f
      https://github.com/llvm/llvm-project/commit/1e2435e32312b149700c50ab2e8cd438facf9f2f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 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/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Parser/OpenMP/linear-clause-v45.f90
    A flang/test/Parser/OpenMP/linear-clause-v52.f90
    R flang/test/Parser/OpenMP/linear-clause.f90
    M flang/test/Semantics/OpenMP/linear-clause02.f90
    M flang/test/Semantics/OpenMP/linear-clause03.f90

  Log Message:
  -----------
  [flang][OpenMP] Use 'linear-step' instead of 'step-simple-modifier' i… (#214041)

…n 5.1-

These two modifiers are structurally identical, but the latter has an
exclusive property whereas the former does not.
Also, this allows diagnostics to use the modifier name that appears in
the spec that corresponds to the version in -fopenmp-version.


  Commit: 745271fc23fd23f83eace959285abfd580a267a5
      https://github.com/llvm/llvm-project/commit/745271fc23fd23f83eace959285abfd580a267a5
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/docs/BoundsSafetyImplPlans.md
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [NFC][BoundsSafety] Give `counted_by_or_null`, `sized_by`, and `sized_by_or_null` their own documentation (#212877)

Previously the `counted_by`, `counted_by_or_null`, `sized_by`, and
`sized_by_or_null` attributes all pointed at a single `Documentation`
object (`CountedByDocs`). The generated `AttributeReference.rst`
therefore folded all four into one entry whose text described only
`counted_by` used on a C99 flexible array member.

This was misleading because the attributes differ in important ways that
went undocumented:

* `counted_by` counts *elements* whereas `sized_by` counts *bytes*.
* `counted_by` and `sized_by` require a null pointer to have a zero
count/size, while the `_or_null` variants allow a null pointer
regardless of the count or size.
* `counted_by` may be applied to a flexible array member, but
`sized_by`, `counted_by_or_null`, and `sized_by_or_null` apply to
pointers only.

As a result a reader looking up any of the three non-`counted_by`
attributes was shown documentation for a different attribute with
different behavior.

This change gives `sized_by`, `counted_by_or_null`, and
`sized_by_or_null` their own documentation so that each renders as its
own entry describing its actual behavior. The substantive text lives in
`counted_by` and `sized_by`; the `_or_null` variants are described in
terms of their base attribute.

While we're here, this patch also:

* Restructures `counted_by`'s documentation to explain the attribute's
meaning first, with the flexible-array-member material moved into its
own sub-section rather than leading the entry. It made sense that FAMs
were the leading entry when that was the only context the attribute was
supported in, but it's also now supported on pointer fields in a struct.
* Discusses how `counted_by` on `void *` is supported as a GNU
extension.
* Adds two sections on keeping the pointer and count/size value in sync.
The two sections are practically identical other than the attribute they
discuss and the associated count/size.
* For `counted_by`, explains how a pointer to a forward-declared type is
allowed as long as the type is complete at the use sites.
* For `sized_by`, explains the motivation for using it on types that
aren't byte-sized.

Assisted-by: Claude Code

rdar://136979310


  Commit: aeaa2aacad5fef1b700a80c4e555e6effa55935e
      https://github.com/llvm/llvm-project/commit/aeaa2aacad5fef1b700a80c4e555e6effa55935e
  Author: Abhinav Gaba <abhinav.gaba at intel.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
    M offload/test/mapping/mapper_target_update_present_ptee.c

  Log Message:
  -----------
  [OpenMP] Propagate PRESENT to pointee entries in mapper codegen (#210214)

For cases like:

```c
#pragma omp declare_mapper (default: S s) map(s.x, s.p[0:10])

S s1;
...
#pragma omp target_enter_data map(present, alloc: s1)
```
After "mapper-expansion", the behavior of the above should be equivalent
to:

```
#pragma omp target_enter_data map(present, alloc: s1.x) map(present, alloc: s.p[0:10])
```

i.e. The `present` map-type needs to be propagated to the map for the
pointee of `s.p`. That was not happening prior to this change.

We try to limit this to entries that have their own "attach-ptr" (like
`s.p[0:10]`) and thus occupy a separate storage block than the base
variable for which the mapper is declared (like `s`).

Note that we do this only with OpenMP 6.0+, since the wording in 5.2
implies that PRESENT applies only to `s.x` after mapper-expansion.


TODO: `PRESENT` bit should also be propagated to non-pointee entries
resulting from mapper-expansion, e.g.

```c
struct S {
int x; int y; int *p;
};
S s1;
#pragma omp declare_mapper map(s.x, s.y)
...
#pragma omp target_enter_data map(present: s1)
// present has to be propagated inwards to `s.x, s.y` so that it doesn't
// assert that the full `s1` is "present".
```

However we cannot do that until we have removed the remaining uses of
PTR_AND_OBJ maps map-type (which is used for byrefs in clang at the
moment).

---------

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


  Commit: 95572b479a69aaaca824063dd14c71d6186efeb4
      https://github.com/llvm/llvm-project/commit/95572b479a69aaaca824063dd14c71d6186efeb4
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/test/MC/RISCV/rv32i-invalid.s

  Log Message:
  -----------
  [RISC-V][MC] Add a few more tests for invalid lw operands

To show the difference in diagnostic output as suggested in
https://github.com/llvm/llvm-project/pull/210901.

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


  Commit: 452467cbf82f13f57eda4c7fd66225b1225c7e58
      https://github.com/llvm/llvm-project/commit/452467cbf82f13f57eda4c7fd66225b1225c7e58
  Author: jeffniu-openai <jeffniu at openai.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/NVPTX/masked-divrem.ll

  Log Message:
  -----------
  [SelectionDAG] Split masked div/rem operands with illegal masks (#214058)

PR description written by Codex

Split masked signed and unsigned division/remainder alongside illegal
vector masks to fix NVPTX SelectionDAG crashes. Covers all four
intrinsics and the original eight-lane reproducer; five focused LLVM
tests pass.


  Commit: bc6f2a9263bfc5966ea596d22269abfbfd0003e2
      https://github.com/llvm/llvm-project/commit/bc6f2a9263bfc5966ea596d22269abfbfd0003e2
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/IR/invalid-global.cir

  Log Message:
  -----------
  [CIR] Reject a global carrying a function type (#214065)

The verifier was accepting a `cir.global` whose `sym_type` is a
function. The LLVM dialect global takes one too, so it survives to LLVM
IR translation and crashes instead of reporting an error.
`GlobalOp::verify()` now rejects it.


  Commit: 437ff360f7adca4c6cfceca732b568edd2693bd0
      https://github.com/llvm/llvm-project/commit/437ff360f7adca4c6cfceca732b568edd2693bd0
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp

  Log Message:
  -----------
  [CIR] Move array-ctor cleanup to properly cleanup temporaries (#213993)

This patch came out of self-build, any constructor temporary called
during the construction of an array element was being improperly cleaned
up (actually, no terminator?). This patch moves the RunCleanups RAII to
do so immediately in the body.

The OGCG/LLVM check lines are effectively equal, except OGCG uses a PHI
and we are doing so with an iterator loop, but the 'dtor called
immediately' is still correct.


  Commit: bd4117353574e1c1827e696821d3f4f180b24ed6
      https://github.com/llvm/llvm-project/commit/bd4117353574e1c1827e696821d3f4f180b24ed6
  Author: David Green <david.green at arm.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging-debug.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Use a concrete type for store merging. (#213740)

This is just to reduce the number of scalar types in the MIR, as the
value is between a constant and a store it should have little effect.


  Commit: 20339da753dba389babdb937f2c2be624eac4517
      https://github.com/llvm/llvm-project/commit/20339da753dba389babdb937f2c2be624eac4517
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M lldb/source/Target/ThreadPlanStepInRange.cpp

  Log Message:
  -----------
  [lldb] Step past a prologue the pc is inside (#213555)

A step into a function ran past its prologue only when the pc was
exactly the function's first address. A target whose entry point is not
a function's first address (such as WebAssembly) is entered past it.
This means that the check took every such call for one whose prologue
had already run, and the step stopped on the opening brace instead of
the first statement.

What says the prologue has yet to run is the pc being inside it, which
for a target that does enter at the first address is the condition that
was there before.


  Commit: 02b5beb57bb4bbc4139853f6db5ec4b90a70f656
      https://github.com/llvm/llvm-project/commit/02b5beb57bb4bbc4139853f6db5ec4b90a70f656
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    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.pk.bf16.ll

  Log Message:
  -----------
  [AMDGPU][GISel] RegBankLegalize rules for CVT Scale and SR BF16-specific intrinsics (#214018)


  Commit: 1fc2b37c6892b68962b7a916f9648d5204549085
      https://github.com/llvm/llvm-project/commit/1fc2b37c6892b68962b7a916f9648d5204549085
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll

  Log Message:
  -----------
  [AMDGPU][GISel] RegBankLegalize rules for BF16 variants of gfx950 MFMA intrinsics (#214042)


  Commit: d7575bc5e72bf15dabb9f5782a629e211bf4914a
      https://github.com/llvm/llvm-project/commit/d7575bc5e72bf15dabb9f5782a629e211bf4914a
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    A llvm/test/CodeGen/RISCV/rvv/xsfmm-vsetvl-removal.ll

  Log Message:
  -----------
  [RISCV] coalesce between VSETVLI and SF_VSETTNT (#203438)

When twiden != 0, LMUL, tail policy, and mask policy from the user are
ignored. The tail policy and mask policy are always treated as agnostic.
The normal RVV instruction will ignore the twiden parameter. This
observation could allow the RVV instruction and xsfmm instruction to
share the same configuration instruction.

We need to make sure the AVL, SEW, and AltFmt is same between VSETVL and
VSETVLTN.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 66032aa8886cfffe19ecf4f3953eb9ced1455724
      https://github.com/llvm/llvm-project/commit/66032aa8886cfffe19ecf4f3953eb9ced1455724
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-builtins-err.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
    M clang/test/CIR/CodeGenCoroutines/coro-task.cpp

  Log Message:
  -----------
  [CIR] Change previous coroutine builtins to have their own coro intrinsic ops (#211699)

This PR introduces dedicated CIR operations for the coroutine intrinsics
(`coro.intrinsic.id`, `coro.intrinsic.alloc`, `coro.intrinsic.begin`,
`coro.intrinsic.free`, `coro.intrinsic.end`, `coro.intrinsic.size`)
instead of emitting them as calls to hand-created builtin functions.
LLVM IR already has its own dedicated ops for these cases, so this
follows the same pattern at CIR.

Along the way this also changes how coroutine builtins are handled in
`CIRGenBuiltin`: previously the intrinsics emitted automatically as part
of lowering `EmitCoroutineBody` and the ones triggered by an explicit
`__builtin_coro_*` call written in user source code were going through
the same path. This PR separates the two, since they're conceptually
different emission points.

New tests covering these builtins are included as well.

Also added explicit `errorNYI` messages for the remaining
`__builtin_coro_*` cases that aren't implemented yet (`coro_promise`,
`coro_resume`, `coro_noop`, `coro_destroy`, `coro_done`, `coro_end`,
`coro_suspend`, `coro_align`). @bcardosolopes The ClangIR Progress
Report (July 2026) showed 33 hits on the generic coroutine NYI error,
with no way to tell which specific builtin was missing these per case
messages fix that going forward.

A few things intentionally left out of scope for this PR, to keep it
reviewable:
- LLVM lowering for these new intrinsics  follow-up PR.
- The different `coro.size` variants for 32/64-bit  follow-up PR.
- `coro.end`'s current signature is wrong and needs fixing follow-up PR.


  Commit: af2a0e9c8897060b4442e7d096459aad922f37d6
      https://github.com/llvm/llvm-project/commit/af2a0e9c8897060b4442e7d096459aad922f37d6
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake

  Log Message:
  -----------
  [compiler-rt][cmake] filter libc-backed builtins superseded by assembly (#213481)

apply
https://github.com/llvm/llvm-project/pull/209900#discussion_r3615454574

fix the duplication that causes issues like this:
```
 lit-23: /__w/llvm-project/llvm-project/compiler-rt/test/builtins/Unit/lit.cfg.py:186: fatal: builtins_source_features contains duplicates: ['librt_has_floatdidf', 'librt_has_floatdisf', 'librt_has_floatundidf', 'librt_has_floatundisf']
FAILED: compiler-rt/test/builtins/CMakeFiles/check-builtins /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/CMakeFiles/check-builtins 
cd /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins && /usr/bin/python3 /usr/bin/lit-23 -sv --show-xfail --show-unsupported /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/TestCases /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/X86_64LinuxConfig
ninja: build stopped: subcommand failed.
```

Part of #197824


  Commit: 723eaa4f83396c81212784fb0006e3ca4be19441
      https://github.com/llvm/llvm-project/commit/723eaa4f83396c81212784fb0006e3ca4be19441
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libc/cmake/caches/baremetal_common.cmake

  Log Message:
  -----------
  [libc][cmake] Enable assertions and Werror for baremetal builds (#214093)

Enable LLVM_ENABLE_ASSERTIONS and LLVM_ENABLE_WERROR in
baremetal_common.cmake
to ensure pre-merge checks catch assertion failures and compiler
warnings for
baremetal targets.

Assisted-by: Gemini


  Commit: 3d6ac5a9ba252cbaf8d12cecef89d015f1ffe0f7
      https://github.com/llvm/llvm-project/commit/3d6ac5a9ba252cbaf8d12cecef89d015f1ffe0f7
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
    M mlir/test/Dialect/Func/duplicate-function-elimination.mlir

  Log Message:
  -----------
  [mlir][func] Fix a crash in DuplicateFunctionEliminationPass (#209667)

Previously, we used `SymbolUserMap::replaceAllUsesWith` to replace
symbols, but this could not update the symbol table cached by
`SymbolUserMap` during traversal, leading to a crash. This PR switches
to `SymbolTable::replaceAllSymbolUses`, which always operates on the
latest symbol table and avoids the crash. Fixes #209648.


  Commit: dbacea2912ae76f162ed622212a2804f2b32bd00
      https://github.com/llvm/llvm-project/commit/dbacea2912ae76f162ed622212a2804f2b32bd00
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

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

  Log Message:
  -----------
  [AMDGPU] Reject non-fp16 image sample data in D16 detection while lowering image (#213272)


  Commit: c15a90d299f4cab284f9d5e78922a86395de40a1
      https://github.com/llvm/llvm-project/commit/c15a90d299f4cab284f9d5e78922a86395de40a1
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/test/MC/RISCV/supervisor-csr-names.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][MC] Add experimental Smijt, Ssijt, Smehv, and Ssehv support (#213431)

Add support for version 0.19 of the Smijt, Ssijt, Smehv, and Ssehv
extensions from the RISC-V fast interrupt specification.


  Commit: 1a176af243e78fad48ce0d6ecd1311c1e9f943d8
      https://github.com/llvm/llvm-project/commit/1a176af243e78fad48ce0d6ecd1311c1e9f943d8
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon/store.c
    M clang/test/CodeGen/AArch64/poly64.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream store (vst[234]_*/vst[234]q_*) NEON builtins (#212040)

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

CIR lowering for store intrinsics (`vst[234]_*`/`vst[234]q_*`)
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#store)

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

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


  Commit: d87c685d5d88fe00b0594fc238b9afb16ba6eb64
      https://github.com/llvm/llvm-project/commit/d87c685d5d88fe00b0594fc238b9afb16ba6eb64
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M libclc/test/CMakeLists.txt
    A libclc/test/conformance/lit.local.cfg
    A libclc/test/conformance/work_group_reduce.cl
    M libclc/test/lit.cfg.py
    M libclc/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [libclc] Add initial support for libclc execution conformance tests (#214072)

Summary:
This uses the `llvm-gpu-loader` tool to invoke OpenCL test kernels. This
routes OpenCL through the standard compute runtimes, which aren't
exactly 1-to-1 with OpenCL, but it's close enough. Obviously, the best
solution would be to have a real OpenCL host library that can launch
these, but this is the best we can get in-tree and is very sipmle, write
kernel, test kernel.

The goal is to have a lot more tests run here, but this just gets the
basic infrastructure in place. We won't be able to do full conformance
like external suites, like exhaustive math, but I think its' a step in
the right direction. It looks like this on my side:

```console
$ ninja check-libclc-amdgpu-amd-amdhsa-llvm
```

This requires building with the LLVM `offload/` runtime enabled for the
source compiler.


  Commit: da9ca9c5aeb29e5c1f1bfc27c746d03da1e1974d
      https://github.com/llvm/llvm-project/commit/da9ca9c5aeb29e5c1f1bfc27c746d03da1e1974d
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/MakeSupport.h
    M clang/include/clang/Frontend/DependencyOutputOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Basic/MakeSupport.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M flang/docs/FlangDriver.md
    M flang/include/flang/Frontend/FrontendAction.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/Parser/provenance.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Parser/provenance.cpp
    A flang/test/Driver/dependency-file-gen-mod.f90
    A flang/test/Driver/dependency-file-gen.f90
    A flang/test/Driver/dependency-file.f90

  Log Message:
  -----------
  [flang][driver] Support Makefile dependency generation (#209379)

Implement the GCC/Clang dependency-file flags for flang, which it
previously rejected as unknown arguments: -M, -MM, -MD, -MMD, -MF,
-MT and -MQ.

Feature:
 -  -MD/-MMD : write a .d file alongside a normal compile
 -  -M/-MM   : run through semantics; emit deps to stdout by default
 -  -MF      : dependency-file path
 -  -MT/-MQ  : target name (verbatim / Make-quoted)
  (-M==-MM and -MD==-MMD; Fortran has no system/user header split.)

Design:
- `-M`/`-MM`: driver passes `-fsyntax-only -dependency-file - -MT
  <target>` to `-fc1`. Running through semantics resolves USE
  statements so module file dependencies are captured in the output.
  This deviates from clang's prescan-only behaviour for -M, but is
  intentional: unlike C/C++ #include, Fortran's USE statement is
  resolved at the semantic stage, not during preprocessing.

- `-MD`/`-MMD`: driver passes `-dependency-file foo.d -MT <target>`
  alongside the normal compile action. The object file is produced as
  usual, and the dependency file is written as a side effect.

- `-MF <path>` overrides where the dependency file is written.
  `-MT <target>` sets the target name (the part before the colon in
  the Make rule) verbatim. `-MQ` does the same but additionally
  quotes characters that are special to Make.

- In `-fc1`, `-dependency-file` and `-MT` are stored in the frontend
  options. After the action, `writeDependencyFile()` is called
  unconditionally. It collects every file opened during the action —
  the source plus all INCLUDE/#include/USE module files — via
  `GetIncludedFilePaths()`, then writes the
  `target: source includes...` Make rule to the specified file, or
  stdout if the path is `-`.


  Commit: 442469093a0ea00244b39dfb8ab26545439fe363
      https://github.com/llvm/llvm-project/commit/442469093a0ea00244b39dfb8ab26545439fe363
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/test/CIR/CodeGen/complex-plus-minus.cpp

  Log Message:
  -----------
  [CIR] Fix imag value in Scalar and Complex substraction (#214019)

Fix imaginary value in Scalar and Complex subtraction

Issue #213998


  Commit: 2e53c04bb744d354cd880e63aea792c2c7efa5bd
      https://github.com/llvm/llvm-project/commit/2e53c04bb744d354cd880e63aea792c2c7efa5bd
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply readability-redundant-qualified-alias check (#214026)


  Commit: b6676fc0b946947fea23240dee2187ec619f7669
      https://github.com/llvm/llvm-project/commit/b6676fc0b946947fea23240dee2187ec619f7669
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Apply modernize-use-structured-binding check (#214022)


  Commit: 5e158f2fdb4ae1caf76278d991b2a83deb541506
      https://github.com/llvm/llvm-project/commit/5e158f2fdb4ae1caf76278d991b2a83deb541506
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
    A clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
    A clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr-c-atomic.c
    A clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp

  Log Message:
  -----------
  [Clang][AMDGPU] Add ``amdgpu_av("none")`` attribute for atomic expressions (#199622)

Add a statement attribute that suppresses MakeAvailable/MakeVisible
cache operations on AMDGPU atomic instructions while preserving memory
ordering (waits). The attribute takes a string argument specifying the
mode. Currently "none" is the only supported mode. The resulting atomic
or fence instruction carries !mmra !{!"amdgcn-av", !"none"} metadata.

This only works with builtins that get lowered to intrinsics or
instructions. The attribute does not survive inlining. For example, a
C++ std atomic is typically a wrapper around a Clang builtin, and
applying this attribute on the std atomic does not remove the
MakeAvailableMakeVisible semantics built into it.

Part of a stack:

- #199486
- #199621
- #199489 
- #208395 
- #199622

Fixes: LCOMPILER-2214

Assisted-By: Claude Opus 4.6


  Commit: 2edd9676cfe19fb1594bda71268492532d65dbdc
      https://github.com/llvm/llvm-project/commit/2edd9676cfe19fb1594bda71268492532d65dbdc
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    A lld/test/ELF/lto/riscv-target-abi.ll

  Log Message:
  -----------
  [ELF][RISC-V] Add baseline test for ignored ABI behaviour

No change intended here, just adding this test coverage to show that
https://github.com/llvm/llvm-project/pull/213410 does not change it.

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


  Commit: 172bf4615a006dd25233666ba6bfbfe753051755
      https://github.com/llvm/llvm-project/commit/172bf4615a006dd25233666ba6bfbfe753051755
  Author: Alexander Richardson <mail at alexrichardson.me>
  Date:   2026-08-04 (Tue, 04 Aug 2026)

  Changed paths:
    M .ci/metrics/metrics.py
    M .ci/metrics/metrics_test.py
    M .ci/monolithic-linux.sh
    A .ci/monolithic-macos.sh
    M .ci/monolithic-windows.sh
    M .github/CODEOWNERS
    A .github/workflows/compiler-rt-libc-builtins-tests.yml
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-benchmark-commit.yml
    R .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    R .github/workflows/libcxx-check-generated-files.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    A .github/workflows/libcxx-pr-check-generated-files.yml
    A .github/workflows/libcxx-pr-conformance-tests.yaml
    A .github/workflows/libcxx-pr-test-tools.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/require-team-membership/action.yml
    M .github/workflows/test-suite.yml
    M .github/workflows/test-suite/configure-and-build.sh
    M .github/workflows/test-suite/llvm.cmake
    M .github/workflows/upload-release-artifact/action.yml
    M README.md
    A bolt/docs/NewBackend.md
    M bolt/docs/index.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryLoop.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MachORewriteInstance.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/Utils.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/GDBIndex.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/Utils/Utils.cpp
    M bolt/test/AArch64/constant_island_pie_update.s
    A bolt/test/AArch64/entry-point-at-function-end.s
    M bolt/test/AArch64/long-jmp-one-stub.s
    A bolt/test/X86/dwarf4-dwarf64-ranges.test
    A bolt/test/X86/dwarf64-debug-info-aranges.test
    A bolt/test/X86/dwarf64-debug-names.test
    A bolt/test/X86/dwarf64-loclists.test
    A bolt/test/X86/dwarf64-lowpc-highpc-convert.test
    A bolt/test/X86/dwarf64-ref-addr.test
    A bolt/test/X86/dwarf64-split-dwarf.test
    A bolt/test/X86/dwarf64-str-offsets.test
    A bolt/test/X86/dwarf64-types.test
    A bolt/test/X86/dynsym-pwrite.test
    A bolt/test/X86/jump-table-empty-block-strict.s
    M bolt/test/X86/loop-nest.test
    A bolt/test/X86/mixed-dwarf32-dwarf64-debug-names.test
    A bolt/test/X86/mixed-dwarf32-dwarf64-rnglists.test
    A bolt/test/X86/mixed-dwarf32-dwarf64-str-offsets.test
    M bolt/unittests/Core/BinaryContext.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UncheckedStatusOrAccessCheck.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
    M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.cpp
    M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
    M clang-tools-extra/clang-tidy/boost/UseToStringCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseVectorUtilsCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.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/NonCopyableObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.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/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/objc/AssertEqualsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
    M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
    M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
    M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
    A clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
    A clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.h
    M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
    M clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
    M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    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/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.h
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/clang-tidy/rename_check.py
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    M clang-tools-extra/clang-tidy/tool/check_update_docs.py
    M clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UsingInserter.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/ProjectModules.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/cleanup-ctad.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/cleanup-ctad.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-addition.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-addition.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-comparison.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-conversion-cast.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-conversion-cast.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-division.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-division.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-factory-float.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-factory-float.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-factory-scale.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-factory-scale.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-subtraction.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-subtraction.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/duration-unnecessary-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/duration-unnecessary-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/faster-strsplit-delimiter.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/faster-strsplit-delimiter.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/no-internal-dependencies.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/no-internal-dependencies.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/no-namespace.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/no-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/redundant-strcat-calls.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/redundant-strcat-calls.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/str-cat-append.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/str-cat-append.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-startswith.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-str-contains.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/string-find-str-contains.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/time-comparison.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/time-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/time-subtraction.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/time-subtraction.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
    A clang-tools-extra/docs/clang-tidy/checks/abseil/upgrade-duration-conversions.md
    R clang-tools-extra/docs/clang-tidy/checks/abseil/upgrade-duration-conversions.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/id-dependent-backward-branch.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/id-dependent-backward-branch.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/kernel-name-restriction.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/kernel-name-restriction.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-accept.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-accept.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-accept4.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-accept4.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-creat.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-creat.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-dup.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-dup.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-epoll-create.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-epoll-create.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-epoll-create1.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-epoll-create1.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-fopen.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-fopen.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-inotify-init.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-inotify-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-inotify-init1.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-inotify-init1.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-memfd-create.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-memfd-create.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-open.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-open.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-pipe.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-pipe.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-pipe2.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-pipe2.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/cloexec-socket.md
    R clang-tools-extra/docs/clang-tidy/checks/android/cloexec-socket.rst
    A clang-tools-extra/docs/clang-tidy/checks/boost/use-to-string.md
    R clang-tools-extra/docs/clang-tidy/checks/boost/use-to-string.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-if-condition.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-if-condition.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/bool-pointer-implicit-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/bool-pointer-implicit-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/command-processor.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/command-processor.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/dynamic-static-initializers.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/dynamic-static-initializers.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/float-loop-counter.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/float-loop-counter.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/forward-declaration-namespace.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/forward-declaration-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/inaccurate-erase.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/inaccurate-erase.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-roundings.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-roundings.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-repeated-side-effects.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-repeated-side-effects.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/misplaced-pointer-arithmetic-in-alloc.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/misplaced-pointer-arithmetic-in-alloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-statement-macro.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-statement-macro.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/no-escape.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/no-escape.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/parent-virtual-call.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/parent-virtual-call.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/posix-return.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/posix-return.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-bitwise.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-bitwise.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-container.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-container.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-include.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-include.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/terminating-continue.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/terminating-continue.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/throw-keyword-missing.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/throw-keyword-missing.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/undelegated-constructor.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/undelegated-constructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/virtual-near-miss.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/virtual-near-miss.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/con36-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/con36-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/con54-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/con54-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl03-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl03-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl16-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl16-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl37-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl37-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl51-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl51-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl54-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl54-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err09-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err09-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err34-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err34-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err61-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err61-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/exp42-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/exp42-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/flp37-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/flp37-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc24-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc24-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc33-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc33-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/msc54-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/msc54-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/oop11-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/oop11-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/oop54-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/oop54-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/oop58-cpp.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/oop58-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/pos44-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/pos44-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/pos47-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/pos47-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/sig30-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/sig30-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/str34-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/str34-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullPointerArithm.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.FixedAddressDereference.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.UnconditionalVAArg.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.GenericTaint.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedDiv.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.ArrayBound.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.MmapWriteExec.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PointerSub.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.VAList.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Chroot.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NotNullTerminated.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.UninitializedRead.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.md
    R clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-c-arrays.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-c-arrays.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-magic-numbers.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-magic-numbers.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-reference-coroutine-parameters.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-reference-coroutine-parameters.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/c-copy-assignment-signature.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/c-copy-assignment-signature.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-constructor.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-constructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-virtual-functions.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-virtual-functions.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/interfaces-global-init.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/interfaces-global-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-to-enum.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-to-enum.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-destructor.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-destructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-move-operations.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-move-operations.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-swap.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-swap.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/non-private-member-variables-in-classes.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/non-private-member-variables-in-classes.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-array-to-pointer-decay.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-array-to-pointer-decay.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-pointer-arithmetic.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-pointer-arithmetic.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-cstyle-cast.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-cstyle-cast.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-reinterpret-cast.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-reinterpret-cast.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-static-cast-downcast.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-static-cast-downcast.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-union-access.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-union-access.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-vararg.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-vararg.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/slicing.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/slicing.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.md
    R clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/darwin/avoid-spinlock.md
    R clang-tools-extra/docs/clang-tidy/checks/darwin/avoid-spinlock.rst
    A clang-tools-extra/docs/clang-tidy/checks/darwin/dispatch-once-nonstatic.md
    R clang-tools-extra/docs/clang-tidy/checks/darwin/dispatch-once-nonstatic.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/default-arguments-calls.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/default-arguments-calls.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/default-arguments-declarations.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/default-arguments-declarations.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/overloaded-operator.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/overloaded-operator.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/virtual-inheritance.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/virtual-inheritance.rst
    M clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
    A clang-tools-extra/docs/clang-tidy/checks/google/build-explicit-make-pair.md
    R clang-tools-extra/docs/clang-tidy/checks/google/build-explicit-make-pair.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.md
    R clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/build-using-namespace.md
    R clang-tools-extra/docs/clang-tidy/checks/google/build-using-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/default-arguments.md
    R clang-tools-extra/docs/clang-tidy/checks/google/default-arguments.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/explicit-constructor.md
    R clang-tools-extra/docs/clang-tidy/checks/google/explicit-constructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/global-names-in-headers.md
    R clang-tools-extra/docs/clang-tidy/checks/google/global-names-in-headers.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/objc-avoid-nsobject-new.md
    R clang-tools-extra/docs/clang-tidy/checks/google/objc-avoid-nsobject-new.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/objc-function-naming.md
    R clang-tools-extra/docs/clang-tidy/checks/google/objc-function-naming.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/readability-braces-around-statements.md
    R clang-tools-extra/docs/clang-tidy/checks/google/readability-braces-around-statements.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.md
    R clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/readability-function-size.md
    R clang-tools-extra/docs/clang-tidy/checks/google/readability-function-size.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/readability-namespace-comments.md
    R clang-tools-extra/docs/clang-tidy/checks/google/readability-namespace-comments.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/readability-todo.md
    R clang-tools-extra/docs/clang-tidy/checks/google/readability-todo.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/runtime-float.md
    R clang-tools-extra/docs/clang-tidy/checks/google/runtime-float.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/runtime-int.md
    R clang-tools-extra/docs/clang-tidy/checks/google/runtime-int.rst
    A clang-tools-extra/docs/clang-tidy/checks/google/runtime-operator.md
    R clang-tools-extra/docs/clang-tidy/checks/google/runtime-operator.rst
    A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.md
    R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
    A clang-tools-extra/docs/clang-tidy/checks/list.md
    R clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/else-after-return.md
    R clang-tools-extra/docs/clang-tidy/checks/llvm/else-after-return.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/header-guard.md
    R clang-tools-extra/docs/clang-tidy/checks/llvm/header-guard.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/include-order.md
    R clang-tools-extra/docs/clang-tidy/checks/llvm/include-order.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/prefer-register-over-unsigned.md
    R clang-tools-extra/docs/clang-tidy/checks/llvm/prefer-register-over-unsigned.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/qualified-auto.md
    R clang-tools-extra/docs/clang-tidy/checks/llvm/qualified-auto.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/use-new-mlir-op-builder.md
    R clang-tools-extra/docs/clang-tidy/checks/llvm/use-new-mlir-op-builder.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvmlibc/callee-namespace.md
    R clang-tools-extra/docs/clang-tidy/checks/llvmlibc/callee-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvmlibc/inline-function-decl.md
    R clang-tools-extra/docs/clang-tidy/checks/llvmlibc/inline-function-decl.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/confusable-identifiers.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/confusable-identifiers.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/misleading-bidirectional.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/misleading-bidirectional.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/misleading-identifier.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/misleading-identifier.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/misplaced-const.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/misplaced-const.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/new-delete-overloads.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/new-delete-overloads.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/non-copyable-objects.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/non-copyable-objects.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/static-assert.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/static-assert.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/unconventional-assign-operator.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/uniqueptr-reset-release.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/uniqueptr-reset-release.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/unused-alias-decls.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/unused-alias-decls.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/unused-using-decls.md
    R clang-tools-extra/docs/clang-tidy/checks/misc/unused-using-decls.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-setjmp-longjmp.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-setjmp-longjmp.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-variadic-functions.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-variadic-functions.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-ios-base-aliases.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-ios-base-aliases.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/redundant-void-arg.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/redundant-void-arg.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/return-braced-init-list.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/return-braced-init-list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/shrink-to-fit.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/shrink-to-fit.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/unary-static-assert.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/unary-static-assert.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-bool-literals.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/use-bool-literals.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-default.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/use-default.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.md
    R clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    A clang-tools-extra/docs/clang-tidy/checks/mpi/buffer-deref.md
    R clang-tools-extra/docs/clang-tidy/checks/mpi/buffer-deref.rst
    A clang-tools-extra/docs/clang-tidy/checks/mpi/type-mismatch.md
    R clang-tools-extra/docs/clang-tidy/checks/mpi/type-mismatch.rst
    A clang-tools-extra/docs/clang-tidy/checks/objc/assert-equals.md
    R clang-tools-extra/docs/clang-tidy/checks/objc/assert-equals.rst
    A clang-tools-extra/docs/clang-tidy/checks/objc/avoid-nserror-init.md
    R clang-tools-extra/docs/clang-tidy/checks/objc/avoid-nserror-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/objc/dealloc-in-category.md
    R clang-tools-extra/docs/clang-tidy/checks/objc/dealloc-in-category.rst
    A clang-tools-extra/docs/clang-tidy/checks/objc/forbidden-subclassing.md
    R clang-tools-extra/docs/clang-tidy/checks/objc/forbidden-subclassing.rst
    A clang-tools-extra/docs/clang-tidy/checks/objc/missing-hash.md
    R clang-tools-extra/docs/clang-tidy/checks/objc/missing-hash.rst
    A clang-tools-extra/docs/clang-tidy/checks/objc/super-self.md
    R clang-tools-extra/docs/clang-tidy/checks/objc/super-self.rst
    A clang-tools-extra/docs/clang-tidy/checks/openmp/exception-escape.md
    R clang-tools-extra/docs/clang-tidy/checks/openmp/exception-escape.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/expensive-value-or.md
    A clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/implicit-cast-in-loop.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/implicit-cast-in-loop.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/implicit-conversion-in-loop.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/implicit-conversion-in-loop.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/inefficient-algorithm.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/inefficient-algorithm.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/move-constructor-init.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/move-constructor-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-destructor.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-destructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-move-constructor.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-move-constructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-swap.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-swap.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/trivially-destructible.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/trivially-destructible.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/type-promotion-in-math-fn.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/type-promotion-in-math-fn.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.md
    R clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.rst
    A clang-tools-extra/docs/clang-tidy/checks/portability/no-assembler.md
    R clang-tools-extra/docs/clang-tidy/checks/portability/no-assembler.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-const-params-in-decls.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-const-params-in-decls.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-nested-conditional-operator.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-nested-conditional-operator.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/convert-member-functions-to-static.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/convert-member-functions-to-static.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/delete-null-pointer.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/delete-null-pointer.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-cast.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-cast.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/misplaced-array-index.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/misplaced-array-index.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-function-ptr-dereference.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-function-ptr-dereference.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-string-cstr.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-string-cstr.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/simplify-subscript-expr.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/simplify-subscript-expr.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/static-definition-in-anonymous-namespace.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/static-definition-in-anonymous-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/use-std-min-max.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/use-std-min-max.rst
    A clang-tools-extra/docs/clang-tidy/checks/zircon/temporary-objects.md
    R clang-tools-extra/docs/clang-tidy/checks/zircon/temporary-objects.rst
    M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp
    M clang-tools-extra/include-cleaner/unittests/TypesTest.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    A clang-tools-extra/test/clang-doc/Inputs/invalid-utf8-comment.cpp
    A clang-tools-extra/test/clang-doc/json/invalid-utf8-comment.cpp
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/optional
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/string
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/type_traits
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/expensive-value-or-size-threshold.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/expensive-value-or.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter-ignored-types.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/clang-tidy/infrastructure/update-checks-list.test
    M clang-tools-extra/unittests/clang-change-namespace/ChangeNamespaceTests.cpp
    M clang/Maintainers.md
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_code_completion.py
    M clang/bindings/python/tests/cindex/test_enums.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/AMDGPUSupport.md
    M clang/docs/BoundsSafetyImplPlans.md
    M clang/docs/CIR/ABILowering.rst
    A clang/docs/ClangCheck.md
    R clang/docs/ClangCheck.rst
    M clang/docs/ClangFormatStyleOptions.rst
    A clang/docs/ClangLinkerWrapper.md
    R clang/docs/ClangLinkerWrapper.rst
    A clang/docs/ClangNVLinkWrapper.md
    R clang/docs/ClangNVLinkWrapper.rst
    A clang/docs/ClangOffloadBundler.md
    R clang/docs/ClangOffloadBundler.rst
    A clang/docs/ClangRepl.md
    R clang/docs/ClangRepl.rst
    A clang/docs/ClangSYCLLinker.md
    R clang/docs/ClangSYCLLinker.rst
    A clang/docs/ClangTools.md
    R clang/docs/ClangTools.rst
    A clang/docs/ClangTransformerTutorial.md
    R clang/docs/ClangTransformerTutorial.rst
    M clang/docs/ConstantInterpreter.rst
    A clang/docs/DriverInternals.md
    R clang/docs/DriverInternals.rst
    M clang/docs/HIPSupport.md
    A clang/docs/HowToSetupToolingForLLVM.md
    R clang/docs/HowToSetupToolingForLLVM.rst
    A clang/docs/InternalsManual.md
    R clang/docs/InternalsManual.rst
    A clang/docs/JSONCompilationDatabase.md
    R clang/docs/JSONCompilationDatabase.rst
    A clang/docs/LibASTImporter.md
    R clang/docs/LibASTImporter.rst
    A clang/docs/LibASTMatchers.md
    R clang/docs/LibASTMatchers.rst
    A clang/docs/LibASTMatchersTutorial.md
    R clang/docs/LibASTMatchersTutorial.rst
    A clang/docs/Multilib.md
    R clang/docs/Multilib.rst
    M clang/docs/OpenMPSupport.md
    A clang/docs/RAVFrontendAction.md
    R clang/docs/RAVFrontendAction.rst
    A clang/docs/RefactoringEngine.md
    R clang/docs/RefactoringEngine.rst
    M clang/docs/ReleaseNotes.md
    M clang/docs/ThreadSafetyAnalysis.md
    M clang/docs/UsersManual.md
    M clang/docs/analyzer/user-docs/CommandLineUsage.rst
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecordLayout.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Analysis/AnyCall.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/ABIVersions.def
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    A clang/include/clang/Basic/BuiltinTraits.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    R clang/include/clang/Basic/ExpressionTraits.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/MakeSupport.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Basic/TypeNodes.td
    R clang/include/clang/Basic/TypeTraits.h
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/include/clang/Basic/arm_neon.td
    A clang/include/clang/CIR/CIRDataLayoutSpec.h
    M clang/include/clang/CIR/CIRToCIRPasses.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRStdOps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/DependencyScanning/DependencyConsumer.h
    R clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/CudaInstallationDetector.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/DependencyOutputOptions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.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/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    A clang/lib/AST/ByteCode/DeclOrExpr.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/InferAlloc.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/RecordLayout.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Analysis/LifetimeSafety/MovedLoans.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    A clang/lib/Basic/BuiltinTraits.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Cuda.cpp
    R clang/lib/Basic/ExpressionTraits.cpp
    M clang/lib/Basic/MakeSupport.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    R clang/lib/Basic/TypeTraits.cpp
    A clang/lib/CIR/CodeGen/CIRDataLayoutSpec.cpp
    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/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    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/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/DependencyScanning/CMakeLists.txt
    R clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/Hurd.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    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/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
    M clang/lib/Headers/__clang_gpu_device_functions.h
    M clang/lib/Headers/avx10_2satcvtdsintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Index/IndexSymbol.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/UnicodeCharSets.h
    M clang/lib/Parse/ParseAST.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseHLSLRootSignature.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/TypeConstrainedPointers/TypeConstrainedPointers.cpp
    M clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysis/Core/WholeProgramAnalysis/AnalysisDriver.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    A clang/lib/Sema/SemaAPINotesInternal.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.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/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/UseAfterLifetimeEnd.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.h
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.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/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Headers/RawIdentifiers.apinotes
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Headers/RawIdentifiers.h
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Modules/module.modulemap
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp
    A clang/test/APINotes/swift-name-raw-identifiers.m
    A clang/test/APINotes/where-parameters-diagnostics.cpp
    M clang/test/AST/ByteCode/amdgpu-nullptr.cl
    M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
    M clang/test/AST/ByteCode/constexpr-steps.cpp
    M clang/test/AST/ByteCode/cxx26.cpp
    M clang/test/AST/ByteCode/dynalloc-limits.cpp
    M clang/test/AST/ByteCode/dynamic-cast.cpp
    M clang/test/AST/ByteCode/virtual-bases.cpp
    M clang/test/AST/ast-dump-amdgpu-types.c
    A clang/test/AST/ast-dump-union-assign-address-space.clcpp
    A clang/test/AST/ast-dump-union-assign-explicit-object.cpp
    A clang/test/AST/ast-dump-union-copy-move-assign.cpp
    M clang/test/AST/ast-print-amdgcn-predicate.c
    A clang/test/AST/ast-print-union-assign.cpp
    M clang/test/Analysis/ArrayBound/assumption-reporting.c
    M clang/test/Analysis/ArrayBound/verbose-tests.c
    A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast-cxxthis.cpp
    M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.cpp
    M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/PR40625.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
    M clang/test/Analysis/Scalable/ssaf-analyzer/analyzer.test
    M clang/test/Analysis/addrspace-null.c
    M clang/test/Analysis/call-and-message-argpointeeinitializedness.c
    M clang/test/Analysis/call-and-message-argpointeeinitializedness.cpp
    M clang/test/Analysis/call-and-message.c
    M clang/test/Analysis/cast-value-notes.cpp
    A clang/test/Analysis/cfg-compound-assignment-eval-order.cpp
    M clang/test/Analysis/dangling-ptr-deref.cpp
    M clang/test/Analysis/element-region-address-space.c
    M clang/test/Analysis/exercise-ps.c
    A clang/test/Analysis/issue-206798.cpp
    A clang/test/Analysis/lambda-capture-init-order.cpp
    M clang/test/Analysis/lifetime-bound.cpp
    M clang/test/Analysis/loopexit-cfg-output.cpp
    M clang/test/Analysis/misc-ps.m
    M clang/test/Analysis/pthreadlock.c
    M clang/test/Analysis/ptr-cmp-const-trunc.cl
    A clang/test/Analysis/simplify-drops-concrete.c
    M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
    M clang/test/Analysis/string-search-modeling.c
    M clang/test/Analysis/uninit-const.c
    M clang/test/Analysis/uninit-const.cpp
    M clang/test/Analysis/z3/cstring-addrspace.c
    A clang/test/Analysis/z3/z3-atomic.c
    M clang/test/Analysis/z3/z3-bitint-arithmetic.c
    M clang/test/Analysis/z3/z3-crosscheck.c
    M clang/test/CIR/CodeGen/address-space.c
    M clang/test/CIR/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CIR/CodeGen/amdgpu-array-addrspace.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/amdgpu-target-lowering-as.cpp
    A clang/test/CIR/CodeGen/arithmetic-fence-builtin.c
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic.c
    A clang/test/CIR/CodeGen/attr-alias-no-proto.c
    A clang/test/CIR/CodeGen/attr-musttail.cpp
    A clang/test/CIR/CodeGen/builtin-cpu-is-cputype.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-subtype.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-vendor.c
    A clang/test/CIR/CodeGen/builtin-cpu-supports.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-variadic.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64.c
    M clang/test/CIR/CodeGen/complex-plus-minus.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    R clang/test/CIR/CodeGen/coro-exceptions.cpp
    R clang/test/CIR/CodeGen/coro-task.cpp
    A clang/test/CIR/CodeGen/default-func-attrs-invoke.cpp
    M clang/test/CIR/CodeGen/empty-union.cpp
    M clang/test/CIR/CodeGen/enum-bool.cpp
    A clang/test/CIR/CodeGen/global-init-fenv.cpp
    M clang/test/CIR/CodeGen/goto-address-label-table.c
    A clang/test/CIR/CodeGen/goto-indirect-cleanup-nyi.c
    A clang/test/CIR/CodeGen/goto-indirect-nested.c
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/new-null.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    A clang/test/CIR/CodeGen/pointer-width-32bit.cpp
    A clang/test/CIR/CodeGen/pragma-fenv_access.c
    R clang/test/CIR/CodeGen/trivial-union-assign-nyi.cpp
    A clang/test/CIR/CodeGen/union-copy-move-assignment.cpp
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xandesperf-rv32.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xandesperf-rv64.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu.cu
    A clang/test/CIR/CodeGenCoroutines/Inputs/coroutine.h
    A clang/test/CIR/CodeGenCoroutines/coro-builtins-err.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-exceptions.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-task.cpp
    M clang/test/CIR/CodeGenHIP/amdgcn-buffer-rsrc-type.hip
    M clang/test/CIR/CodeGenHIP/amdgpu-attrs.hip
    M clang/test/CIR/CodeGenHIP/amdgpu-module-flags.hip
    M clang/test/CIR/CodeGenHIP/attr-target-amdgpu.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-logb-scalbn.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-s-prefetch-inst-nyi.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    M clang/test/CIR/CodeGenHIP/hip-cuid.hip
    M clang/test/CIR/CodeGenHIP/simple.cpp
    M clang/test/CIR/CodeGenHIP/target-features.hip
    M clang/test/CIR/CodeGenOpenMP/emit-device-functions.cpp
    M clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-device.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-host.c
    M clang/test/CIR/CodeGenOpenMP/target-map.c
    M clang/test/CIR/IR/cmp.cir
    M clang/test/CIR/IR/copy.cir
    A clang/test/CIR/IR/fenv.cir
    A clang/test/CIR/IR/goto-indirect.cir
    M clang/test/CIR/IR/invalid-atomic.cir
    M clang/test/CIR/IR/invalid-cast.cir
    A clang/test/CIR/IR/invalid-cmp.cir
    M clang/test/CIR/IR/invalid-global.cir
    A clang/test/CIR/IR/pointer-data-layout.cir
    A clang/test/CIR/IR/std-ops-invalid.cir
    A clang/test/CIR/IR/std-ops.cir
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    A clang/test/CIR/Lowering/fenv.cir
    A clang/test/CIR/Lowering/strictfp.cir
    A clang/test/CIR/Tools/pointer-width-from-triple.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-classification-attr.cir
    R clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-test-target.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call.cir
    M clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-indirect-try-call.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-int-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-indirect.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-nyi.cir
    M clang/test/CIR/Transforms/goto_solver.cir
    A clang/test/CIR/Transforms/idiom-recognizer-strlen-guards.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp
    M clang/test/CIR/Transforms/mem2reg.cir
    M clang/test/CIR/Transforms/vector-cmp-fold.cir
    M clang/test/CXX/drs/cwg14xx.cpp
    A clang/test/ClangScanDeps/canonicalize-macros-multiarch.c
    M clang/test/ClangScanDeps/logging-simple.c
    M clang/test/ClangScanDeps/logging-two-threads.c
    A clang/test/ClangScanDeps/modules-async-scan.c
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
    A clang/test/ClangScanDeps/modules-invalid-target.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
    M clang/test/CodeGen/AArch64/neon/fused-multiply.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    M clang/test/CodeGen/AArch64/neon/store.c
    M clang/test/CodeGen/AArch64/poly128.c
    M clang/test/CodeGen/AArch64/poly64.c
    A clang/test/CodeGen/AArch64/ptrauth-function-attributes-synthetic.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    A clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
    A clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
    A clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr-c-atomic.c
    A clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
    M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
    M clang/test/CodeGen/AMDGPU/full-bf16.c
    M clang/test/CodeGen/AMDGPU/nullptr-in-different-address-spaces.cpp
    M clang/test/CodeGen/AMDGPU/sanitizer.c
    A clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-types.c
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    A clang/test/CodeGen/SystemZ/zos-check-lanuage.c
    M clang/test/CodeGen/WebAssembly/wasm-eh.ll
    M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
    M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
    M clang/test/CodeGen/address-space.c
    M clang/test/CodeGen/align-x68_64.c
    M clang/test/CodeGen/amdgpu-abi-version.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGen/amdgpu-image-rsrc-type-debug-info.c
    M clang/test/CodeGen/amdgpu-variadic-call.c
    M clang/test/CodeGen/annotations-field.c
    M clang/test/CodeGen/annotations-loc.c
    A clang/test/CodeGen/arm-float-abi-flag.c
    M clang/test/CodeGen/bitfield-access-unit.c
    M clang/test/CodeGen/builtin-clear-padding-codegen.c
    M clang/test/CodeGen/builtins-extended-image.c
    M clang/test/CodeGen/builtins-image-load.c
    M clang/test/CodeGen/builtins-image-store.c
    M clang/test/CodeGen/default-address-space.c
    M clang/test/CodeGen/dynamic-alloca-with-address-space.c
    M clang/test/CodeGen/fp-atomic-ops.c
    M clang/test/CodeGen/half-float16-vector-compatibility.cl
    M clang/test/CodeGen/link-builtin-bitcode.c
    M clang/test/CodeGen/linking-bitcode-postopt.cpp
    M clang/test/CodeGen/logb_scalbn.c
    A clang/test/CodeGen/mips-complex-abi.c
    M clang/test/CodeGen/openacc-noop-decl.c
    R clang/test/CodeGen/ppc64-float-abi-attr.c
    A clang/test/CodeGen/ppc64-long-double-type-attr.c
    M clang/test/CodeGen/pragma-detect_mismatch.c
    A clang/test/CodeGen/pragma-weak-darwin.c
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGen/scoped-fence-ops.c
    M clang/test/CodeGen/sret.c
    A clang/test/CodeGen/stack-protector-system-macro.c
    M clang/test/CodeGen/target-addrspace.cpp
    M clang/test/CodeGen/target-data.c
    A clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c
    M clang/test/CodeGenCUDA/address-spaces.cu
    M clang/test/CodeGenCUDA/alias.cu
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenCUDA/amdgpu-visibility.cu
    M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
    M clang/test/CodeGenCUDA/anon-ns.cu
    M clang/test/CodeGenCUDA/atomic-ops.cu
    M clang/test/CodeGenCUDA/atomic-options.hip
    M clang/test/CodeGenCUDA/atomics-remarks-gfx90a.cu
    M clang/test/CodeGenCUDA/builtin-mangled-name.cu
    M clang/test/CodeGenCUDA/builtins-amdgcn.cu
    M clang/test/CodeGenCUDA/builtins-unsafe-atomics-gfx90a.cu
    M clang/test/CodeGenCUDA/cluster_dims.cu
    M clang/test/CodeGenCUDA/const-var.cu
    M clang/test/CodeGenCUDA/correctly-rounded-div.cu
    M clang/test/CodeGenCUDA/dependent-libs.cu
    M clang/test/CodeGenCUDA/device-const-var-linkage.cu
    M clang/test/CodeGenCUDA/device-init-fun.cu
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/device-use-host-var.cu
    M clang/test/CodeGenCUDA/device-var-init.cu
    M clang/test/CodeGenCUDA/device-var-linkage.cu
    M clang/test/CodeGenCUDA/dft-func-attr-skip-intrinsic.hip
    M clang/test/CodeGenCUDA/flush-denormals.cu
    M clang/test/CodeGenCUDA/fp-contract.cu
    M clang/test/CodeGenCUDA/host-used-device-var.cu
    M clang/test/CodeGenCUDA/host-used-extern-determinism.cu
    M clang/test/CodeGenCUDA/host-used-extern.cu
    M clang/test/CodeGenCUDA/implicit-hd-dtor-trap-stub-hip.hip
    M clang/test/CodeGenCUDA/implicit-hd-explicit-inst-hip.hip
    M clang/test/CodeGenCUDA/implicit-hd-overload-ambig-hip.hip
    M clang/test/CodeGenCUDA/implicit-host-device-fun.cu
    M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
    M clang/test/CodeGenCUDA/kernel-amdgcn.cu
    M clang/test/CodeGenCUDA/kernel-arg-name-metadata.cu
    M clang/test/CodeGenCUDA/kernel-args.cu
    M clang/test/CodeGenCUDA/kernel-dbg-info.cu
    M clang/test/CodeGenCUDA/kernel-stub-name.cu
    M clang/test/CodeGenCUDA/lambda-constexpr-capture.cu
    M clang/test/CodeGenCUDA/lambda-noinline.cu
    M clang/test/CodeGenCUDA/lambda-reference-var.cu
    M clang/test/CodeGenCUDA/lambda.cu
    M clang/test/CodeGenCUDA/link-builtin-bitcode-denormal-fp-mode.cu
    M clang/test/CodeGenCUDA/link-builtin-bitcode-gpu-attrs-preserved.cu
    M clang/test/CodeGenCUDA/long-double.cu
    M clang/test/CodeGenCUDA/managed-var.cu
    M clang/test/CodeGenCUDA/ms-linker-options.cu
    M clang/test/CodeGenCUDA/noinline.cu
    M clang/test/CodeGenCUDA/norecurse.cu
    M clang/test/CodeGenCUDA/nosanitize-cuid.hip
    M clang/test/CodeGenCUDA/record-layout.cu
    M clang/test/CodeGenCUDA/static-device-var-no-rdc.cu
    M clang/test/CodeGenCUDA/static-device-var-rdc.cu
    M clang/test/CodeGenCUDA/struct-mangling-number.cu
    M clang/test/CodeGenCUDA/template-class-static-member.cu
    M clang/test/CodeGenCUDA/types.cu
    M clang/test/CodeGenCUDA/unnamed-types.cu
    M clang/test/CodeGenCUDA/unused-global-var.cu
    M clang/test/CodeGenCUDA/vtbl.cu
    A clang/test/CodeGenCXX/GH211943.cpp
    A clang/test/CodeGenCXX/Inputs/override-layout-aligned-base.layout
    M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
    M clang/test/CodeGenCXX/address-space-cast.cpp
    M clang/test/CodeGenCXX/alloc-token-pointer.cpp
    M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
    M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
    M clang/test/CodeGenCXX/amdgcn-string-literal.cpp
    M clang/test/CodeGenCXX/amdgcn_declspec_get.cpp
    M clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
    M clang/test/CodeGenCXX/amdgpu-buffer-rsrc-typeinfo.cpp
    M clang/test/CodeGenCXX/amdgpu-float16.cpp
    M clang/test/CodeGenCXX/amdgpu-image-rsrc-typeinfo.cpp
    M clang/test/CodeGenCXX/amdgpu-kernel-arg-pointer-type.cpp
    M clang/test/CodeGenCXX/bitfield-access-empty.cpp
    M clang/test/CodeGenCXX/bitfield-access-tail.cpp
    M clang/test/CodeGenCXX/builtin-amdgcn-atomic-inc-dec.cpp
    M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
    M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
    M clang/test/CodeGenCXX/conditional-temporaries.cpp
    M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
    M clang/test/CodeGenCXX/cxx11-extern-constexpr.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    A clang/test/CodeGenCXX/dynamic-cast-exact-address-space.cpp
    M clang/test/CodeGenCXX/ms-constexpr-static-data-member.cpp
    M clang/test/CodeGenCXX/no-elide-constructors.cpp
    A clang/test/CodeGenCXX/override-layout-aligned-base.cpp
    M clang/test/CodeGenCXX/pragma-followup_inner.cpp
    M clang/test/CodeGenCXX/pragma-followup_outer.cpp
    M clang/test/CodeGenCXX/pragma-loop-pr27643.cpp
    M clang/test/CodeGenCXX/pragma-loop-predicate.cpp
    M clang/test/CodeGenCXX/pragma-loop-safety.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M clang/test/CodeGenCXX/sret_cast_with_nonzero_alloca_as.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    A clang/test/CodeGenCXX/union-copy-move-assignment.cpp
    M clang/test/CodeGenCXX/vla.cpp
    M clang/test/CodeGenCXX/vtable-align-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-consteval-address-space.cpp
    M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
    M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
    M clang/test/CodeGenCXX/vtable-layout-extreme-address-space.cpp
    M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
    M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
    M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
    M clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
    M clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
    M clang/test/CodeGenHIP/amdgpu-load-to-lds.hip
    M clang/test/CodeGenHIP/atomic-deprecated-fixit.hip
    M clang/test/CodeGenHIP/ballot.cpp
    M clang/test/CodeGenHIP/builtins-amdgcn-buffer-format.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-dl-insts.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx11-dl-insts.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx12-wmma-w32.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx12-wmma-w64.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cvt-f16.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-wmma-f16.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-gfx950-cvt.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-mfma-gfx908.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-mfma-gfx942.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-mfma-gfx950.hip
    A clang/test/CodeGenHIP/builtins-amdgcn-prefetch.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-raytracing.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-wmma-w32.hip
    M clang/test/CodeGenHIP/builtins-amdgcn-wmma-w64.hip
    M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
    M clang/test/CodeGenHIP/debug-info-language-hip.hip
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenHIP/device-function-huge-arg-ret.hip
    M clang/test/CodeGenHIP/dpp-const-fold.hip
    M clang/test/CodeGenHIP/half.hip
    M clang/test/CodeGenHIP/hip_weak_alias.cpp
    M clang/test/CodeGenHIP/maybe_undef-attr-verify.hip
    M clang/test/CodeGenHIP/offload-pgo-sections.hip
    M clang/test/CodeGenHIP/placement-new-addrspace.hip
    M clang/test/CodeGenHIP/printf-aggregate.cpp
    M clang/test/CodeGenHIP/printf-builtin.hip
    M clang/test/CodeGenHIP/printf-kind-module-flag.hip
    M clang/test/CodeGenHIP/printf.cpp
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/CodeGenHIP/profile-coverage-mapping.hip
    M clang/test/CodeGenHIP/sanitize-undefined-null.hip
    M clang/test/CodeGenHIP/sret-lifetime-markers.cpp
    M clang/test/CodeGenHIP/sret-nontrivial-copyable.hip
    M clang/test/CodeGenHIP/store-addr-space.hip
    M clang/test/CodeGenHLSL/builtins/InterlockedAdd.hlsl
    M clang/test/CodeGenHLSL/builtins/InterlockedOr.hlsl
    A clang/test/CodeGenHLSL/builtins/InterlockedXor.hlsl
    A clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedAdd.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedOr.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedXor.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAdd.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedOr.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
    M clang/test/CodeGenHLSL/builtins/cross.hlsl
    M clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
    M clang/test/CodeGenHipStdPar/unsupported-ASM.cpp
    M clang/test/CodeGenHipStdPar/unsupported-builtins.cpp
    A clang/test/CodeGenObjCXX/alloc-token-pointer.mm
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/address-space-constant-initializers.cl
    M clang/test/CodeGenOpenCL/address-spaces.cl
    M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
    M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
    M clang/test/CodeGenOpenCL/amdgcn-flat-scratch-name.cl
    M clang/test/CodeGenOpenCL/amdgcn-large-globals.cl
    M clang/test/CodeGenOpenCL/amdgcn-non-temporal-store.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-calling-conv.cl
    M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
    M clang/test/CodeGenOpenCL/amdgpu-features-default-delta.cl
    M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
    M clang/test/CodeGenOpenCL/amdgpu-features-readonly.cl
    M clang/test/CodeGenOpenCL/amdgpu-ieee.cl
    M clang/test/CodeGenOpenCL/amdgpu-module-flag-xnack-sramecc.cl
    M clang/test/CodeGenOpenCL/amdgpu-printf.cl
    M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
    M clang/test/CodeGenOpenCL/amdgpu-sizeof-alignof.cl
    A clang/test/CodeGenOpenCL/amdgpu-wavefront-size-from-subarch.cl
    M clang/test/CodeGenOpenCL/amdgpu-xnack-any-only.cl
    M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/CodeGenOpenCL/atomic-ops.cl
    M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
    M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
    M clang/test/CodeGenOpenCL/backend-unsupported-warning.ll
    M clang/test/CodeGenOpenCL/blocks.cl
    M clang/test/CodeGenOpenCL/builtins-alloca.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark-errs.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-ci.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err-clamp.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fiji.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-flat-address-space.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx7-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx908-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx90a-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.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-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cluster-load.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-tr.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1251-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9-4-generic-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-global-async-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-interp.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma-gfx908-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.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-raw-buffer-load-format.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store-format.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-s-buffer-load.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-smfmac-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-struct-buffer-load-format.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-struct-buffer-store-format.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-gfx1250-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32-gfx10-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64-gfx10-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-gfx10-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-workgroup-size.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx1030.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
    M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
    M clang/test/CodeGenOpenCL/byval.cl
    M clang/test/CodeGenOpenCL/cast_image.cl
    M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
    M clang/test/CodeGenOpenCL/func-call-dbg-loc.cl
    M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
    M clang/test/CodeGenOpenCL/inline-asm-amdgcn.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/lifetime.cl
    M clang/test/CodeGenOpenCL/nullptr.cl
    M clang/test/CodeGenOpenCL/numbered-address-space.cl
    M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
    M clang/test/CodeGenOpenCL/private-array-initialization.cl
    M clang/test/CodeGenOpenCL/relaxed-fpmath.cl
    M clang/test/CodeGenOpenCL/size_t.cl
    M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
    M clang/test/CodeGenOpenCL/visibility.cl
    M clang/test/CodeGenOpenCL/vla.cl
    M clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
    M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
    M clang/test/DebugInfo/Generic/amdgpu-barrier-type-debug-info.c
    M clang/test/DebugInfo/Generic/amdgpu-buffer-rsrc-type-debug-info.c
    M clang/test/DebugInfo/Generic/bitfield-0-struct.c
    A clang/test/Driver/Inputs/install_tree_with_libcxx/bin/.keep
    A clang/test/Driver/Inputs/install_tree_with_libcxx/include/c++/v1/.keep
    A clang/test/Driver/Inputs/install_tree_with_libcxx/lib/.keep
    M clang/test/Driver/aarch64-ptrauth.c
    A clang/test/Driver/amdgpu-assembler-xnack-sramecc.s
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/Driver/cuda-omp-unsupported-debug-options.cu
    M clang/test/Driver/flang/multiple-inputs-mixed.f90
    A clang/test/Driver/flang/runtimes.f90
    A clang/test/Driver/hip-link-offload-binary.c
    M clang/test/Driver/hipspv-link-static-library.hip
    A clang/test/Driver/hipspv-no-spirv-backend.hip
    M clang/test/Driver/hipspv-pass-plugin.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/invalid-target-id.cl
    M clang/test/Driver/netbsd.cpp
    M clang/test/Driver/opencl.cl
    M clang/test/Driver/openmp-invalid-target-id.c
    A clang/test/Driver/openmp-target-atomic-reduction-flag.c
    M clang/test/Driver/openmp-target-fast-flag.c
    A clang/test/Driver/print-cxx-stdlib.cpp
    M clang/test/Driver/print-supported-extensions-riscv.c
    A clang/test/Driver/sycl-rtlib-sysroot-mismatch.cpp
    A clang/test/ExtractAPI/invalid_utf8_doc_comment.c
    M clang/test/Format/dump-config-objc-stdin.m
    M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
    R clang/test/Frontend/linemarker-invalid-escape.c
    M clang/test/Frontend/opencl.cl
    M clang/test/Frontend/openmp-warn-gpu-max-threads-per-block.c
    M clang/test/Frontend/rewrite-includes.c
    M clang/test/Headers/__clang_hip_cmath-return_types.hip
    M clang/test/Headers/__clang_hip_cmath.hip
    M clang/test/Headers/__clang_hip_libdevice_declares.cpp
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
    M clang/test/Headers/__cpuidex_conflict.c
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c
    M clang/test/Headers/amdgcn-openmp-device-math-complex.cpp
    M clang/test/Headers/amdgcn_openmp_device_math.c
    M clang/test/Headers/amdgcn_openmp_device_math_c.c
    M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
    M clang/test/Headers/amdhsa_abi.cl
    M clang/test/Headers/gpu-device-functions.cpp
    M clang/test/Headers/gpu_disabled_math.cpp
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/gpuintrin_lang.c
    M clang/test/Headers/hip-constexpr-cmath.hip
    M clang/test/Headers/hip-header.hip
    M clang/test/Headers/opencl-c-header.cl
    M clang/test/Headers/openmp-device-functions-bool.c
    M clang/test/Headers/openmp_device_math_isnan.cpp
    M clang/test/Headers/openmp_new_nothrow.cpp
    A clang/test/Index/USR/class-type-tpl-arg.cpp
    M clang/test/Index/cxx14-lambdas.cpp
    M clang/test/Index/index-refs.cpp
    M clang/test/Index/index-template-specialization.cpp
    M clang/test/Index/pipe-size.cl
    M clang/test/Index/reparse-predef-objc-protocol.m
    A clang/test/Interpreter/used-global-after-error.cpp
    A clang/test/Layout/ms-arm64-aligned-base-tail-padding.cpp
    M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
    M clang/test/Lexer/unicode.c
    M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
    M clang/test/Misc/amdgcn.unsupported_core_3.1.cl
    M clang/test/Misc/backend-resource-limit-diagnostics.cl
    M clang/test/Misc/backend-resource-limit-diagnostics.hip
    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/r600.c
    M clang/test/Modules/codegen-opt.test
    M clang/test/Modules/cxx20-hu-05.cpp
    M clang/test/Modules/cxx20-hu-06.cpp
    A clang/test/Modules/decl-attr-merge-explicit-modules.c
    A clang/test/Modules/decl-attr-merge2.c
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-canonical-prefixes.c
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-amdgcnspirv.c
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
    M clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
    M clang/test/OffloadTools/clang-offload-bundler/asserts-on.c
    M clang/test/OffloadTools/clang-offload-bundler/basic.c
    M clang/test/OffloadTools/clang-offload-bundler/standardize.c
    M clang/test/OffloadTools/clang-offload-bundler/zlib.c
    M clang/test/OffloadTools/clang-offload-bundler/zstd.c
    M clang/test/OpenMP/amdgcn-attributes.cpp
    M clang/test/OpenMP/amdgcn_debug_nowait.c
    M clang/test/OpenMP/amdgcn_device_function_call.cpp
    M clang/test/OpenMP/amdgcn_ldbl_check.cpp
    M clang/test/OpenMP/amdgcn_save_temps.c
    M clang/test/OpenMP/amdgcn_sret_ctor.cpp
    M clang/test/OpenMP/amdgcn_target_codegen.cpp
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M clang/test/OpenMP/amdgcn_target_init_temp_alloca.cpp
    M clang/test/OpenMP/amdgcn_weak_alias.c
    M clang/test/OpenMP/amdgcn_weak_alias.cpp
    M clang/test/OpenMP/amdgpu-unsafe-fp-atomics.cpp
    M clang/test/OpenMP/amdgpu_exceptions.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/amdgpu_threadprivate.cpp
    M clang/test/OpenMP/amdgpu_throw.cpp
    M clang/test/OpenMP/amdgpu_throw_trap.cpp
    M clang/test/OpenMP/amdgpu_try_catch.cpp
    M clang/test/OpenMP/copy-gaps-1.cpp
    M clang/test/OpenMP/copy-gaps-2.cpp
    M clang/test/OpenMP/copy-gaps-3.cpp
    M clang/test/OpenMP/copy-gaps-4.cpp
    M clang/test/OpenMP/copy-gaps-5.cpp
    M clang/test/OpenMP/copy-gaps-6.cpp
    M clang/test/OpenMP/debug-info-kmpc.cpp
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/declare_target_local_map_messages.cpp
    M clang/test/OpenMP/declare_target_local_usm_codegen.cpp
    M clang/test/OpenMP/declare_target_nohost_variant_messages.cpp
    M clang/test/OpenMP/declare_variant_construct_codegen_1.c
    M clang/test/OpenMP/dims_modifier_messages.cpp
    M clang/test/OpenMP/for_simd_codegen.cpp
    M clang/test/OpenMP/for_simd_scan_codegen.cpp
    M clang/test/OpenMP/force-usm.c
    M clang/test/OpenMP/interop_codegen.cpp
    M clang/test/OpenMP/irbuilder_safelen.cpp
    M clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp
    M clang/test/OpenMP/irbuilder_simd.cpp
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    M clang/test/OpenMP/irbuilder_simdlen.cpp
    M clang/test/OpenMP/irbuilder_simdlen_safelen.cpp
    M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/metadirective_ast_print.c
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
    M clang/test/OpenMP/ompx_attributes_codegen.cpp
    M clang/test/OpenMP/openmp-read-only-feature.c
    M clang/test/OpenMP/parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_scan_codegen.cpp
    M clang/test/OpenMP/requires_codegen.cpp
    M clang/test/OpenMP/simd_codegen.cpp
    M clang/test/OpenMP/simd_metadata.c
    M clang/test/OpenMP/strided_update_variable_stride_codegen.c
    M clang/test/OpenMP/target_data_if_logical_codegen.cpp
    M clang/test/OpenMP/target_exceptions_messages.cpp
    M clang/test/OpenMP/target_indirect_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    A clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
    M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_parallel_no_exceptions.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_messages.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_team_variable_codegen.cpp
    A clang/test/OpenMP/target_teams_atomic_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
    M clang/test/OpenMP/target_update_count_expression_codegen.c
    M clang/test/OpenMP/target_visibility.cpp
    M clang/test/OpenMP/taskloop_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/thread_limit_gpu.c
    A clang/test/OpenMP/update_clause_ast_dump.cpp
    M clang/test/PCH/aarch64-sve-types.c
    M clang/test/PCH/delayed-template-with-pragma.cpp
    M clang/test/Parser/cxx11-user-defined-literals.cpp
    A clang/test/Parser/decltype-crash.cpp
    A clang/test/Preprocessor/amdgpu-subarch-cc1-target-cpu.cl
    M clang/test/Preprocessor/builtin_aux_info.cpp
    M clang/test/Preprocessor/hash_builtin.cpp
    M clang/test/Preprocessor/init-fuchsia.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/line-directive-output.c
    M clang/test/Preprocessor/line-directive.c
    A clang/test/Preprocessor/pragma_set_pp_state.cpp
    M clang/test/Preprocessor/predefined-macros-no-warnings.c
    M clang/test/Preprocessor/predefined-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/aarch64-neon-immediate-ranges/vector-shift-left.c
    M clang/test/Sema/amdgcn-address-spaces.c
    M clang/test/Sema/amdgcn-va-list-type.c
    M clang/test/Sema/attr-model.cpp
    M clang/test/Sema/block-misc.c
    M clang/test/Sema/builtin-amdgcn-atomic-inc-dec-failure.cpp
    M clang/test/Sema/builtin-amdgcn-fence-failure.cpp
    M clang/test/Sema/callingconv-devicekernel.cpp
    M clang/test/Sema/constexpr.c
    M clang/test/Sema/darwin-tls.c
    R clang/test/Sema/gh183974.c
    M clang/test/Sema/inline-asm-validate-amdgpu.cl
    A clang/test/Sema/inline-asm-validate-loongarch.c
    M clang/test/Sema/offsetof-unsigned-index.c
    M clang/test/Sema/scoped-atomic-ops.c
    M clang/test/Sema/sizeof-struct-non-zero-as-member.cl
    M clang/test/Sema/warn-thread-safety-analysis.c
    M clang/test/Sema/warn-unreachable.c
    M clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
    M clang/test/SemaCUDA/addr-of-overloaded-fn.cu
    M clang/test/SemaCUDA/addr-of-overloaded-template-fn.cu
    M clang/test/SemaCUDA/allow-int128.cu
    M clang/test/SemaCUDA/amdgpu-builtins-pointer-args.cu
    M clang/test/SemaCUDA/amdgpu-f128.cu
    M clang/test/SemaCUDA/amdgpu-size_t.cu
    M clang/test/SemaCUDA/amdgpu-windows-vectorcall.cu
    M clang/test/SemaCUDA/atomic-ops.cu
    M clang/test/SemaCUDA/builtin-mangled-name.cu
    M clang/test/SemaCUDA/builtins-unsafe-atomics-gfx90a.cu
    M clang/test/SemaCUDA/cluster_dims.cu
    M clang/test/SemaCUDA/const-var.cu
    M clang/test/SemaCUDA/constexpr-var.cu
    M clang/test/SemaCUDA/deferred-diags-dedup.cu
    M clang/test/SemaCUDA/float16.cu
    M clang/test/SemaCUDA/fp16-arg-return.cu
    M clang/test/SemaCUDA/implicit-hd-dtor-explicit-instantiation.cu
    M clang/test/SemaCUDA/implicit-hd-explicit-inst-organic-caller.cu
    M clang/test/SemaCUDA/implicit-hd-overload-ambig-organic-caller.cu
    M clang/test/SemaCUDA/lambda.cu
    M clang/test/SemaCUDA/openmp-target.cu
    M clang/test/SemaCUDA/overloaded-builtin.cu
    M clang/test/SemaCUDA/windows-calling-conv.cu
    M clang/test/SemaCXX/amdgpu-barrier.cpp
    M clang/test/SemaCXX/amdgpu-buffer-rsrc.cpp
    M clang/test/SemaCXX/amdgpu-feature-builtins-invalid-use.cpp
    M clang/test/SemaCXX/amdgpu-image-rsrc.cpp
    M clang/test/SemaCXX/amdgpu-sizeof-alignof.cpp
    A clang/test/SemaCXX/atomic-auto.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/constexpr-function-recovery-crash.cpp
    M clang/test/SemaCXX/constexpr-steps.cpp
    M clang/test/SemaCXX/cxx20-default-compare.cpp
    M clang/test/SemaCXX/cxx2a-constexpr-dynalloc-limits.cpp
    M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
    A clang/test/SemaCXX/expansion-statements-local-extern-decls.cpp
    M clang/test/SemaCXX/libstdcxx_format_kind_hack.cpp
    M clang/test/SemaCXX/ms-layout_version.cpp
    A clang/test/SemaCXX/ms-ptr-qualifiers.cpp
    A clang/test/SemaCXX/qualified-function-typeof.cpp
    M clang/test/SemaCXX/source_location.cpp
    A clang/test/SemaCXX/union-assign-constexpr.cpp
    A clang/test/SemaCXX/union-assign-memcpy-nontrivial.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
    M clang/test/SemaCXX/wasm-funcref.cpp
    M clang/test/SemaHIP/amdgpu-av-load-store.hip
    A clang/test/SemaHIP/amdgpu-barrier-spirv.hip
    M clang/test/SemaHIP/amdgpu-barrier.hip
    M clang/test/SemaHIP/amdgpu-buffer-rsrc.hip
    M clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
    M clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
    M clang/test/SemaHIP/amdgpu-ds-atomic-fadd-err.hip
    M clang/test/SemaHIP/amdgpu-feature-builtins-cant-jump.hip
    M clang/test/SemaHIP/amdgpu-feature-builtins-return-type-deduction.hip
    M clang/test/SemaHIP/amdgpu-feature-predicate.hip
    M clang/test/SemaHIP/amdgpu-flat-atomic-fadd-err.hip
    M clang/test/SemaHIP/amdgpu-flat-atomic-fmax-err.hip
    M clang/test/SemaHIP/amdgpu-flat-atomic-fmin-err.hip
    M clang/test/SemaHIP/amdgpu-gfx950-load-to-lds.hip
    M clang/test/SemaHIP/amdgpu-global-atomic-fadd-err.hip
    M clang/test/SemaHIP/amdgpu-global-atomic-fmax-err.hip
    M clang/test/SemaHIP/amdgpu-global-atomic-fmin-err.hip
    M clang/test/SemaHIP/amdgpu-global-load-lds-template.hip
    M clang/test/SemaHIP/amdgpu-is-invocable.hip
    M clang/test/SemaHIP/amdgpu-processor-is.hip
    M clang/test/SemaHIP/atomic-deprecated.hip
    M clang/test/SemaHIP/builtins-amdgcn-buffer-format.hip
    M clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
    M clang/test/SemaHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
    M clang/test/SemaHIP/builtins-amdgcn-raw-buffer-atomic-add.hip
    M clang/test/SemaHIP/builtins-amdgcn-raw-buffer-atomic-fmin-max.hip
    M clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
    M clang/test/SemaHIP/incorrect-atomic-scope.hip
    M clang/test/SemaHIP/shared-variable-too-large.hip
    M clang/test/SemaHIP/zero-sized-device-array.hip
    M clang/test/SemaHLSL/Availability/avail-diag-default-compute.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedAdd-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedAdd-sm65-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/InterlockedXor-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
    A clang/test/SemaHLSL/Resources/Textures-derivative-availability.hlsl
    A clang/test/SemaHLSL/Resources/Textures-double-element-type-errors.hlsl
    A clang/test/SemaHLSL/Resources/Textures-integer-element-type.hlsl
    M clang/test/SemaHipStdPar/device-can-call-host.cpp
    M clang/test/SemaObjC/attr-swift_name.m
    A clang/test/SemaObjC/objc-constant-literal-dict-key-restrictions.m
    M clang/test/SemaOpenCL/amd-media-ops.cl
    M clang/test/SemaOpenCL/amdgpu-attrs.cl
    M clang/test/SemaOpenCL/amdgpu-barrier.cl
    M clang/test/SemaOpenCL/amdgpu-buffer-rsrc.cl
    M clang/test/SemaOpenCL/amdgpu-ds-atomic-fadd-err.cl
    M clang/test/SemaOpenCL/amdgpu-image-rsrc.cl
    M clang/test/SemaOpenCL/amdgpu-num-sgpr-vgpr-deprecated.cl
    M clang/test/SemaOpenCL/amdgpu-variables-too-large-for-address-space.cl
    M clang/test/SemaOpenCL/atomic-ops.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-cmp-deprecated.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-cvt-sr-pk-bf16-f32-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-ci.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-f16.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-flat-address-space.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx12-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx12.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1251-wmma-w32-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx9.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx908-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx90a-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-vi.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave64.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-target-error.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-image-bvh-intersect-ray-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-load-to-lds-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-format-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-load-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-store-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-s-buffer-load-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-struct-buffer-format-error.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
    A clang/test/SemaOpenCL/builtins-extended-image-err.cl
    M clang/test/SemaOpenCL/builtins-extended-image-param-gfx1100-err.cl
    R clang/test/SemaOpenCL/builtins-extended-image-param-gfx942-err.cl
    A clang/test/SemaOpenCL/builtins-extended-image-supported.cl
    A clang/test/SemaOpenCL/builtins-image-load-image-feature-err.cl
    M clang/test/SemaOpenCL/builtins-image-load-param-gfx1100-err.cl
    R clang/test/SemaOpenCL/builtins-image-load-param-gfx942-err.cl
    A clang/test/SemaOpenCL/builtins-image-store-image-feature-err.cl
    M clang/test/SemaOpenCL/builtins-image-store-param-gfx1100-err.cl
    R clang/test/SemaOpenCL/builtins-image-store-param-gfx942-err.cl
    M clang/test/SemaOpenCL/fp64-fp16-options.cl
    M clang/test/SemaOpenCL/half-float16-vector-compatibility.cl
    M clang/test/SemaOpenCL/incorrect-atomic-scope.cl
    M clang/test/SemaOpenCL/numbered-address-space.cl
    M clang/test/SemaOpenCL/sampler_t.cl
    M clang/test/SemaOpenCLCXX/amdgpu-nullptr.clcpp
    M clang/test/SemaOpenMP/amdgpu-barrier.cpp
    M clang/test/SemaOpenMP/amdgpu-buffer-rsrc.cpp
    M clang/test/SemaOpenMP/amdgpu-image-rsrc.cpp
    A clang/test/SemaOpenMP/invalid-clause-on-directive.c
    M clang/test/SemaSYCL/sycl-cconv-win.cpp
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M clang/test/SemaTemplate/friend.cpp
    M clang/test/SemaTemplate/instantiate-member-initializers.cpp
    M clang/test/VFS/external-names-multi-overlay.c
    M clang/test/VFS/fallback.c
    M clang/tools/cir-translate/cir-translate.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-fuzzer/proto-to-llvm/loop_proto_to_llvm.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/DeclTest.cpp
    M clang/unittests/AST/SourceLocationTest.cpp
    A clang/unittests/Analysis/AnyCallTest.cpp
    M clang/unittests/Analysis/CMakeLists.txt
    M clang/unittests/Basic/OffloadArchTest.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/FenvOpTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/AnalysisDriverTest.cpp
    M clang/unittests/Tooling/DependencyScannerTest.cpp
    M clang/unittests/Tooling/HeaderIncludesTest.cpp
    M clang/utils/TableGen/CIRLoweringEmitter.cpp
    M clang/utils/TableGen/ClangTraitsEmitter.cpp
    M clang/utils/perf-training/perf-helper.py
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status
    A cmake/Modules/GetTripleCMakeSystemName.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/adddf3.cpp
    A compiler-rt/lib/builtins/addsf3.cpp
    M compiler-rt/lib/builtins/addtf3.cpp
    A compiler-rt/lib/builtins/divdf3.cpp
    A compiler-rt/lib/builtins/divsf3.cpp
    A compiler-rt/lib/builtins/divtf3.cpp
    A compiler-rt/lib/builtins/extenddftf2.cpp
    A compiler-rt/lib/builtins/extendsfdf2.cpp
    A compiler-rt/lib/builtins/extendsftf2.cpp
    A compiler-rt/lib/builtins/extendxftf2.cpp
    M compiler-rt/lib/builtins/fp_lib.h
    A compiler-rt/lib/builtins/muldf3.cpp
    A compiler-rt/lib/builtins/mulsf3.cpp
    A compiler-rt/lib/builtins/multf3.cpp
    A compiler-rt/lib/builtins/negdf2.cpp
    A compiler-rt/lib/builtins/negsf2.cpp
    M compiler-rt/lib/builtins/subdf3.c
    A compiler-rt/lib/builtins/subdf3.cpp
    M compiler-rt/lib/builtins/subsf3.c
    A compiler-rt/lib/builtins/subsf3.cpp
    A compiler-rt/lib/builtins/subtf3.cpp
    A compiler-rt/lib/builtins/truncdfsf2.cpp
    A compiler-rt/lib/builtins/trunctfdf2.cpp
    A compiler-rt/lib/builtins/trunctfsf2.cpp
    A compiler-rt/lib/builtins/trunctfxf2.cpp
    M compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
    M compiler-rt/lib/profile/InstrProfiling.c
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
    M compiler-rt/lib/profile/InstrProfilingWriter.c
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_test.cpp
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
    M compiler-rt/lib/tsan/go/buildgo.sh
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_ppc64.S
    M compiler-rt/lib/ubsan/ubsan_checks.inc
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/lib/ubsan/ubsan_handlers_cxx.cpp
    M compiler-rt/test/cfi/anon-namespace.cpp
    M compiler-rt/test/cfi/bad-cast.cpp
    M compiler-rt/test/cfi/base-derived-destructor.cpp
    M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
    M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
    M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
    M compiler-rt/test/cfi/cross-dso/simple-fail.cpp
    M compiler-rt/test/cfi/cross-dso/target_out_of_bounds.cpp
    M compiler-rt/test/cfi/icall/bad-signature.c
    M compiler-rt/test/cfi/lit.cfg.py
    M compiler-rt/test/cfi/mfcall.cpp
    M compiler-rt/test/cfi/multiple-inheritance.cpp
    M compiler-rt/test/cfi/nvcall.cpp
    M compiler-rt/test/cfi/overwrite.cpp
    M compiler-rt/test/cfi/simple-fail.cpp
    M compiler-rt/test/cfi/target_uninstrumented.cpp
    M compiler-rt/test/cfi/vdtor.cpp
    A compiler-rt/test/msan/Linux/syscalls_post_output_size.cpp
    M compiler-rt/test/msan/vararg_shadow.cpp
    A compiler-rt/test/profile/AMDGPU/device-module-load-file.hip
    A compiler-rt/test/sanitizer_common/TestCases/Linux/fopen64_nullptr.c
    M compiler-rt/test/xray/TestCases/Posix/fdr-mode.cpp
    M compiler-rt/www/index.html
    M cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w32.cl
    M cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w64.cl
    M cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w32.cl
    M cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w64.cl
    M cross-project-tests/amdgpu/builtins-amdgcn-wmma-w32.cl
    M cross-project-tests/amdgpu/builtins-amdgcn-wmma-w64.cl
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M flang-rt/CMakeLists.txt
    M flang-rt/README.md
    M flang-rt/include/flang-rt/runtime/namelist.h
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/lib/cuda/registration.cpp
    M flang-rt/lib/runtime/namelist.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang-rt/unittests/Runtime/Namelist.cpp
    M flang/docs/Extensions.md
    R flang/docs/FIRArrayOperations.md
    M flang/docs/FlangDriver.md
    M flang/docs/HighLevelFIR.md
    A flang/docs/MeetingNotes/2026/2026-07-01.md
    A flang/docs/MeetingNotes/2026/2026-07-29.md
    M flang/docs/ParameterizedDerivedTypes.md
    M flang/docs/ProcedurePointer.md
    M flang/docs/ReleaseNotes.md
    M flang/docs/fstack-arrays.md
    M flang/docs/index.md
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/FrontendAction.h
    M flang/include/flang/Frontend/FrontendOptions.h
    R flang/include/flang/Lower/ComponentPath.h
    R flang/include/flang/Lower/ConvertExpr.h
    M flang/include/flang/Lower/DirectivesCommon.h
    R flang/include/flang/Lower/IterationSpace.h
    M flang/include/flang/Lower/OpenMP/Clauses.h
    M flang/include/flang/Lower/Support/Utils.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    R flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
    M flang/include/flang/Optimizer/Builder/MutableBox.h
    R flang/include/flang/Optimizer/Builder/Runtime/Ragged.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/OpenACC/Passes.h
    M flang/include/flang/Optimizer/OpenACC/Passes.td
    M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    A flang/include/flang/Optimizer/Transforms/AllocationPlacementPolicy.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/parsing.h
    M flang/include/flang/Parser/provenance.h
    M flang/include/flang/Parser/tools.h
    M flang/include/flang/Parser/user-state.h
    M flang/include/flang/Runtime/CUDA/registration.h
    M flang/include/flang/Runtime/ragged.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/intrinsics-library.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Frontend/ParserActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    R flang/lib/Lower/ComponentPath.cpp
    R flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/IO.cpp
    R flang/lib/Lower/IterationSpace.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Lower/Support/Utils.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
    M flang/lib/Optimizer/Builder/MIFCommon.cpp
    R flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/lib/Optimizer/OpenACC/Transforms/ACCDevicePtrToCUFKernel.cpp
    A flang/lib/Optimizer/OpenACC/Transforms/ACCEmitNYIFlang.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/ACCInitializeFIRAnalyses.cpp
    A flang/lib/Optimizer/OpenACC/Transforms/ACCPipeline.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    A flang/lib/Optimizer/Transforms/AllocationPlacement.cpp
    R flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    A flang/lib/Optimizer/Transforms/SelectOpsConversion.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    A flang/lib/Optimizer/Transforms/StackArrays.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/provenance.cpp
    M flang/lib/Parser/tools.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-acc-structure.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-directive-structure.h
    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/mod-file.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-copy-region.mlir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-pointer.mlir
    M flang/test/CMakeLists.txt
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    A flang/test/Driver/compress-debug-sections-zstd.f90
    A flang/test/Driver/compress-debug-sections.f90
    A flang/test/Driver/dependency-file-gen-mod.f90
    A flang/test/Driver/dependency-file-gen.f90
    A flang/test/Driver/dependency-file.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/openacc-nyi.f90
    A flang/test/Driver/openmp-target-fast-flag.f90
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-constructor.f90
    M flang/test/Fir/CUDA/cuda-device-global-cycle.fir
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Fir/CUDA/cuda-stream.mlir
    M flang/test/Fir/CUDA/cuda-unified-module-global.f90
    M flang/test/Fir/CUDA/predefined-variables.mlir
    M flang/test/Fir/FirToSCF/do-extra.fir
    M flang/test/Fir/FirToSCF/do-loop.fir
    M flang/test/Fir/FirToSCF/iter-while.fir
    M flang/test/Fir/FirToSCF/iterate-while-extra.fir
    M flang/test/Fir/OpenACC/acc-declare-gpu-module-insertion.fir
    A flang/test/Fir/OpenACC/device-ptr-to-cuf-kernel.mlir
    A flang/test/Fir/SelectOpsConversion/select.fir
    A flang/test/Fir/SelectOpsConversion/select_case.fir
    A flang/test/Fir/SelectOpsConversion/select_rank.fir
    M flang/test/Fir/Todo/select_case_with_character.fir
    A flang/test/Fir/allocation-placement-pipeline.fir
    R flang/test/Fir/array-copies-pointers.fir
    R flang/test/Fir/array-modify.fir
    R flang/test/Fir/array-value-copy-2.fir
    R flang/test/Fir/array-value-copy-3.fir
    R flang/test/Fir/array-value-copy-4.fir
    R flang/test/Fir/array-value-copy-cam4.fir
    R flang/test/Fir/array-value-copy.fir
    M flang/test/Fir/array_coor_nuw_nusw.fir
    R flang/test/Fir/arrexp.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm-invalid.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/invalid.fir
    M flang/test/Fir/select.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/inline-elemental.fir
    M flang/test/HLFIR/optional_dummy.f90
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    A flang/test/Integration/allocation-placement-array-result.f90
    A flang/test/Integration/debug-compressed-sections.f90
    M flang/test/Integration/ivdep.f90
    M flang/test/Integration/vector-always.f90
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    A flang/test/Lower/CUDA/cuda-managed-assign.cuf
    M flang/test/Lower/CUDA/cuda-return01.cuf
    A flang/test/Lower/CUDA/cuda-unified-assign.cuf
    M flang/test/Lower/HLFIR/array-ctor-index.f90
    M flang/test/Lower/HLFIR/custom-intrinsic.f90
    A flang/test/Lower/HLFIR/elemental-array-constant-shape.f90
    M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
    M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
    M flang/test/Lower/HLFIR/matmul.f90
    M flang/test/Lower/HLFIR/maxloc.f90
    M flang/test/Lower/HLFIR/minloc.f90
    M flang/test/Lower/MIF/change_team2.f90
    A flang/test/Lower/OpenACC/Todo/acc-reduction-component.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-reduction-remapping.f90
    M flang/test/Lower/OpenACC/acc-terminator.f90
    M flang/test/Lower/OpenACC/acc-unstructured.f90
    R flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
    R flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
    A flang/test/Lower/OpenMP/Todo/allocate-clause-unsupported.f90
    M flang/test/Lower/OpenMP/Todo/assume.f90
    M flang/test/Lower/OpenMP/Todo/assumes.f90
    R flang/test/Lower/OpenMP/Todo/error.f90
    A flang/test/Lower/OpenMP/allocate-clause-allocator.f90
    A flang/test/Lower/OpenMP/assumption.f90
    M flang/test/Lower/OpenMP/defaultmap.f90
    A flang/test/Lower/OpenMP/error.f90
    M flang/test/Lower/OpenMP/interop.f90
    M flang/test/Lower/OpenMP/loop-compound.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    R flang/test/Lower/OpenMP/wsloop-computed-goto.f90
    R flang/test/Lower/OpenMP/wsloop-select-case.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/branching-directive.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/fail_image.f90
    M flang/test/Lower/ifconvert.f90
    M flang/test/Lower/mixed_loops.f90
    M flang/test/Lower/nsw.f90
    M flang/test/Lower/pre-fir-tree02.f90
    M flang/test/Lower/split-sum-expression-tree-lowering.f90
    A flang/test/Lower/submodule-async-volatile.f90
    M flang/test/Lower/submodule.f90
    M flang/test/Lower/volatile3.f90
    M flang/test/Lower/while_loop.f90
    M flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    M flang/test/Parser/OpenMP/interop-construct.f90
    A flang/test/Parser/OpenMP/linear-clause-v45.f90
    A flang/test/Parser/OpenMP/linear-clause-v52.f90
    R flang/test/Parser/OpenMP/linear-clause.f90
    M flang/test/Parser/OpenMP/map-modifiers-v60.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    M flang/test/Parser/OpenMP/metadirective-v50.f90
    M flang/test/Parser/acc-unparse.f90
    M flang/test/Semantics/CUDA/cuf02.cuf
    A flang/test/Semantics/OpenACC/acc-construct-entity-shadow.f90
    M flang/test/Semantics/OpenACC/acc-loop.f90
    M flang/test/Semantics/OpenACC/acc-routine-generic.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/error.f90
    M flang/test/Semantics/OpenMP/init-clause.f90
    M flang/test/Semantics/OpenMP/interop-construct.f90
    M flang/test/Semantics/OpenMP/linear-clause02.f90
    M flang/test/Semantics/OpenMP/linear-clause03.f90
    M flang/test/Semantics/OpenMP/map-modifiers.f90
    A flang/test/Semantics/OpenMP/metadirective-default-none.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    A flang/test/Semantics/bindings08.f90
    A flang/test/Semantics/declaration-assumed-array-bounds.f90
    M flang/test/Semantics/misc-declarations.f90
    M flang/test/Semantics/modfile31.f90
    A flang/test/Semantics/modfile85.f90
    M flang/test/Semantics/resolve60.f90
    M flang/test/Semantics/stmt-func04.f90
    M flang/test/Semantics/symbol05.f90
    A flang/test/Transforms/FIRToMemRef/volatile-codegen.mlir
    A flang/test/Transforms/FIRToMemRef/volatile.mlir
    A flang/test/Transforms/OpenACC/acc-emit-nyi-flang.fir
    M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
    A flang/test/Transforms/allocation-placement-budget.fir
    A flang/test/Transforms/allocation-placement-stack-arrays-mode.fir
    A flang/test/Transforms/allocation-placement.fir
    M flang/test/Transforms/loop-versioning.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/Transforms/stack-arrays-hlfir.f90
    M flang/test/Transforms/vscale-attr.fir
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18-parse-demo/f18-parse-demo.cpp
    M flang/tools/fir-opt/CMakeLists.txt
    R flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
    M flang/unittests/Optimizer/CMakeLists.txt
    M libc/CMakeLists.txt
    M libc/cmake/caches/baremetal_common.cmake
    M libc/cmake/caches/gpu.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/cmake/modules/LibcConfig.cmake
    M libc/config/config.json
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/config.json
    M libc/config/linux/i386/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    A libc/docs/_static/llvm_libc_logo.svg
    M libc/docs/index.md
    M libc/hdr/CMakeLists.txt
    A libc/hdr/elf_proxy.h
    A libc/hdr/termios_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/cc_t.h
    A libc/hdr/types/pthread_t.h
    A libc/hdr/types/speed_t.h
    A libc/hdr/types/struct_if_nameindex.h
    A libc/hdr/types/struct_passwd.h
    A libc/hdr/types/struct_statfs.h
    A libc/hdr/types/struct_termios.h
    A libc/hdr/types/tcflag_t.h
    M libc/include/CMakeLists.txt
    M libc/include/dirent.yaml
    M libc/include/elf.yaml
    M libc/include/errno.yaml
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/dirent-macros.h
    M libc/include/llvm-libc-macros/endian-macros.h
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/dirent-macros.h
    M libc/include/llvm-libc-macros/linux/signal-macros.h
    M libc/include/llvm-libc-macros/linux/sys-socket-macros.h
    M libc/include/llvm-libc-macros/linux/sys-stat-macros.h
    A libc/include/llvm-libc-macros/linux/sys-statfs-macros.h
    M libc/include/llvm-libc-macros/linux/unistd-macros.h
    A libc/include/llvm-libc-macros/sys-statfs-macros.h
    A libc/include/llvm-libc-proxy/CMakeLists.txt
    A libc/include/llvm-libc-proxy/elf_proxy.yaml
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/__off64_t.h
    A libc/include/llvm-libc-types/__off_t.h
    A libc/include/llvm-libc-types/__uint64_t.h
    A libc/include/llvm-libc-types/caddr_t.h
    A libc/include/llvm-libc-types/fsid_t.h
    A libc/include/llvm-libc-types/id_t.h
    A libc/include/llvm-libc-types/ino64_t.h
    A libc/include/llvm-libc-types/reclen_t.h
    M libc/include/llvm-libc-types/struct_dirent.h
    A libc/include/llvm-libc-types/struct_if_nameindex.h
    A libc/include/llvm-libc-types/struct_passwd.h
    A libc/include/llvm-libc-types/struct_posix_dent.h
    A libc/include/llvm-libc-types/struct_statfs.h
    M libc/include/llvm-libc-types/struct_termios.h
    A libc/include/llvm-libc-types/struct_ucred.h
    A libc/include/llvm-libc-types/u_int.h
    A libc/include/llvm-libc-types/u_int16_t.h
    A libc/include/llvm-libc-types/u_int8_t.h
    A libc/include/llvm-libc-types/u_long.h
    A libc/include/llvm-libc-types/u_short.h
    A libc/include/llvm-libc-types/ulong.h
    A libc/include/llvm-libc-types/useconds_t.h
    A libc/include/llvm-libc-types/ushort.h
    A libc/include/memory.yaml
    M libc/include/net/if.yaml
    M libc/include/pthread.yaml
    A libc/include/pwd.yaml
    M libc/include/stdlib.yaml
    A libc/include/sys/fcntl.yaml
    A libc/include/sys/poll.yaml
    A libc/include/sys/signal.yaml
    M libc/include/sys/socket.yaml
    A libc/include/sys/statfs.yaml
    M libc/include/sys/types.yaml
    A libc/include/sys/unistd.yaml
    M libc/include/time.yaml
    M libc/lib/CMakeLists.txt
    M libc/shared/builtins.h
    A libc/shared/builtins/extenddftf2.h
    A libc/shared/builtins/extendsfdf2.h
    A libc/shared/builtins/extendsftf2.h
    A libc/shared/builtins/extendxftf2.h
    A libc/shared/builtins/negdf2.h
    A libc/shared/builtins/negsf2.h
    A libc/shared/builtins/truncdfsf2.h
    A libc/shared/builtins/trunctfdf2.h
    A libc/shared/builtins/trunctfsf2.h
    A libc/shared/builtins/trunctfxf2.h
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/expected.h
    M libc/src/__support/CPP/optional.h
    M libc/src/__support/CPP/simd.h
    M libc/src/__support/CPP/string.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/float128.h
    M libc/src/__support/GPU/allocator.cpp
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/network_syscall_policy.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fstatfs.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/sched_getparam.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/sched_getscheduler.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/sched_setscheduler.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/statfs.h
    M libc/src/__support/builtins/CMakeLists.txt
    A libc/src/__support/builtins/extenddftf2.h
    A libc/src/__support/builtins/extendsfdf2.h
    A libc/src/__support/builtins/extendsftf2.h
    A libc/src/__support/builtins/extendxftf2.h
    A libc/src/__support/builtins/fpconvert_helper.h
    A libc/src/__support/builtins/negdf2.h
    A libc/src/__support/builtins/negsf2.h
    A libc/src/__support/builtins/truncdfsf2.h
    A libc/src/__support/builtins/trunctfdf2.h
    A libc/src/__support/builtins/trunctfsf2.h
    A libc/src/__support/builtins/trunctfxf2.h
    M libc/src/__support/common.h
    M libc/src/__support/math/expm1.h
    M libc/src/__support/math/tan.h
    M libc/src/__support/mathvec/CMakeLists.txt
    M libc/src/__support/mathvec/exp10f.h
    M libc/src/__support/mathvec/exp2f.h
    M libc/src/__support/mathvec/expf.h
    M libc/src/__support/mathvec/expf_utils.h
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread.h
    M libc/src/err/CMakeLists.txt
    M libc/src/err/report.cpp
    M libc/src/errno/CMakeLists.txt
    A libc/src/errno/program_invocation_name.cpp
    A libc/src/errno/program_invocation_name.h
    A libc/src/errno/program_invocation_short_name.cpp
    A libc/src/errno/program_invocation_short_name.h
    M libc/src/math/nvptx/CMakeLists.txt
    R libc/src/math/nvptx/fmod.cpp
    R libc/src/math/nvptx/fmodf.cpp
    M libc/src/net/CMakeLists.txt
    A libc/src/net/if_freenameindex.h
    A libc/src/net/if_nameindex.h
    M libc/src/net/linux/CMakeLists.txt
    A libc/src/net/linux/if_freenameindex.cpp
    A libc/src/net/linux/if_nameindex.cpp
    A libc/src/net/linux/if_nameindex_impl.h
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_getschedparam.cpp
    A libc/src/pthread/pthread_getschedparam.h
    A libc/src/pthread/pthread_setschedparam.cpp
    A libc/src/pthread/pthread_setschedparam.h
    A libc/src/pwd/CMakeLists.txt
    A libc/src/pwd/pwd_utils.cpp
    A libc/src/pwd/pwd_utils.h
    M libc/src/stdio/generic/fscanf.cpp
    M libc/src/stdio/generic/scanf.cpp
    M libc/src/stdio/generic/vfscanf.cpp
    M libc/src/stdio/generic/vscanf.cpp
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdio/scanf_core/vfscanf_internal.h
    M libc/src/stdio/sscanf.cpp
    M libc/src/stdio/vsscanf.cpp
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/environ_internal.cpp
    M libc/src/stdlib/environ_internal.h
    M libc/src/stdlib/linux/CMakeLists.txt
    A libc/src/stdlib/linux/putenv.cpp
    M libc/src/stdlib/linux/realpath.cpp
    A libc/src/stdlib/putenv.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/statfs/CMakeLists.txt
    A libc/src/sys/statfs/fstatfs.h
    A libc/src/sys/statfs/linux/CMakeLists.txt
    A libc/src/sys/statfs/linux/fstatfs.cpp
    A libc/src/sys/statfs/linux/statfs.cpp
    A libc/src/sys/statfs/statfs.h
    M libc/src/sys/statvfs/linux/CMakeLists.txt
    M libc/src/sys/statvfs/linux/fstatvfs.cpp
    M libc/src/sys/statvfs/linux/statfs_utils.h
    M libc/src/sys/statvfs/linux/statvfs.cpp
    M libc/src/termios/cfgetispeed.h
    M libc/src/termios/cfgetospeed.h
    M libc/src/termios/cfsetispeed.h
    M libc/src/termios/cfsetospeed.h
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/cfgetispeed.cpp
    M libc/src/termios/linux/cfgetospeed.cpp
    M libc/src/termios/linux/cfsetispeed.cpp
    M libc/src/termios/linux/cfsetospeed.cpp
    M libc/src/termios/linux/kernel_termios.h
    A libc/src/termios/linux/speed_utils.h
    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/termios/tcdrain.h
    M libc/src/termios/tcflow.h
    M libc/src/termios/tcflush.h
    M libc/src/termios/tcgetattr.h
    M libc/src/termios/tcgetsid.h
    M libc/src/termios/tcsendbreak.h
    M libc/src/termios/tcsetattr.h
    M libc/src/time/CMakeLists.txt
    A libc/src/time/strptime.cpp
    A libc/src/time/strptime.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/fpathconf.cpp
    M libc/src/unistd/linux/pathconf.cpp
    M libc/src/unistd/linux/pathconf_utils.cpp
    M libc/src/unistd/linux/pathconf_utils.h
    M libc/startup/gpu/CMakeLists.txt
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/do_start.cpp
    M libc/test/IntegrationTest/CMakeLists.txt
    M libc/test/IntegrationTest/test.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/HermeticTestUtils.cpp
    A libc/test/UnitTest/LibcCTest.cpp
    A libc/test/UnitTest/LibcCTest.h
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    R libc/test/UnitTest/PlatformDefs.h
    M libc/test/include/fpclassify_test.c
    M libc/test/include/isfinite_test.c
    M libc/test/include/isinf_test.c
    M libc/test/include/isnan_test.c
    M libc/test/include/isnormal_test.c
    M libc/test/include/issubnormal_test.c
    M libc/test/include/iszero_test.c
    M libc/test/include/math_constants_test.c
    M libc/test/include/signbit_test.c
    M libc/test/include/stdbit_test.c

  Log Message:
  -----------
  fix pattern for xqci to show diff

Created using spr 1.3.8-beta.1-arichardson


Compare: https://github.com/llvm/llvm-project/compare/4469fba54e6d...172bf4615a00

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