[all-commits] [llvm/llvm-project] 28b412: [InterleaveAccessPass] Handle multi-use binop shuf...

David Green via All-commits all-commits at lists.llvm.org
Sun Jul 10 09:24:50 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 28b41237e6b296bf777d2f0c13c48031525fcdc4
      https://github.com/llvm/llvm-project/commit/28b41237e6b296bf777d2f0c13c48031525fcdc4
  Author: David Green <david.green at arm.com>
  Date:   2022-07-10 (Sun, 10 Jul 2022)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
    M llvm/test/CodeGen/Thumb2/mve-vldshuffle.ll

  Log Message:
  -----------
  [InterleaveAccessPass] Handle multi-use binop shuffles

D89489 added some logic to the interleaved access pass to attempt to
undo the folding of shuffles into binops, that instcombine performs. If
early-cse is run too, the binops may be commoned into a single operation
with multiple shuffle uses. It is still profitable reverse the transform
though, so long as all the uses are shuffles.

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




More information about the All-commits mailing list