[all-commits] [llvm/llvm-project] 7b6fae: [InterleaveAccess] Check that binop shuffles have ...

David Green via All-commits all-commits at lists.llvm.org
Fri Mar 31 07:38:42 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7b6fae42f7046d27218d724892963377b2acfd45
  Author: David Green <david.green at arm.com>
  Date:   2023-03-31 (Fri, 31 Mar 2023)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/test/Transforms/InterleavedAccess/AArch64/binopshuffles.ll

  Log Message:
  [InterleaveAccess] Check that binop shuffles have an undef second operand

It is expected that shuffles that we hoist through binops only have a single
vector operand, the other being undef/poison. The checks for
isDeInterleaveMaskOfFactor check that all the elements come from inside the
first vector, but with non-canonical shuffles the second operand could still
have a value. Add a quick check to make sure it is UndefValue as expected, to
make sure we don't run into problems with BinOpShuffles not using BinOps.

Fixes #61749

Differential Revision: https://reviews.llvm.org/D147306

More information about the All-commits mailing list