[all-commits] [llvm/llvm-project] 7ba877: [VPlan] Add matcher for canonical VPWidenIntOrFpIn...

Ryotaro Kasuga via All-commits all-commits at lists.llvm.org
Mon May 25 17:49:27 PDT 2026


  Branch: refs/heads/users/kasuga-fj/da-consolidate-acc-gcd
  Home:   https://github.com/llvm/llvm-project
  Commit: 7ba877e9ce07572a2f6e0857e9083889d77a91fa
      https://github.com/llvm/llvm-project/commit/7ba877e9ce07572a2f6e0857e9083889d77a91fa
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [VPlan] Add matcher for canonical VPWidenIntOrFpInductionRecipe (NFC). (#199539)

Add matcher for canonical VPWidenIntOrFpInductionRecipe to simplify some
matching.


  Commit: c10922a6ca6a2de54653cceafcd4fb276039ae26
      https://github.com/llvm/llvm-project/commit/c10922a6ca6a2de54653cceafcd4fb276039ae26
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes af92edf (#199515)

This fixes af92edf8b3aa4104992de9fe08ce2170d14bc28d.

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


  Commit: 5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
      https://github.com/llvm/llvm-project/commit/5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
  Author: David Salinas <dsalinas at amd.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    A clang/test/Driver/clang-offload-bundler-multi-compress.c

  Log Message:
  -----------
  clang-offload-bundler incorrectly errors on multi-CCOB binaries (#182579)

Issue: https://github.com/ROCm/llvm-project/issues/448

Objects can have multiple Clang Compressed Offload Bundles (CCOB) in the
.hip_fatbin section. This happens when there are multiple
translation/compilation units built and then linked together into an
Archive or Shared Object. The resulting .hip_fatbin section will have
multiple offload bundles delimited by the magic string "CCOB" (on a 4k
alignment boundary). The Clang Offload bundler API, when a List of
bundle entries is requested, was not properly iterating (looping) over
each separate bundle.

REPRODUCTION
Test File: librocblas.so.5 from ROCm 6.x distribution
.hip_fatbin section: 8,163,887 bytes containing 64 concatenated CCOBs

Extract the .hip_fatbin section with:
objcopy --dump-section .hip_fatbin=fatbin.bin binary


Structure:
Offset 0x0: CCOB header + 1.16 MB compressed (→ 12.41 MB uncompressed)
Offset 0x129000: CCOB header + 1.01 MB compressed (→ 13.14 MB
uncompressed)
Offset 0x227000: CCOB header + 36.5 KB compressed (→ 1.21 MB
uncompressed)
... (61 more bundles)

Command:
$ clang-offload-bundler --type=o --input=librocblas.so.5 --list

Error:
clang-offload-bundler: error: Failed to decompress input: Could not
decompress embedded file contents: Src size is incorrect

Expected:
Should list all target triples in the bundle, or at minimum process
the first bundle without error.


  Commit: d5f223da95da701f03cab10626d2a6d518e03737
      https://github.com/llvm/llvm-project/commit/d5f223da95da701f03cab10626d2a6d518e03737
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll

  Log Message:
  -----------
  [SLP] Enable widening strided revectorization of vector stores (#198920)

This commit adds support for re-vectorization of vector stores into
widened strided stores. That is:
```
%p1 = getelementptr i16, ptr %p0, i64 16
store <4 x i16> zeroinitializer, ptr %p1, align 2
store <4 x i16> zeroinitializer, ptr %p0, align 2
```
can be further vectorized to:
```
call void @llvm.experimental.vp.strided.store.v2i64.p0.i64(<2 x i64> zeroinitializer, ptr align 2 %p0, i64 32, <2 x i1> splat (i1 true), i32 2)
```


  Commit: f6e4e71fcdbff98cb060f87695c75f00b43bf918
      https://github.com/llvm/llvm-project/commit/f6e4e71fcdbff98cb060f87695c75f00b43bf918
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll

  Log Message:
  -----------
  Reapply "[LV] Handle chained selects/blends when creating new rdx cha… (#199559)

This reverts commit ab1745439c7019d0753afc616c5fc5aef7b82fb6 & reapplies
#199443.

Recommit with additional additional fix to handle other select-like
recipes including VPWidenRecipe and VPReplicateRecipe.

Original message:
Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.

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


  Commit: 192ea327028d1e8ad37413ebf26ee0da40a4b0fc
      https://github.com/llvm/llvm-project/commit/192ea327028d1e8ad37413ebf26ee0da40a4b0fc
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp

  Log Message:
  -----------
  [ObjectYAML] Fix `DXContainerYAML::fromDXContainer` return value (#199534)


  Commit: 9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
      https://github.com/llvm/llvm-project/commit/9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [VPlan] Collect unit-stride predicates for making vector decisions. (#199568)

Split-off from approved https://github.com/llvm/llvm-project/pull/197276
to land separately.

Collect all unit-stride predicates once, up-front, ensuring that cost
decisions have predicates available, independent of processing order.


  Commit: 3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
      https://github.com/llvm/llvm-project/commit/3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
    R llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll

  Log Message:
  -----------
  [LV] Move constant folding test to VPlan (NFC). (#198407)

Check VPlan print for constant folding test. This makes it more robust
w.r.t. to future cost-modeling changes.


  Commit: 3aa9ae2da352db6f5822fdc91a170db5e496be32
      https://github.com/llvm/llvm-project/commit/3aa9ae2da352db6f5822fdc91a170db5e496be32
  Author: Elio <xiongzile at bytedance.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll

  Log Message:
  -----------
  [VPlan] Collect FOR PHIs before sinking/hoisting recurrence users (#194671)

Avoid iterating over HeaderVPBB->phis() while potentially mutating the
underlying VPBasicBlock. Collect all VPFirstOrderRecurrencePHIRecipe
instances first, then process them in a separate loop.

This prevents iterator invalidation when sinking or hoisting recurrence
users, and makes the transformation more robust.

Fixes: https://github.com/llvm/llvm-project/issues/194618
Fixes https://github.com/llvm/llvm-project/issues/198589

---------

Co-authored-by: Zile Xiong <xiongzile99 at gmail.com>


  Commit: d0646cbe307dd2bd10686f923061a7d981263e40
      https://github.com/llvm/llvm-project/commit/d0646cbe307dd2bd10686f923061a7d981263e40
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Fix false negative for GSL Owner methods inherited from a non-Owner base (#197864)

- Take the implicit object's actual type (e.g., the type before any
`DerivedToBase` cast) into account when checking for GSL Owner. Other
`isGslOwnerType` call sites with the same pattern (e.g.,
`isGslOwnerType(MCE->getImplicitObjectArgument()->getType())` in
`VisitCXXMemberCallExpr`) lack a real-world trigger today and are
deferred to a follow-up.
- Unify the GSL Owner checks inside `shouldTrackImplicitObjectArg` so
they share a single source of truth.

Fixes: #188832


  Commit: 2cad228d3863f6a70b33625a1c967066207e34ab
      https://github.com/llvm/llvm-project/commit/2cad228d3863f6a70b33625a1c967066207e34ab
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp

  Log Message:
  -----------
  [polly] Simplify with DenseMap::remove_if. NFC (#199577)

In preparation for DenseMap change that relocates surviving entries on
erase.


  Commit: a725adb96bf75764ad9043099935d1b5d16ef152
      https://github.com/llvm/llvm-project/commit/a725adb96bf75764ad9043099935d1b5d16ef152
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [Docs] Update LLVM_USE_SANITIZER list (#199580)

HWAddress and Leaks are valid options that were not present in the
documentation.


  Commit: 1ed7260974d49760ec96ff224d2ff710764af8bf
      https://github.com/llvm/llvm-project/commit/1ed7260974d49760ec96ff224d2ff710764af8bf
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp

  Log Message:
  -----------
  [NVPTX] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199575)

GenericToNVVM erases entries from GVMap while iterating it. In
preparation for DenseMap change that relocates surviving entries on
erase, snapshot the map and erase by key.


  Commit: ff2eac10dbc1c1d888ac2dee4798bc54db672417
      https://github.com/llvm/llvm-project/commit/ff2eac10dbc1c1d888ac2dee4798bc54db672417
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp

  Log Message:
  -----------
  [Hexagon] Simplify with DenseMap::remove_if. NFC (#199576)


  Commit: 884e828617bf512a992723bd70dc108deb775753
      https://github.com/llvm/llvm-project/commit/884e828617bf512a992723bd70dc108deb775753
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [AMDGPU] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199578)

In preparation for DenseMap change that relocates surviving entries on
erase, replace erase-while-iterating with remove_if.


  Commit: 01ce8d6763712261b9333855f10e9d2fe3342d86
      https://github.com/llvm/llvm-project/commit/01ce8d6763712261b9333855f10e9d2fe3342d86
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/test/tools/llvm-profdata/sample-nametable.test

  Log Message:
  -----------
  [ProfData] Remove HWAsan exclusion (#199582)

This passes locally for me with HWAsan enabled on a AArch64 machine, so
it seems like this might have been fixed since adding the opt-out.


  Commit: 0b6a1ef4297bb839fe26041602d32411358e0032
      https://github.com/llvm/llvm-project/commit/0b6a1ef4297bb839fe26041602d32411358e0032
  Author: Miro Hrončok <miro at hroncok.cz>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
    M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py

  Log Message:
  -----------
  [lit] Normalize RLIM_INFINITY to "infinity" in print_limits.py for Python 3.15+ (#190953)

Python 3.15 changed resource.getrlimit() to return the platform's
maximum value (e.g., 18446744073709551615 on 64-bit systems) instead of
-1 for RLIM_INFINITY. This breaks lit tests that expect -1 for unlimited
resource limits.

This patch normalizes the return value to "infinity" when it equals
RLIM_INFINITY to maintain compatibility with existing tests across all
Python versions.

Fixes test failure: shtest-ulimit-nondarwin.py
Expected: RLIMIT_FSIZE=-1
Got: RLIMIT_FSIZE=18446744073709551615

Reference:
https://github.com/python/cpython/commit/0324c726dea702282a0300225e989b19ae23b759
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=2448969

Analysis and testing assisted by AI.

Assisted-by: Claude Sonnet 4.5

---------

Co-authored-by: Alexander Richardson <mail at alexrichardson.me>
Co-authored-by: Tulio Magno Quites Machado Filho <tuliom at quites.com.br>


  Commit: 269719b1f63c68fffbca43f54cebaad23cf0246a
      https://github.com/llvm/llvm-project/commit/269719b1f63c68fffbca43f54cebaad23cf0246a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M compiler-rt/include/sanitizer/common_interface_defs.h
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_errors.h
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_report.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
    R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][ASan] Add function copying annotations (#91702)" (#194204)

This reverts commit c76045d9bf3bd1c7a381dc85d1db63a38fd69aa4.

It does not look like this has been used anywhere since it was
implemented. I see no uses of it in LLVM, anywhere in our internal
monorepo, or across the entirety of Github outside of other copies of
LLVM tests. Given that, remove it. The intended use case around SSO ASan
string annotations is also likely to be significantly reworked soon.


  Commit: 97e7ee26b2b3ea695c1966498ee572acd1e40418
      https://github.com/llvm/llvm-project/commit/97e7ee26b2b3ea695c1966498ee572acd1e40418
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/ProfileData/InstrProf.cpp
    A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
    A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll

  Log Message:
  -----------
  [InstrProf] Do not emit metadata for zero values with zero counts (#199380)

If we have a indirect call site with a profile that has VP information
for said callsite that only contains zero values with zero counts, we
would start to emit invalid profile information after
1d146967d51ba76b8379d9e12961aa23e5745701. VP metadata in this case is at
best redundant with BFI. So we restrict metadata emission to only if we
have a sufficient number of values for the VP metadata to be valid.


  Commit: fb35b3e102cc11713cfc8d560a1da686c5052ce4
      https://github.com/llvm/llvm-project/commit/fb35b3e102cc11713cfc8d560a1da686c5052ce4
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    A clang/test/Driver/clang-offload-bundler-multi-compress.c
    M clang/test/Sema/warn-lifetime-safety.cpp
    M compiler-rt/include/sanitizer/common_interface_defs.h
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_errors.h
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_report.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
    R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
    M llvm/docs/CMake.rst
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
    R llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
    A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
    A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
    M llvm/test/tools/llvm-profdata/sample-nametable.test
    M llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
    M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/kasuga-fj/da-consolidate-acc-gcd


Compare: https://github.com/llvm/llvm-project/compare/9b64fa904de3...fb35b3e102cc

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