[llvm] r210342 - [SLP] Enable vectorization of GEP expressions.

Michael Zolotukhin mzolotukhin at apple.com
Wed Aug 27 05:55:59 PDT 2014


Hi,

I've just found the rootcause, here is an updated patch:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SLP-gep-vect.patch
Type: application/octet-stream
Size: 6499 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140827/b8cd16f4/attachment.obj>
-------------- next part --------------


In short, the problem was that result of GEP-instruction was used in two places: following ptrtoint-cast and store. After all these values were vectorized, store continued to use non-vectorized value of the GEP-instruction which is to be removed after vectorization. That naturally led us to crash. I fixed that by checking if GEP-value that we want to vectorize has only one use.

Ok to commit?

Thanks,
Michael

On Aug 26, 2014, at 11:24 PM, Joerg Sonnenberger <joerg at britannica.bec.de> wrote:

> On Fri, Jun 06, 2014 at 03:34:25PM -0000, Michael Zolotukhin wrote:
>> Author: mzolotukhin
>> Date: Fri Jun  6 10:34:24 2014
>> New Revision: 210342
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=210342&view=rev
>> Log:
>> [SLP] Enable vectorization of GEP expressions.
>> 
>> The use cases look like the following:
>>    x->a = y->a + 10
>>    x->b = y->b + 12
> 
> Reverted in 216475.
> 
> Joerg
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list