[PATCH] D135876: [InstCombine] Remove redundant splats in InstCombineVectorOps

Matt Devereau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 28 09:13:37 PDT 2022


MattDevereau updated this revision to Diff 471576.
MattDevereau added a comment.

Precommited tests to `llvm/test/Transforms/InstCombine/shuffle-binop.ll`

Fixed up broken match logic in `simplifyBinOpSplats`.
Added a type equality comparision between BinOp operands for the case where a shuffle changes a vector's length
Added fast-math flag if the BinOP is an `FPMathOperator`
Added test `splat_binop_non_splat_x` to check non-splat inputs do not get simplified.
Added test `non_splat_binop_splat_x` to check non-splat outputs do not get simplified.
Added test `splat_binop_splat_changes_x_length` to check inputs that reduce their length do not get simplified.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135876/new/

https://reviews.llvm.org/D135876

Files:
  llvm/lib/Transforms/InstCombine/InstCombineInternal.h
  llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  llvm/test/Transforms/InstCombine/shuffle-binop.ll
  llvm/test/Transforms/VectorCombine/AArch64/insert-shuffle-binop.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135876.471576.patch
Type: text/x-patch
Size: 25631 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221028/2c7c3f24/attachment.bin>


More information about the llvm-commits mailing list