Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-08-11 Thread Jeff Law
On 08/09/2016 08:44 PM, Kito Cheng wrote: Hi Steven: You are right, I have build arm toolchain today, it's crash when building libgcc since there is no valid CFG in split_all_insns_noflow. Hi Jeff: Maybe we need split_reg_dead_p and split_reg_unused_p like peephole2 have peep2_reg_dead_p? See

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-08-09 Thread Kito Cheng
Hi Steven: You are right, I have build arm toolchain today, it's crash when building libgcc since there is no valid CFG in split_all_insns_noflow. Hi Jeff: Maybe we need split_reg_dead_p and split_reg_unused_p like peephole2 have peep2_reg_dead_p? On Wed, Aug 10, 2016 at 3:54 AM, Steven Bossch

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-08-09 Thread Steven Bosscher
On Mon, Aug 8, 2016 at 9:45 PM, Jeff Law wrote: > > I'm pretty sure we do _not_ want it for split_all_insns_noflow since that's > used when the CFG is not necessarily correct and thus I don't see how we can > reliably have death/unused notes. Actually, trying to initializing DF without a valid CF

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-08-08 Thread Jeff Law
On 07/25/2016 08:31 PM, Kito Cheng wrote: Hi Jeff: Oop, patch in attachment, and I hit this bug in gcc.dg/torture/vshuf-v2di.c with our nds32 internal branch. Hi Richard: I think we really need reg dead note for some optimization, and btw, here is our split pattern: So I see a real need to be

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-07-27 Thread Kito Cheng
Hi Jeff: > This seems better suited as a generic optimization than hidden away in a > backend. > > AFAICT you're just noticing a word of the output operand is dead and eliding > the load/store for that word. > > In fact, I'm a bit surprised nothing has optimized this away by the time > reload/LRA i

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-07-27 Thread Jeff Law
On 07/25/2016 08:31 PM, Kito Cheng wrote: Hi Jeff: Oop, patch in attachment, and I hit this bug in gcc.dg/torture/vshuf-v2di.c with our nds32 internal branch. Hi Richard: I think we really need reg dead note for some optimization, and btw, here is our split pattern: (define_split [(set (mat

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-07-25 Thread Kito Cheng
Hi Jeff: Oop, patch in attachment, and I hit this bug in gcc.dg/torture/vshuf-v2di.c with our nds32 internal branch. Hi Richard: I think we really need reg dead note for some optimization, and btw, here is our split pattern: (define_split [(set (match_operand:DI 0 "nds32_general_register_oper

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-07-25 Thread Jeff Law
On 07/25/2016 12:35 PM, Richard Biener wrote: On July 25, 2016 5:56:29 PM GMT+02:00, Jeff Law wrote: On 07/25/2016 12:36 AM, Kito Cheng wrote: Hi all: Some target(for example i386, sh and h8300) use find_regno_note in split pattern but df infrastructure seem not initialize at split pass, so

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-07-25 Thread Richard Biener
On July 25, 2016 5:56:29 PM GMT+02:00, Jeff Law wrote: >On 07/25/2016 12:36 AM, Kito Cheng wrote: >> Hi all: >> >> Some target(for example i386, sh and h8300) use find_regno_note in >> split pattern but df infrastructure seem not initialize at split >pass, >> so it may got wrong note since it's ou

Re: Init df for split pass since some target use REG_NOTE in split pattern

2016-07-25 Thread Jeff Law
On 07/25/2016 12:36 AM, Kito Cheng wrote: Hi all: Some target(for example i386, sh and h8300) use find_regno_note in split pattern but df infrastructure seem not initialize at split pass, so it may got wrong note since it's out-of-date. ChangeLog 2016-07-25 Kito Cheng * gcc/recog.c (

Init df for split pass since some target use REG_NOTE in split pattern

2016-07-24 Thread Kito Cheng
Hi all: Some target(for example i386, sh and h8300) use find_regno_note in split pattern but df infrastructure seem not initialize at split pass, so it may got wrong note since it's out-of-date. ChangeLog 2016-07-25 Kito Cheng * gcc/recog.c (split_all_insns): Initialize df for split pa