Re: Identical basic blocks live long in RTL flow.

2013-01-17 Thread Jeff Law
On 01/17/13 03:39, Bin.Cheng wrote: On Thu, Jan 17, 2013 at 1:29 AM, Jan Hubicka wrote: Basic blocks 8/9/10 are identical and live until pass jump2, which is after register allocation. I think these duplicated BBs do not contain additional information and should be better to be removed ASAP, b

Re: Identical basic blocks live long in RTL flow.

2013-01-17 Thread Bin.Cheng
On Thu, Jan 17, 2013 at 1:29 AM, Jan Hubicka wrote: >> > >> >Basic blocks 8/9/10 are identical and live until pass jump2, which is >> >after register allocation. >> >I think these duplicated BBs do not contain additional information and >> >should be better to be removed ASAP, because they might i

Re: Identical basic blocks live long in RTL flow.

2013-01-16 Thread Jan Hubicka
> > > >Basic blocks 8/9/10 are identical and live until pass jump2, which is > >after register allocation. > >I think these duplicated BBs do not contain additional information and > >should be better to be removed ASAP, because they might interfere with > >other passes like ifcvt. > > > >So should

Re: Identical basic blocks live long in RTL flow.

2013-01-16 Thread Jeff Law
On 01/16/2013 02:28 AM, Bin.Cheng wrote: Hi, For below simple function from newlib: static int is_option (char *argv_element, int only) { return ((argv_element == 0) || (argv_element[0] == '-') || (only && argv_element[0] == '+')); } The expanded rtl is like: 9: NOTE_INSN_BASIC_

Identical basic blocks live long in RTL flow.

2013-01-16 Thread Bin.Cheng
Hi, For below simple function from newlib: static int is_option (char *argv_element, int only) { return ((argv_element == 0) || (argv_element[0] == '-') || (only && argv_element[0] == '+')); } The expanded rtl is like: 9: NOTE_INSN_BASIC_BLOCK 2 2: r113:SI=r0:SI 3: r114:SI=r1