[llvm] r205965 - Reapply "SLPVectorizer: Ignore users that are insertelements we can reschedule them"

arnold aschwaighofer at apple.com
Thu May 1 07:42:11 PDT 2014


On May 1, 2014, at 4:26 AM, Chandler Carruth <chandlerc at google.com> wrote:

> On Thu, Apr 10, 2014 at 6:41 AM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
> Author: arnolds
> Date: Thu Apr 10 08:41:35 2014
> New Revision: 205965
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=205965&view=rev
> Log:
> Reapply "SLPVectorizer: Ignore users that are insertelements we can reschedule them"
> 
> This commit reapplies 205018. After 205855 we should correctly vectorize
> intrinsics.
> 
> Hey Arnold, sorry for the thread necromancy here.
> 
> It turns out that this is causing PR19621, along with a decent number of other crashers which I didn't really associate with this revision (or the reduced test case in PR19621), but reverting this patch causes all of these crashers to go away.
> I can't really tell if its that this commit causes the SLP vectorizer to fire way more often and exposes other bugs, or it is actually a bug here. However, PR19621 is nicely reduced and clearly points at some aspect of this code being wrong. My theory for why this took so long to turn up is that with some of the very recent improvements to the SLP vectorizer, we're seeing it fire on a lot more code, and so finding new patterns that just happen to reduce to something pointing here.
> 
> I tried to work out exactly what this code *should* be doing when we get a constant vector back as the VectorizedRoot (in this PR, undef), but I couldn't make heads or tails of it. emitReduction() also seems to make some assumptions about the root being an instruction, but its a bit less clear there and I don't have a test case for that.
> 
> I'm going to revert this for now to at least let us make progress past PR19621 now that we have a reduced test case for you. Let me know if I can help in some way with debugging this or fixing it.

Hi Chandler,

thanks for analyzing this and pulling it.

I will take a look.

Thanks





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140501/9d97d4f8/attachment.html>


More information about the llvm-commits mailing list