[llvm-dev] [Proposal][RFC] Epilog loop vectorization

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
56 messages Options
[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...
Hi Ashutosh, > On Feb 22, 2017, at 1:57 AM, Nema, Ashutosh via llvm-dev <llvm-dev@...> wrote: > > Hi, > > This is a...
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...
+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...
Thanks for looking into this. 1) Issues with re running vectorizer: Vectorizer might generate redundant alias checks while vectorizing epilog ...
On 02/27/2017 06:29 AM, Nema, Ashutosh wrote: > > Thanks for looking into this. > > 1) Issues with re running vectorizer: > ...
> On Feb 27, 2017, at 7:27 AM, Hal Finkel <hfinkel@...> wrote: > > > On 02/27/2017 06:29 AM, Nema, Ashutosh wrote: >&...
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...
> On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin@...> wrote: > > > > On Mon, Feb 27, 2017 at 9:29 AM, Adam Neme...
On 02/27/2017 11:47 AM, Adam Nemet wrote: > >> On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin@... >> <mailto:dberl...
> On Feb 27, 2017, at 10:11 AM, Hal Finkel <hfinkel@...> wrote: > > > On 02/27/2017 11:47 AM, Adam Nemet wrote: >>...
On Mon, Feb 27, 2017 at 11:29 AM, Adam Nemet <anemet@...> wrote: > > On Feb 27, 2017, at 10:11 AM, Hal Finkel <hfinkel@...> ...
On 02/27/2017 01:47 PM, Daniel Berlin wrote: > > > On Mon, Feb 27, 2017 at 11:29 AM, Adam Nemet <anemet@... > <mailto:ane...
> On Feb 27, 2017, at 12:01 PM, Hal Finkel <hfinkel@...> wrote: > > > On 02/27/2017 01:47 PM, Daniel Berlin wrote: >&...
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...
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...
Summarizing the discussion on the implementation approaches. Discussed about two approaches, first running ‘InnerLoopVectorizer’ again on the e...
> On Mar 14, 2017, at 6:00 AM, Nema, Ashutosh <Ashutosh.Nema@...> wrote: > > Summarizing the discussion on the implementation ...
On 03/14/2017 11:21 AM, Adam Nemet wrote: > >> On Mar 14, 2017, at 6:00 AM, Nema, Ashutosh <Ashutosh.Nema@... >> <mailt...
> On Mar 14, 2017, at 9:49 AM, Hal Finkel <hfinkel@...> wrote: > > > On 03/14/2017 11:21 AM, Adam Nemet wrote: >> ...
On 03/14/2017 12:11 PM, Adam Nemet wrote: > >> On Mar 14, 2017, at 9:49 AM, Hal Finkel <hfinkel@... >> <mailto:hfinke...
> On Mar 14, 2017, at 11:33 AM, Hal Finkel <hfinkel@...> wrote: > > > > On 03/14/2017 12:11 PM, Adam Nemet wrote: &...
On 03/14/2017 07:50 PM, Adam Nemet wrote: > >> On Mar 14, 2017, at 11:33 AM, Hal Finkel <hfinkel@... >> <mailto:hfinkel...
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;...
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...
> On Mar 15, 2017, at 9:46 AM, Hal Finkel <hfinkel@...> wrote: > > > On 03/14/2017 07:50 PM, Adam Nemet wrote: >> ...
On 03/15/2017 02:03 PM, Adam Nemet wrote: > >> On Mar 15, 2017, at 9:46 AM, Hal Finkel <hfinkel@... >> <mailto:hfinkel@...
From: anemet@... [mailto:anemet@...] Sent: Wednesday, March 15, 2017 6:21 AM To: Hal Finkel <hfinkel@...> Cc: Nema, Ashutosh <Ashu...
> and we need to end up with this: > > int start = 0; > if (n >= vf2) { > if (check) { > if (n >= vf) { > ...
From: Nema, Ashutosh [mailto:Ashutosh.Nema@...] Summarizing the discussion on the implementation approaches. Discussed about two approaches,...
From: Zaks, Ayal [mailto:ayal.zaks@...] Sent: Wednesday, March 15, 2017 4:39 AM To: Nema, Ashutosh <Ashutosh.Nema@...>; anemet@...; Ha...
On 03/15/2017 05:55 AM, Nema, Ashutosh wrote: > > *From:*Zaks, Ayal [mailto:ayal.zaks@...] > *Sent:* Wednesday, March 15, 2017 4:39 ...
On 03/14/2017 06:09 PM, Zaks, Ayal wrote: > > *From:*Nema, Ashutosh [mailto:Ashutosh.Nema@...] > > Summarizing the discussion ...
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 ...
From: Michael Kuperstein [mailto:mkuper@...] Sent: Tuesday, March 14, 2017 10:29 PM To: Nema, Ashutosh <Ashutosh.Nema@...> Cc: Adam N...
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...
On Tue, Mar 14, 2017 at 11:40 AM, Hal Finkel <hfinkel@...> wrote: > > > On 03/14/2017 11:58 AM, Michael Kuperstein wrote: >...
On 03/14/2017 02:37 PM, Michael Kuperstein wrote: > > > On Tue, Mar 14, 2017 at 11:40 AM, Hal Finkel <hfinkel@... > <mail...
> > > broadcasts that get hoisted out of the loop, etc. > > > Can you elaborate? Do you mean that we're hoisting broadcasts...
On 03/14/2017 08:00 AM, Nema, Ashutosh wrote: > > Summarizing the discussion on the implementation approaches. > > Discussed abo...
On 03/14/2017 09:00 AM, Hal Finkel via llvm-dev wrote: > > > On 03/14/2017 08:00 AM, Nema, Ashutosh wrote: >> >> Summa...
Sorry I misunderstood, gvn/newgvn/gvnhoist cannot help here as these checks are not dominated by all paths. Regards, Ashutosh From: Daniel ...
On Mon, Feb 27, 2017 at 12:01 PM, Hal Finkel <hfinkel@...> wrote: > > On 02/27/2017 01:47 PM, Daniel Berlin wrote: > > &g...
> On Feb 27, 2017, at 12:04 PM, Daniel Berlin <dberlin@...> wrote: > > > > On Mon, Feb 27, 2017 at 12:01 PM, Hal Fin...
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...
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 :-) ) ...
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 ...
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...
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...
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...
> > > FWIW, we could, just without the memory-dependence analysis enabled (i.e. > set the NoLoads constructor parameter to true). G...
On Mon, Feb 27, 2017 at 9:47 AM, Adam Nemet <anemet@...> wrote: > > On Feb 27, 2017, at 9:39 AM, Daniel Berlin <dberlin@...>...
Thanks for looking into this. 1) Issues with re running vectorizer: Vectorizer might generate redundant alias checks while vectorizing epilog ...
From: Zaks, Ayal [mailto:ayal.zaks@...] Sent: Tuesday, February 28, 2017 2:40 PM To: Nema, Ashutosh <Ashutosh.Nema@...>; Hal Finkel &l...
Thanks for looking into this. 1) Issues with re running vectorizer: Vectorizer might generate redundant alias checks while vectorizing epilog ...
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...