[PATCH] Extend SLPVectorizer for cases where insertelement instructions must be rescheduled

Arnold Schwaighofer aschwaighofer at apple.com
Thu Mar 27 21:55:46 PDT 2014

How about we simplify the logic in BoUpSLP by sinking the logic for handling the “BuildVector” into the SLPVectorizer like in the attached patch?

This reduces the interface of BoUpSLP to just a “UserIgnoreList” that is used when checking scheduling and generation of extracts for out of tree users.

Nadav, is this in the spirit of what you meant today?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-SLPVectorizer-Ignore-users-that-are-insertelements-w.patch
Type: application/octet-stream
Size: 10768 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140327/176478f2/attachment.obj>
-------------- next part --------------

On Mar 27, 2014, at 10:38 AM, Arch D. Robison <arch.robison at intel.com> wrote:

>  Thanks for the suggestions.  the find-->count change will eliminate the long line issue :-)
>  I didn't understand the suggestion of changing:
>      IE->removeFromParent();
>      IE->insertAfter(x);`
>  to:
>      IE->moveBefore(x)
>  Aren't these different?  I couldn't find a "moveAfter" method.
> http://llvm-reviews.chandlerc.com/D3143

More information about the llvm-commits mailing list