Marco Speziali via llvm-dev
[llvm-dev] [Proposal][RFC] Epilog loop vectorization –
Hi,
This is a proposal about epilog loop vectorization.
Currently Loop Vectorizer inserts an epilogue loop for handling loops that don't hav...
Loading...
Marco Speziali via llvm-dev
Hi Ashutosh,
> On Feb 22, 2017, at 1:57 AM, Nema, Ashutosh via llvm-dev <llvm-dev@...> wrote:
>
> Hi,
>
> This is a...
Loading...
Marco Speziali via llvm-dev
On 02/22/2017 11:52 AM, Adam Nemet via llvm-dev wrote:
> Hi Ashutosh,
>
>> On Feb 22, 2017, at 1:57 AM, Nema, Ashutosh via llvm-d...
Loading...
Marco Speziali via llvm-dev
+1 for “just rerun the vectorizer” on the scalar remainder loop, as the proposed decision process is broken down into “first determine best VF fo...
Loading...
Marco Speziali via llvm-dev
Thanks for looking into this.
1) Issues with re running vectorizer:
Vectorizer might generate redundant alias checks while vectorizing epilog ...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 06:29 AM, Nema, Ashutosh wrote:
>
> Thanks for looking into this.
>
> 1) Issues with re running vectorizer:
>
...
Loading...
Marco Speziali via llvm-dev
> On Feb 27, 2017, at 7:27 AM, Hal Finkel <hfinkel@...> wrote:
>
>
> On 02/27/2017 06:29 AM, Nema, Ashutosh wrote:
>&...
Loading...
Marco Speziali via llvm-dev
On Mon, Feb 27, 2017 at 9:29 AM, Adam Nemet <anemet@...> wrote:
>
> On Feb 27, 2017, at 7:27 AM, Hal Finkel <hfinkel@...> wr...
Loading...
Marco Speziali via llvm-dev
> On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin@...> wrote:
>
>
>
> On Mon, Feb 27, 2017 at 9:29 AM, Adam Neme...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 11:47 AM, Adam Nemet wrote:
>
>> On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin@...
>> <mailto:dberl...
Loading...
Marco Speziali via llvm-dev
> On Feb 27, 2017, at 10:11 AM, Hal Finkel <hfinkel@...> wrote:
>
>
> On 02/27/2017 11:47 AM, Adam Nemet wrote:
>>...
Loading...
Marco Speziali via llvm-dev
On Mon, Feb 27, 2017 at 11:29 AM, Adam Nemet <anemet@...> wrote:
>
> On Feb 27, 2017, at 10:11 AM, Hal Finkel <hfinkel@...> ...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 01:47 PM, Daniel Berlin wrote:
>
>
> On Mon, Feb 27, 2017 at 11:29 AM, Adam Nemet <anemet@...
> <mailto:ane...
Loading...
Marco Speziali via llvm-dev
> On Feb 27, 2017, at 12:01 PM, Hal Finkel <hfinkel@...> wrote:
>
>
> On 02/27/2017 01:47 PM, Daniel Berlin wrote:
>&...
Loading...
Marco Speziali via llvm-dev
I have tried running both gvn and newgvn but it did not helped in hoisting the alias checks:
Please check, maybe I have missed something.
&l...
Loading...
Marco Speziali via llvm-dev
Hoisting or removing?
Neither pass does hoisting, you'd need gvnhoist for that.
Even then:
Staring at your example, none of the checks are fu...
Loading...
Marco Speziali via llvm-dev
Summarizing the discussion on the implementation approaches.
Discussed about two approaches, first running ‘InnerLoopVectorizer’ again on the e...
Loading...
Marco Speziali via llvm-dev
> On Mar 14, 2017, at 6:00 AM, Nema, Ashutosh <Ashutosh.Nema@...> wrote:
>
> Summarizing the discussion on the implementation ...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 11:21 AM, Adam Nemet wrote:
>
>> On Mar 14, 2017, at 6:00 AM, Nema, Ashutosh <Ashutosh.Nema@...
>> <mailt...
Loading...
Marco Speziali via llvm-dev
> On Mar 14, 2017, at 9:49 AM, Hal Finkel <hfinkel@...> wrote:
>
>
> On 03/14/2017 11:21 AM, Adam Nemet wrote:
>> ...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 12:11 PM, Adam Nemet wrote:
>
>> On Mar 14, 2017, at 9:49 AM, Hal Finkel <hfinkel@...
>> <mailto:hfinke...
Loading...
Marco Speziali via llvm-dev
> On Mar 14, 2017, at 11:33 AM, Hal Finkel <hfinkel@...> wrote:
>
>
>
> On 03/14/2017 12:11 PM, Adam Nemet wrote:
&...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 07:50 PM, Adam Nemet wrote:
>
>> On Mar 14, 2017, at 11:33 AM, Hal Finkel <hfinkel@...
>> <mailto:hfinkel...
Loading...
Marco Speziali via llvm-dev
I think this seems about right. We shouldn't re-compare the trip counts in the epilogue loop if the alias check is false anyway:
int start = 0;...
Loading...
Marco Speziali via llvm-dev
On 03/16/2017 12:20 AM, Nema, Ashutosh wrote:
>
>
> I think this seems about right. We shouldn't re-compare the trip
> counts i...
Loading...
Marco Speziali via llvm-dev
> On Mar 15, 2017, at 9:46 AM, Hal Finkel <hfinkel@...> wrote:
>
>
> On 03/14/2017 07:50 PM, Adam Nemet wrote:
>> ...
Loading...
Marco Speziali via llvm-dev
On 03/15/2017 02:03 PM, Adam Nemet wrote:
>
>> On Mar 15, 2017, at 9:46 AM, Hal Finkel <hfinkel@...
>> <mailto:hfinkel@...
Loading...
Marco Speziali via llvm-dev
From: anemet@... [mailto:anemet@...]
Sent: Wednesday, March 15, 2017 6:21 AM
To: Hal Finkel <hfinkel@...>
Cc: Nema, Ashutosh <Ashu...
Loading...
Marco Speziali via llvm-dev
> and we need to end up with this:
>
> int start = 0;
> if (n >= vf2) {
> if (check) {
> if (n >= vf) {
> ...
Loading...
Marco Speziali via llvm-dev
From: Nema, Ashutosh [mailto:Ashutosh.Nema@...]
Summarizing the discussion on the implementation approaches.
Discussed about two approaches,...
Loading...
Marco Speziali via llvm-dev
From: Zaks, Ayal [mailto:ayal.zaks@...]
Sent: Wednesday, March 15, 2017 4:39 AM
To: Nema, Ashutosh <Ashutosh.Nema@...>; anemet@...; Ha...
Loading...
Marco Speziali via llvm-dev
On 03/15/2017 05:55 AM, Nema, Ashutosh wrote:
>
> *From:*Zaks, Ayal [mailto:ayal.zaks@...]
> *Sent:* Wednesday, March 15, 2017 4:39 ...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 06:09 PM, Zaks, Ayal wrote:
>
> *From:*Nema, Ashutosh [mailto:Ashutosh.Nema@...]
>
> Summarizing the discussion ...
Loading...
Marco Speziali via llvm-dev
I'm still not sure about this, for a few reasons:
1) I'd like to try to treat epilogue loops the same way regardless of
whether the main loop ...
Loading...
Marco Speziali via llvm-dev
From: Michael Kuperstein [mailto:mkuper@...]
Sent: Tuesday, March 14, 2017 10:29 PM
To: Nema, Ashutosh <Ashutosh.Nema@...>
Cc: Adam N...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 11:58 AM, Michael Kuperstein wrote:
> I'm still not sure about this, for a few reasons:
>
> 1) I'd like to try to tr...
Loading...
Marco Speziali via llvm-dev
On Tue, Mar 14, 2017 at 11:40 AM, Hal Finkel <hfinkel@...> wrote:
>
>
> On 03/14/2017 11:58 AM, Michael Kuperstein wrote:
>...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 02:37 PM, Michael Kuperstein wrote:
>
>
> On Tue, Mar 14, 2017 at 11:40 AM, Hal Finkel <hfinkel@...
> <mail...
Loading...
Marco Speziali via llvm-dev
>
>
> broadcasts that get hoisted out of the loop, etc.
>
>
> Can you elaborate? Do you mean that we're hoisting broadcasts...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 08:00 AM, Nema, Ashutosh wrote:
>
> Summarizing the discussion on the implementation approaches.
>
> Discussed abo...
Loading...
Marco Speziali via llvm-dev
On 03/14/2017 09:00 AM, Hal Finkel via llvm-dev wrote:
>
>
> On 03/14/2017 08:00 AM, Nema, Ashutosh wrote:
>>
>> Summa...
Loading...
Marco Speziali via llvm-dev
Sorry I misunderstood, gvn/newgvn/gvnhoist cannot help here as these checks are not dominated by all paths.
Regards,
Ashutosh
From: Daniel ...
Loading...
Marco Speziali via llvm-dev
On Mon, Feb 27, 2017 at 12:01 PM, Hal Finkel <hfinkel@...> wrote:
>
> On 02/27/2017 01:47 PM, Daniel Berlin wrote:
>
>
&g...
Loading...
Marco Speziali via llvm-dev
> On Feb 27, 2017, at 12:04 PM, Daniel Berlin <dberlin@...> wrote:
>
>
>
> On Mon, Feb 27, 2017 at 12:01 PM, Hal Fin...
Loading...
Marco Speziali via llvm-dev
On Mon, Feb 27, 2017 at 12:06 PM, Adam Nemet <anemet@...> wrote:
>
> On Feb 27, 2017, at 12:04 PM, Daniel Berlin <dberlin@...&g...
Loading...
Marco Speziali via llvm-dev
There's another issue with re-running the vectorizer (which I support, btw
- I'm just saying there are more problems to solve on the way :-) )
...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 12:41 PM, Michael Kuperstein wrote:
> There's another issue with re-running the vectorizer (which I support,
> btw - I'm ...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 12:41 PM, Michael Kuperstein wrote:
There's another issue with re-running the vectorizer (which I support, btw - I'm just saying th...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 04:19 PM, Zaks, Ayal wrote:
>
> On 02/27/2017 12:41 PM, Michael Kuperstein wrote:
>
> There's another issue wi...
Loading...
Marco Speziali via llvm-dev
On 02/27/2017 04:19 PM, Zaks, Ayal wrote:
On 02/27/2017 12:41 PM, Michael Kuperstein wrote:
There's another issue with re-running the vectorizer...
Loading...
Marco Speziali via llvm-dev
>
>
> FWIW, we could, just without the memory-dependence analysis enabled (i.e.
> set the NoLoads constructor parameter to true). G...
Loading...
Marco Speziali via llvm-dev
On Mon, Feb 27, 2017 at 9:47 AM, Adam Nemet <anemet@...> wrote:
>
> On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin@...>...
Loading...
Marco Speziali via llvm-dev
Thanks for looking into this.
1) Issues with re running vectorizer:
Vectorizer might generate redundant alias checks while vectorizing epilog ...
Loading...
Marco Speziali via llvm-dev
From: Zaks, Ayal [mailto:ayal.zaks@...]
Sent: Tuesday, February 28, 2017 2:40 PM
To: Nema, Ashutosh <Ashutosh.Nema@...>; Hal Finkel &l...
Loading...
Marco Speziali via llvm-dev
Thanks for looking into this.
1) Issues with re running vectorizer:
Vectorizer might generate redundant alias checks while vectorizing epilog ...
Loading...
Marco Speziali via llvm-dev
Hi,
Looks interesting!
I’m wondering about the extra cost in code-size and how much it could outweigh the benefit?
What data can you prov...