LLVM/project 7ca3951 — clang/lib/Sema SemaDecl.cpp

fix

Created using spr 1.3.7
DeltaFile
+3-4clang/lib/Sema/SemaDecl.cpp
+3-41 files

LLVM/project bf17b41 — compiler-rt/lib/scudo/standalone/tests combined_test.cpp

[scudo] Add DoubleFreeFromSecondary death test (#242398)

Complement DoubleFreeFromPrimary with a death test verifying that
double-freeing a cached secondary allocation fails with "invalid chunk
state" (or faults under MTE, which marks cached secondary entries
MAP_NOACCESS). Guard the test on configurations with an active secondary
cache, since uncached blocks are unmapped on the first deallocate() and
fault when loading the chunk header instead.

Also remove an unused condition_variable.h include.

Used Gemini to review my change.
DeltaFile
+35-1compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
+35-11 files

LLVM/project df77579 — utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/hdr BUILD.bazel

[bazel] Add subpackages for libc/hdr/... (#242520)

This PR creates subpackages for `libc/hdr/...` as part of
https://github.com/llvm/llvm-project/issues/238076.

The refactor was entirely generated by a one-off tool
[jtstogel/bazel-move-targets](https://github.com/jtstogel/bazel-move-targets)@1e51f7f
(LLM-written), since AFAICT there's no good standard tooling for this
kind of thing.

Generated by:
```
function new-pkg() {
  pkg=$1
  shift

  bazel-move-targets move \
    --workspace_root=utils/bazel/llvm-project-overlay \
    --src_package=libc \

    [9 lines not shown]
DeltaFile
+5-900utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+517-0utils/bazel/llvm-project-overlay/libc/hdr/types/BUILD.bazel
+361-0utils/bazel/llvm-project-overlay/libc/hdr/BUILD.bazel
+150-150utils/bazel/llvm-project-overlay/libc/src/__support/OSUtil/linux/syscall_wrappers/BUILD.bazel
+83-83utils/bazel/llvm-project-overlay/libc/src/__support/math/BUILD.bazel
+76-76utils/bazel/llvm-project-overlay/libc/src/unistd/BUILD.bazel
+1,192-1,20963 files not shown
+1,946-1,90069 files

LLVM/project 1ad9728 — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/SemaHIP builtins-amdgcn-arg-range-templated.hip

clang/AMDGPU: Check constant argument ranges of builtins

These builtins take a constant argument that the IR verifier range
checks on the corresponding intrinsic. Sema didn't enforce this, so
you could write code that failed the IR verifier. Use the new Range
annotation on the builtins to fix this.

This only covers builtins that previously had no range validation at
all. Builtins already checked by the manual switch in SemaAMDGPU will
be converted separately.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+26-26clang/include/clang/Basic/BuiltinsAMDGPU.td
+27-0clang/test/SemaHIP/builtins-amdgcn-arg-range-templated.hip
+23-0clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
+6-0clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
+2-0clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
+84-265 files

LLVM/project b03be1d — llvm/include/llvm/Target Target.td

[nspr] update
DeltaFile
+4-3llvm/include/llvm/Target/Target.td
+4-31 files

LLVM/project 7ef3822 — llvm/docs CodingStandards.md CMake.md

[docs] Use intersphinx for LLVM cross-project links

Configure the LLVM documentation with the external project inventories it
references and replace absolute cross-project documentation URLs with
validated intersphinx document and reference roles.

Part of #214861

LLM-aided
DeltaFile
+18-17llvm/docs/LangRef.md
+6-7llvm/docs/LibFuzzer.md
+5-6llvm/docs/GettingStarted.md
+4-4llvm/docs/AMDGPUUsage.md
+3-4llvm/docs/CodingStandards.md
+3-4llvm/docs/CMake.md
+39-4219 files not shown
+64-7025 files

LLVM/project adbac43 — clang/docs ClangOffloadBundler.md ClangTools.md, clang/include/clang/Basic AttrDocs.td

[docs] Use intersphinx for Clang cross-project links

Configure the Clang documentation with the external project inventories it
references and replace absolute cross-project documentation URLs with
validated intersphinx document and reference roles.

Part of #214861

LLM-aided
DeltaFile
+11-11clang/docs/LanguageExtensions.md
+6-6clang/docs/ThinLTO.md
+6-6clang/docs/InternalsManual.md
+5-6clang/docs/ClangTools.md
+4-5clang/docs/ClangOffloadBundler.md
+4-4clang/include/clang/Basic/AttrDocs.td
+36-3829 files not shown
+78-8335 files

LLVM/project d17863a — .github/workflows docs.yml, llvm/cmake/modules AddSphinxTarget.cmake

[docs] Add a shared intersphinx inventory for LLVM projects

Define the documentation sites of the LLVM subprojects in one place so each
project's Sphinx configuration can resolve cross-project links through
intersphinx instead of absolute URLs. The mapping is not used by any project
yet; follow-up changes adopt it. Document the `inv:` link syntax in the Sphinx
quickstart so authors know how to write these links.

By default the inventories are fetched from the published sites, which keeps
developer builds fast and free of new dependencies. Setting
LLVM_SPHINX_INVENTORY_DIR makes a
build hermetic instead: an `inventory` Sphinx builder writes only `objects.inv`
for each project, and the HTML builds read them all from that directory, so every
link resolves with no network access, including links to labels added by the
same change and circular links. The tools and the runtimes are separate CMake
builds, so the utils/docs/hermetic_build project builds both as ExternalProjects:
first their inventories in parallel, then their docs in parallel. The
documentation CI workflow uses it and always builds all of the docs, because
the projects'"'"' docs now depend on each other.

    [4 lines not shown]
DeltaFile
+165-0utils/docs/llvm_sphinx/ext/inventory.py
+7-150.github/workflows/docs.yml
+100-6llvm/cmake/modules/AddSphinxTarget.cmake
+105-0utils/docs/hermetic_build/CMakeLists.txt
+73-0llvm/docs/SphinxQuickstartTemplate.md
+25-1utils/docs/llvm_sphinx/__init__.py
+475-1576 files not shown
+520-15812 files

LLVM/project e5fc642 — clang/include/clang/DependencyScanning DependencyScanningService.h InProcessModuleCache.h, clang/lib/DependencyScanning InProcessModuleCache.cpp

[clang][deps] Flush the in-process module cache on a background thread

The in-process module cache keeps every PCM built during the lifetime of the
dependency scanning service in memory, and flushes them to disk at the end.
Long-running builds that scan many variants of modules (e.g. with different
search paths or macro definitions) accumulate tens of gigabytes worth of
scanning PCMs this way. Moreover, the final flush is single-threaded and
happens after all scanning work is done.

This PR makes the service start a background thread that flushes each PCM to
disk as soon as it's written, and then replaces its in-memory buffer with the
memory-mapped file. Readers of the in-memory buffer keep it alive on their own
(shared ownership), and importers of the freshly built PCM never wait for the
IO, since the file gets written without holding the entry lock. Reads and
timestamps are still served from memory. The final flush is kept, but only
writes PCMs the background thread failed to write. With
`-no-flush-module-cache`, nothing changes.

I tried several approaches, all measured on a scan of the macOS SDK where

    [52 lines not shown]
DeltaFile
+96-7clang/lib/DependencyScanning/InProcessModuleCache.cpp
+53-0clang/unittests/DependencyScanning/InProcessModuleCacheTest.cpp
+50-0clang/test/ClangScanDeps/module-cache-flush-in-background.c
+38-1clang/include/clang/DependencyScanning/InProcessModuleCache.h
+7-2clang/include/clang/DependencyScanning/DependencyScanningService.h
+2-1clang/test/ClangScanDeps/logging-simple-by-name.c
+246-112 files not shown
+249-138 files

LLVM/project cee5015 — clang/lib/Frontend CompilerInstance.cpp

[clang] Extract built PCMs from their container without copying

When a module is built implicitly, the importing instance extracts the AST
file from the module cache's view of the written PCM and stores a copy of it
in its `InMemoryModuleCache`. That's an extra heap copy of every built PCM,
kept alive for the lifetime of the translation unit.

This PR resolves the FIXME by storing a buffer that keeps the written PCM
alive and exposes just the AST file: the `__clangast` section for PCMs
wrapped in an object file (`-gmodules`), or the whole PCM otherwise. The
in-process module cache now shares the memory of its entry with the
importing instance, and the cross-process module cache gives it the
memory-mapped file.

For a regular implicit modules build importing Foundation and friends, this
reduces peak memory footprint from ~150 MB to ~100 MB. For a TU importing
Foundation with `-gmodules` (31 PCMs), the copy increased the peak memory
footprint by 12-17%.
DeltaFile
+27-7clang/lib/Frontend/CompilerInstance.cpp
+27-71 files

LLVM/project e5d6baa — clang/include/clang/Serialization ModuleCache.h, clang/lib/DependencyScanning InProcessModuleCache.cpp

[clang] Use the module cache's view of built PCMs

When building a module implicitly, the compiler hands the PCM contents to
`ModuleCache::write()` and then extracts the AST file from the PCH container
of its own buffer, storing a copy of it in the `InMemoryModuleCache` of the
importing instance.

This PR makes `ModuleCache::write()` return a buffer with the written
contents, which the importing instance now extracts the AST file from. The
in-process module cache returns a buffer sharing ownership of its entry, the
cross-process module cache returns the written file, read back from the same
file descriptor it was written through (memory-mapped for all but small
files). This is a prerequisite for storing the module cache's view in the
`InMemoryModuleCache` without copying it.

To support this, `writeImpl()` can now read the written file back from the
same file descriptor, guaranteeing we map exactly the contents we wrote and
making it immune to concurrent replacement of the file.


    [4 lines not shown]
DeltaFile
+41-1clang/unittests/DependencyScanning/InProcessModuleCacheTest.cpp
+19-6clang/lib/Serialization/ModuleCache.cpp
+16-5clang/include/clang/Serialization/ModuleCache.h
+9-8clang/lib/DependencyScanning/InProcessModuleCache.cpp
+6-4clang/lib/Frontend/CompilerInstance.cpp
+3-1clang/unittests/Serialization/ModuleCacheTest.cpp
+94-256 files

LLVM/project ef8d86b — clang/include/clang/DependencyScanning InProcessModuleCache.h, clang/lib/DependencyScanning InProcessModuleCache.cpp

[clang][deps] Share ownership of buffers in the in-process module cache (#242382)

Previously, `InProcessModuleCache::read()` returned non-owning
references
to buffers stored in the cache entry. Since other threads may be reading
an entry while it gets written, the entry had to keep the buffer it read
from disk alive alongside the written buffer for the lifetime of the
service. This happens whenever a PCM read from disk turns out to be out
of
date and gets rebuilt.

This PR stores a single buffer with shared ownership in the entry and
makes `read()` return a buffer that keeps the contents alive. Writing to
the entry now simply replaces the buffer, and the previous one gets
released
once the last reader is done with it. This is a prerequisite for
evicting
buffers from memory.


    [9 lines not shown]
DeltaFile
+31-15clang/lib/DependencyScanning/InProcessModuleCache.cpp
+4-4clang/include/clang/DependencyScanning/InProcessModuleCache.h
+35-192 files

LLVM/project 0e89f40 — utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/hdr BUILD.bazel

[bazel] Add subpackage for libc/hdr
DeltaFile
+361-0utils/bazel/llvm-project-overlay/libc/hdr/BUILD.bazel
+5-350utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+83-83utils/bazel/llvm-project-overlay/libc/src/__support/math/BUILD.bazel
+39-39utils/bazel/llvm-project-overlay/libc/src/unistd/BUILD.bazel
+33-33utils/bazel/llvm-project-overlay/libc/src/__support/OSUtil/linux/syscall_wrappers/BUILD.bazel
+25-25utils/bazel/llvm-project-overlay/libc/src/__support/FPUtil/BUILD.bazel
+546-53053 files not shown
+856-84059 files

LLVM/project 899c36f — utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/hdr/func BUILD.bazel

[bazel] Add subpackage for libc/hdr/func
DeltaFile
+63-0utils/bazel/llvm-project-overlay/libc/hdr/func/BUILD.bazel
+0-49utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+8-8utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
+6-6utils/bazel/llvm-project-overlay/libc/src/__support/CPP/BUILD.bazel
+5-5utils/bazel/llvm-project-overlay/libc/src/__support/File/BUILD.bazel
+5-5utils/bazel/llvm-project-overlay/libc/src/__support/BUILD.bazel
+87-732 files not shown
+94-808 files

LLVM/project ec54638 — utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/hdr/types BUILD.bazel

[bazel] Add subpackage for libc/hdr/types
DeltaFile
+517-0utils/bazel/llvm-project-overlay/libc/hdr/types/BUILD.bazel
+3-504utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+117-117utils/bazel/llvm-project-overlay/libc/src/__support/OSUtil/linux/syscall_wrappers/BUILD.bazel
+47-47utils/bazel/llvm-project-overlay/libc/src/wchar/BUILD.bazel
+37-37utils/bazel/llvm-project-overlay/libc/src/unistd/BUILD.bazel
+35-35utils/bazel/llvm-project-overlay/libc/src/sys/socket/BUILD.bazel
+756-74042 files not shown
+1,027-1,01148 files

LLVM/project d88f789 — lldb/include/lldb/Host HostInfoBase.h, lldb/source/Plugins/ObjectFile/Mach-O ObjectFileMachO.cpp

[lldb] Use the indexed host shared cache for symbolication (#194998)

Add HostInfo::WithSharedCacheImage to look up a dyld shared cache image
directly by UUID, replacing the expensive repeated loading of the SC in
ObjectFileMachO's symbol table parsing. The new API takes a callback
that receives the retained image handle, ensuring it remains valid for
the duration of the call.
DeltaFile
+69-55lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+1-0lldb/include/lldb/Host/HostInfoBase.h
+70-552 files

LLVM/project 09f1906 — llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/InstSimplify fp-undef-poison-strictfp.ll fold-intrinsics.ll

[ValueTracking] Propagate poison through lround and llround (#242066)

`llvm.lround` and `llvm.llround` (along with their constrained FP
variants) have the same poison-propagation semantics as `llvm.lrint` and
`llvm.llrint`. Add them to `intrinsicPropagatesPoison` so
`propagatesPoison` and `InstSimplify` fold poison inputs to poison.

Gemini was used to help generate this change and its tests.
DeltaFile
+40-0llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
+34-0llvm/test/Transforms/InstSimplify/fp-undef-poison-strictfp.ll
+2-2llvm/unittests/Analysis/ValueTrackingTest.cpp
+4-0llvm/lib/Analysis/ValueTracking.cpp
+80-24 files

LLVM/project c95c681 — llvm/lib/Transforms/Vectorize VPlanUtils.cpp LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize outer-loop-bitinsert-bitextract.ll bitinsert-bitextract.ll

[LV] Widen `bitinsert` and `bitextract`
DeltaFile
+782-0llvm/test/Transforms/LoopVectorize/bitinsert-bitextract.ll
+337-0llvm/test/Transforms/LoopVectorize/X86/bitinsert-bitextract-cost.ll
+174-0llvm/test/Transforms/LoopVectorize/outer-loop-bitinsert-bitextract.ll
+42-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+4-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+1,341-16 files

LLVM/project f9a37d7 — llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlan.h

[VPlan] Share the result-type helper of `VPReplicateRecipe` with `VPWidenRecipe` (NFC)
DeltaFile
+28-20llvm/lib/Transforms/Vectorize/VPlan.h
+2-2llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+30-222 files

LLVM/project 5e87197 — llvm/lib/Target/Hexagon HexagonQFPOptimizer.cpp

Hexagon: Remove dead kill flag maintenance in HexagonQFPOptimizer (#239775)

The operands are virtual registers, which can no longer carry kill flags.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+9-28llvm/lib/Target/Hexagon/HexagonQFPOptimizer.cpp
+9-281 files

LLVM/project ccf7d3e — llvm/include/llvm/CodeGen BasicTTIImpl.h, llvm/lib/Analysis TargetTransformInfo.cpp

[TTI] Cost `bitinsert` and `bitextract` by their lowering
DeltaFile
+84-84llvm/test/Analysis/CostModel/X86/bitinsert.ll
+52-52llvm/test/Analysis/CostModel/X86/bitextract.ll
+63-0llvm/include/llvm/CodeGen/BasicTTIImpl.h
+21-21llvm/test/Analysis/CostModel/AArch64/bitinsert.ll
+13-13llvm/test/Analysis/CostModel/AArch64/bitextract.ll
+20-0llvm/lib/Analysis/TargetTransformInfo.cpp
+253-1704 files not shown
+292-17910 files

LLVM/project fd3e831 — llvm/test/Analysis/CostModel/AArch64 sve-bitextract.ll sve-bitinsert.ll, llvm/test/Analysis/CostModel/X86 bitinsert.ll bitextract.ll

[TTI] Pre-commit tests for `bitinsert` and `bitextract` costs
DeltaFile
+136-0llvm/test/Analysis/CostModel/X86/bitinsert.ll
+136-0llvm/test/Analysis/CostModel/X86/bitextract.ll
+55-0llvm/test/Analysis/CostModel/AArch64/bitextract.ll
+55-0llvm/test/Analysis/CostModel/AArch64/bitinsert.ll
+27-0llvm/test/Analysis/CostModel/AArch64/sve-bitextract.ll
+27-0llvm/test/Analysis/CostModel/AArch64/sve-bitinsert.ll
+436-06 files

LLVM/project 3f86ba2 — utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/src/stdio BUILD.bazel

[bazel] Add subpackages for libc/src/... (#242489)

This PR creates subpackages for `libc/src/...` as part of
https://github.com/llvm/llvm-project/issues/238076.

`alias` targets are left for compatibility so that downstream targets do
not need to be updated in lock step w/ this PR.

The refactor was almost entirely generated by a one-off tool
[jtstogel/bazel-move-targets](https://github.com/jtstogel/bazel-move-targets)@1e51f7f
(LLM-written), since I couldn't find any standard tooling for this kind
of thing.

Generated with commands:
```
function new-pkg() {
  pkg=$1
  shift


    [52 lines not shown]
DeltaFile
+633-3,958utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+704-0utils/bazel/llvm-project-overlay/libc/src/unistd/BUILD.bazel
+560-0utils/bazel/llvm-project-overlay/libc/src/stdio/BUILD.bazel
+544-0utils/bazel/llvm-project-overlay/libc/src/stdlib/BUILD.bazel
+475-0utils/bazel/llvm-project-overlay/libc/src/string/BUILD.bazel
+377-0utils/bazel/llvm-project-overlay/libc/src/sys/mman/BUILD.bazel
+3,293-3,95857 files not shown
+6,554-4,47763 files

LLVM/project 9b7f463 — utils/bazel/llvm-project-overlay/libc libc_build_rules.bzl BUILD.bazel, utils/bazel/llvm-project-overlay/libc/src/math BUILD.bazel

[bazel] Add subpackage for libc/src/math (#242430)

Part of https://github.com/llvm/llvm-project/issues/238076.
DeltaFile
+534-3,660utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+3,674-0utils/bazel/llvm-project-overlay/libc/src/math/BUILD.bazel
+2-2utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
+4,210-3,6623 files

LLVM/project 2070dff — utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/src/stdbit BUILD.bazel

[bazel] Add subpackage for libc/src/stdbit (#242428)

Part of https://github.com/llvm/llvm-project/issues/238076.
DeltaFile
+72-0utils/bazel/llvm-project-overlay/libc/src/stdbit/BUILD.bazel
+14-38utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+86-382 files

LLVM/project 99a2601 — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

substitute is const
DeltaFile
+4-4llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+4-41 files

LLVM/project cdab05b — llvm/lib/Target/AMDGPU SIPreEmitPeephole.cpp, llvm/test/CodeGen/AMDGPU gfx9-cross-wave-valu-coexec-opt.ll gfx9-cross-wave-valu-coexec-opt-gfx942.mir

[AMDGPU] Insert s_nop 0 for cross-wave VALU co-execution on gfx942/gfx950

On subtargets with FeatureGFX9CrossWaveVALUCoexecution, a SIMD can
co-issue VALUs of two waves, depending on both VALUs. While an older
wave issues a sequence of VALUs, a younger wave's VALU that cannot
be co-issued with them stalls, and so do the VALUs that follow it.
Inserting s_nop 0 in the older wave lets the younger wave issue that
VALU.

SIPreEmitPeephole now inserts s_nop 0 where this lets the younger wave
co-issue a sequence of VALUs. It does so only in small loops that
consist mostly of such VALUs, outside MFMA shadows, and when the
occupancy is not known to be 1.

-amdgpu-gfx9-cross-wave-valu-coexec-opt-threshold=0 disables the
transformation.

Assisted-by: Claude Opus 5.5
DeltaFile
+958-0llvm/test/CodeGen/AMDGPU/gfx9-cross-wave-valu-coexec-opt-loop.mir
+709-0llvm/test/CodeGen/AMDGPU/gfx9-cross-wave-valu-coexec-opt.mir
+576-0llvm/test/CodeGen/AMDGPU/gfx9-cross-wave-valu-coexec-opt-valu-seq.mir
+349-0llvm/test/CodeGen/AMDGPU/gfx9-cross-wave-valu-coexec-opt-gfx942.mir
+289-0llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
+139-0llvm/test/CodeGen/AMDGPU/gfx9-cross-wave-valu-coexec-opt.ll
+3,020-010 files not shown
+3,333-116 files

LLVM/project a72b759 — llvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.h SystemZHLASMAsmStreamer.cpp, llvm/test/CodeGen/SystemZ zos-ppa2.ll zos-hlasm-dc-xl.ll

[SystenZ][z/OS] Beautify HLASM output

Instructions are currently indented by 2 spaces, which makes the output
hard to read. This changes increases the indentation to 10, which improves
the readability. The indent is now controlled by a constant instead of
hard-coded spaces.
DeltaFile
+56-56llvm/test/CodeGen/SystemZ/zos-hlasm-dc-xl.ll
+12-8llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+5-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+2-1llvm/test/CodeGen/SystemZ/zos-ppa2.ll
+75-654 files

LLVM/project 96a1e70 — clang/docs ReleaseNotes.md, clang/lib/AST VTableBuilder.cpp

Fix incorrect `this` alignment in virtual function thunks. (#242501)

In a few different places we were incorrectly computing the alignment of
`this` when emitting thunks for virtual function calls, generally by
picking up information from the derived type's this pointer, which in
general might be more aligned than the this pointer that a thunk
actually sees.

Assisted-by: Antigravity with Gemini and Claude
DeltaFile
+63-0clang/test/CodeGenCXX/thunks.cpp
+13-1clang/lib/CodeGen/CGVTables.cpp
+5-2clang/lib/AST/VTableBuilder.cpp
+3-0clang/docs/ReleaseNotes.md
+84-34 files

LLVM/project 47c59a6 — llvm/lib/Transforms/Vectorize VPlanUtils.cpp LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize outer-loop-bitinsert-bitextract.ll bitinsert-bitextract.ll

[LV] Widen `bitinsert` and `bitextract`
DeltaFile
+782-0llvm/test/Transforms/LoopVectorize/bitinsert-bitextract.ll
+337-0llvm/test/Transforms/LoopVectorize/X86/bitinsert-bitextract-cost.ll
+182-0llvm/test/Transforms/LoopVectorize/outer-loop-bitinsert-bitextract.ll
+42-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+4-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+1,349-16 files