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

Arnold Schwaighofer aschwaighofer at apple.com
Fri Mar 28 10:29:18 PDT 2014


Committed as 205018, 205019, and 205020.

Thanks!

On Mar 28, 2014, at 8:47 AM, Robison, Arch <arch.robison at intel.com> wrote:

> Yes, that looks much better.  
> 
> I suggest making the attribution "Patch by Arch Robison and Arnold Schwaighofer."  since it's a significant improvement to my proposed patch.  There is only one n in my last name.
> 
> Thanks to both of you for all the help.
> 
> - Arch Robison
> 
> -----Original Message-----
> From: Nadav Rotem [mailto:nrotem at apple.com] 
> Sent: Friday, March 28, 2014 1:46 AM
> To: Arnold Schwaighofer
> Cc: Robison, Arch; Commit Messages and Patches for LLVM
> Subject: Re: [PATCH] Extend SLPVectorizer for cases where insertelement instructions must be rescheduled
> 
> 
> On Mar 27, 2014, at 9:55 PM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
> 
>> 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?
> 
> Arnold, I really like your approach. Thanks!
> 
>> 
>> <0001-SLPVectorizer-Ignore-users-that-are-insertelements-w.patch>
>> 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