[PATCH] D57247: Simply operands of masked stores and scatters based on demanded elements
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 25 09:47:16 PST 2019
reames created this revision.
reames added reviewers: spatel, craig.topper, RKSimon.
Herald added subscribers: bollu, mcrosier.
If we know we're not storing a lane, we don't need to compute the lane. This could be improved by using the undef element result to further prune the mask, but I want to separate that into its own change since it's relatively likely to expose other problems.
Question for reviewer: Surely there's a better way to go from an <N x i1> mask to the demanded elements bits? One that works for more than just constant masks?
In the same spirit as https://reviews.llvm.org/D57177. Once these two are in, will extend to gather and masked.load. This is in the broader context of improving vector pointer instcombine under https://reviews.llvm.org/D57140.
https://reviews.llvm.org/D57247
Files:
include/llvm/Analysis/VectorUtils.h
lib/Analysis/VectorUtils.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
lib/Transforms/InstCombine/InstCombineInternal.h
test/Transforms/InstCombine/masked_intrinsics.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57247.183565.patch
Type: text/x-patch
Size: 7795 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190125/4d187950/attachment.bin>
More information about the llvm-commits
mailing list