[all-commits] [llvm/llvm-project] 70eed3: [InstCombine] Do not combine shuffle+bitcast if th...

Ricardo Jesus via All-commits all-commits at lists.llvm.org
Fri May 9 13:31:52 PDT 2025


  Branch: refs/heads/release/20.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 70eed33971d9b83fe81d837588dba64a6413b015
      https://github.com/llvm/llvm-project/commit/70eed33971d9b83fe81d837588dba64a6413b015
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-05-09 (Fri, 09 May 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll

  Log Message:
  -----------
  [InstCombine] Do not combine shuffle+bitcast if the bitcast is eliminable. (#135769)

If we are attempting to combine shuffle+bitcast but the bitcast is
pairable with a subsequent bitcast, we should not fold the shuffle as
doing so can block further simplifications.

The motivation for this is a long-standing regression affecting SIMDe on
AArch64, introduced indirectly by the AlwaysInliner (1a2e77cf). Some
reproducers:
* https://godbolt.org/z/53qx18s6M
* https://godbolt.org/z/o5e43h5M7

(cherry picked from commit c91c3f930cfc75eb4e8b623ecd59c807863aa6c0)



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