[all-commits] [llvm/llvm-project] bef6e6: [VectorCombine] transform bitcasted shuffle to wid...

RotateRight via All-commits all-commits at lists.llvm.org
Sun Apr 19 05:25:02 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bef6e67e95fb39a8c0558624e9eeed0edc2f50e4
      https://github.com/llvm/llvm-project/commit/bef6e67e95fb39a8c0558624e9eeed0edc2f50e4
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-04-19 (Sun, 19 Apr 2020)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle.ll

  Log Message:
  -----------
  [VectorCombine] transform bitcasted shuffle to wider elements

bitcast (shuf V, MaskC) --> shuf (bitcast V), MaskC'

This is the widen shuffle elements enhancement to D76727.
It builds on the analysis and simplifications in
D77881 and rG6a7e958a423e.

The phase ordering tests show that we can simplify inverse
shuffles across a binop in both directions (widen/narrow or
narrow/widen) now.

There's another potential transform visible in some of the
remaining TODOs - move a bitcasted operand of a shuffle
after the shuffle.

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




More information about the All-commits mailing list