Re: [PATCH] Fix RTL sharing bug in loop-doloop.c (PR target/79080)

2017-01-15 Thread Jakub Jelinek
On Mon, Jan 16, 2017 at 08:23:32AM +0100, Richard Biener wrote: > > I think it is not as bad. I think the problem is only when you > > force_operand 1) after expansion 2) with complicated expression. > > I think if you force_operand just with something that appears in some insn, > > it is very unl

Re: [PATCH] Fix RTL sharing bug in loop-doloop.c (PR target/79080)

2017-01-15 Thread Richard Biener
On Sun, 15 Jan 2017, Jakub Jelinek wrote: > On Sat, Jan 14, 2017 at 09:16:11PM -0700, Jeff Law wrote: > > > The force_operand on complex count expression in doloop_modify can invoke > > > various expander routines that are assuming there is rtl unsharing after > > > them (which is the case for exp

Re: [PATCH] Fix RTL sharing bug in loop-doloop.c (PR target/79080)

2017-01-15 Thread Jakub Jelinek
On Sat, Jan 14, 2017 at 09:16:11PM -0700, Jeff Law wrote: > > The force_operand on complex count expression in doloop_modify can invoke > > various expander routines that are assuming there is rtl unsharing after > > them (which is the case for expansion). When later optimizations invoke > > the e

Re: [PATCH] Fix RTL sharing bug in loop-doloop.c (PR target/79080)

2017-01-14 Thread Jeff Law
On 01/14/2017 06:36 AM, Jakub Jelinek wrote: Hi! The force_operand on complex count expression in doloop_modify can invoke various expander routines that are assuming there is rtl unsharing after them (which is the case for expansion). When later optimizations invoke the expander (e.g. expand_m

[PATCH] Fix RTL sharing bug in loop-doloop.c (PR target/79080)

2017-01-14 Thread Jakub Jelinek
Hi! The force_operand on complex count expression in doloop_modify can invoke various expander routines that are assuming there is rtl unsharing after them (which is the case for expansion). When later optimizations invoke the expander (e.g. expand_mult in this case), they use unshare_all_rtl_in_