summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-07-02 17:42:29 +0000
committerSanjay Patel <spatel@rotateright.com>2018-07-02 17:42:29 +0000
commitb999d7413298bc8288e7f676b65ba1e74764c578 (patch)
tree939f6e5cac82c2c60d0ef24e3fafe2e5f0ffd29c /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parent4d5b1073ba87f6709112d0d9b5270ee51d3abd54 (diff)
downloadbcm5719-llvm-b999d7413298bc8288e7f676b65ba1e74764c578.tar.gz
bcm5719-llvm-b999d7413298bc8288e7f676b65ba1e74764c578.zip
[InstCombine] reverse canonicalization of add --> or to allow more shuffle folding
This extends D48485 to allow another pair of binops (add/or) to be combined either with or without a leading shuffle: or X, C --> add X, C (when X and C have no common bits set) Here, we need value tracking to determine that the 'or' can be reversed into an 'add', and we've added general infrastructure to allow extending to other opcodes or moving to where other passes could use that functionality. Differential Revision: https://reviews.llvm.org/D48662 llvm-svn: 336128
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud