Re: [PATCH PR78559][RFC]Proposed fix

2017-01-27 Thread Bin.Cheng
On Wed, Jan 25, 2017 at 4:25 PM, Segher Boessenkool wrote: > On Wed, Jan 25, 2017 at 04:08:54PM +, Bin.Cheng wrote: >> > I was worried this patch would prevent too many other optimisations, >> > so I looked into better options. I didn't find any. I tested the >> > effects of the patch on 31

Re: [PATCH PR78559][RFC]Proposed fix

2017-01-25 Thread Segher Boessenkool
On Wed, Jan 25, 2017 at 04:08:54PM +, Bin.Cheng wrote: > > I was worried this patch would prevent too many other optimisations, > > so I looked into better options. I didn't find any. I tested the > > effects of the patch on 31 architectures (building GCC and then Linux > Thanks very much for

Re: [PATCH PR78559][RFC]Proposed fix

2017-01-25 Thread Bin.Cheng
On Wed, Jan 25, 2017 at 3:56 PM, Segher Boessenkool wrote: > Hi! > > I was worried this patch would prevent too many other optimisations, > so I looked into better options. I didn't find any. I tested the > effects of the patch on 31 architectures (building GCC and then Linux Thanks very much fo

Re: [PATCH PR78559][RFC]Proposed fix

2017-01-25 Thread Segher Boessenkool
Hi! I was worried this patch would prevent too many other optimisations, so I looked into better options. I didn't find any. I tested the effects of the patch on 31 architectures (building GCC and then Linux with it; 6 errored out building the kernel). There were exactly zero differences in gen

Re: [PATCH PR78559][RFC]Proposed fix

2016-12-01 Thread Segher Boessenkool
Hi! On Thu, Dec 01, 2016 at 09:47:51AM +, Bin Cheng wrote: > After investigation, I believe PR78559 is a combine issue revealed by tree > level change. Root causes is after replacing CC register use in > undobuf.other_insn, its REG_EQUAL/REG_EQUIV notes are no longer valid because > meanin

[PATCH PR78559][RFC]Proposed fix

2016-12-01 Thread Bin Cheng
Hi, After investigation, I believe PR78559 is a combine issue revealed by tree level change. Root causes is after replacing CC register use in undobuf.other_insn, its REG_EQUAL/REG_EQUIV notes are no longer valid because meaning of CC register has changed in i2/i3 instructions by combine. For