llvm-project/llvm/test/Transforms/PhaseOrdering
Sanjay Patel bef6e67e95 [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
2020-04-19 08:24:38 -04:00
..
X86 [VectorCombine] transform bitcasted shuffle to wider elements 2020-04-19 08:24:38 -04:00
2010-03-22-empty-baseclass.ll
PR6627.ll
basic.ll
bitfield-bittests.ll
gdce.ll
globalaa-retained.ll
lifetime-sanitizer.ll Add PhaseOrdering/lifetime-sanitizer.ll tests 2019-08-27 00:18:28 +00:00
min-max-abs-cse.ll [EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083) 2020-02-10 17:25:34 -05:00
minmax.ll [InstCombine] add tests for cmyk benchmark; NFC 2020-04-02 13:00:46 -04:00
reassociate-after-unroll.ll [InstComine] Forego of one-use check in `(X - (X & Y)) --> (X & ~Y)` if Y is a constant 2020-03-06 21:39:07 +03:00
rotate.ll
scev-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
scev.ll
simplifycfg-options.ll Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
two-shifts-by-sext.ll Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."" 2019-11-26 20:28:52 -08:00
unsigned-multiply-overflow-check.ll [InstSimplify] Drop leftover "division-by-zero guard" around `@llvm.umul.with.overflow` inverted overflow bit 2019-08-29 12:48:04 +00:00
vector-trunc.ll [InstCombine] convert bitcast-shuffle to vector trunc 2020-04-05 09:48:02 -04:00