Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-11-22 Thread Doug Gilmore
On 11/22/2016 08:07 AM, Bin.Cheng wrote: > On Mon, Nov 21, 2016 at 9:34 PM, Doug Gilmore wrote: >> I haven't seen any followups to this discussion of Bin's patch to >> PR68303 and PR69710, the patch submission: >> http://gcc.gnu.org/ml/gcc-patches/2016-05/msg02000.html >>

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-11-22 Thread Bin.Cheng
On Mon, Nov 21, 2016 at 9:34 PM, Doug Gilmore wrote: > I haven't seen any followups to this discussion of Bin's patch to > PR68303 and PR69710, the patch submission: > http://gcc.gnu.org/ml/gcc-patches/2016-05/msg02000.html > > Discussion: >

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-11-21 Thread Doug Gilmore
I haven't seen any followups to this discussion of Bin's patch to PR68303 and PR69710, the patch submission: http://gcc.gnu.org/ml/gcc-patches/2016-05/msg02000.html Discussion: http://gcc.gnu.org/ml/gcc-patches/2016-07/msg00761.html http://gcc.gnu.org/ml/gcc-patches/2016-06/msg01551.html

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-07-13 Thread Jeff Law
On 05/25/2016 05:22 AM, Bin Cheng wrote: Hi, As analyzed in PR68303 and PR69710, vectorizer generates duplicated computations in loop's pre-header basic block when creating base address for vector reference to the same memory object. Not a huge surprise. Loop optimizations generally have a

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-06-21 Thread Jeff Law
On 06/06/2016 05:23 AM, Bin.Cheng wrote: Hi Jeff, What's your opinion on this (and how to extend it to a region based interface)? I will update this patch for further review if you are okay. I've never pondered how to revamp DOM into a regional interface (though I have pondered how to revamp

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-06-21 Thread Jeff Law
On 05/27/2016 05:56 AM, Richard Biener wrote: On Fri, May 27, 2016 at 1:11 PM, Bin.Cheng wrote: On Fri, May 27, 2016 at 11:45 AM, Richard Biener wrote: On Wed, May 25, 2016 at 1:22 PM, Bin Cheng wrote: Hi, As analyzed in

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-06-06 Thread Bin.Cheng
On Fri, May 27, 2016 at 12:56 PM, Richard Biener wrote: > On Fri, May 27, 2016 at 1:11 PM, Bin.Cheng wrote: >> On Fri, May 27, 2016 at 11:45 AM, Richard Biener >> wrote: >>> On Wed, May 25, 2016 at 1:22 PM, Bin Cheng

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-05-27 Thread Richard Biener
On Fri, May 27, 2016 at 1:11 PM, Bin.Cheng wrote: > On Fri, May 27, 2016 at 11:45 AM, Richard Biener > wrote: >> On Wed, May 25, 2016 at 1:22 PM, Bin Cheng wrote: >>> Hi, >>> As analyzed in PR68303 and PR69710, vectorizer

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-05-27 Thread Bin.Cheng
On Fri, May 27, 2016 at 11:45 AM, Richard Biener wrote: > On Wed, May 25, 2016 at 1:22 PM, Bin Cheng wrote: >> Hi, >> As analyzed in PR68303 and PR69710, vectorizer generates duplicated >> computations in loop's pre-header basic block when creating

Re: [PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-05-27 Thread Richard Biener
On Wed, May 25, 2016 at 1:22 PM, Bin Cheng wrote: > Hi, > As analyzed in PR68303 and PR69710, vectorizer generates duplicated > computations in loop's pre-header basic block when creating base address for > vector reference to the same memory object. Because the duplicated

[PATCH PR68030/PR69710][RFC]Introduce a simple local CSE interface and use it in vectorizer

2016-05-25 Thread Bin Cheng
Hi, As analyzed in PR68303 and PR69710, vectorizer generates duplicated computations in loop's pre-header basic block when creating base address for vector reference to the same memory object. Because the duplicated code is out of loop, IVOPT fails to track base object for these vector