[PATCH] Enable vectorization of GEP expressions in SLP
Michael Zolotukhin
mzolotukhin at apple.com
Fri May 30 11:35:58 PDT 2014
Hi,
Currently SLP vectorizer can’t handle GEP expressions, and hence it fails to vectorize the following example:
struct bounds {
int *start;
int *end;
void init(bounds *one) {
start = one->start + 10;
end = one->end + 12;
};
};
Here GEP could be easily vectorized just like a usual add-operation. The attached patch implements it.
With this change performance on SPEC/CFP2006/447.dealII is improved by 2%, while performance of other tests remains unchanged.
Is it ok for trunk?
Thanks,
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140530/03d31631/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slp-vectorize-gep.patch
Type: application/octet-stream
Size: 5692 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140530/03d31631/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140530/03d31631/attachment-0001.html>
More information about the llvm-commits
mailing list