[all-commits] [llvm/llvm-project] f44480: [InstCombine] try to reduce shuffle with bitcasted...

RotateRight via All-commits all-commits at lists.llvm.org
Thu Apr 2 10:50:09 PDT 2020


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

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

  Log Message:
  -----------
  [InstCombine] try to reduce shuffle with bitcasted operand

shuf (bitcast X), undef, Mask --> bitcast X'

The 'inverse shuffles' test (shuf_bitcast_operand) is a pattern
in the motivating examples from PR35454:
https://bugs.llvm.org/show_bug.cgi?id=35454
(see also D76727)

We can deal with this class of patterns in generic instcombine
because we are not creating any new shuffles, just a bitcast.

Alive2 proof:
http://volta.cs.utah.edu:8080/z/mwDUZf

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




More information about the All-commits mailing list