Re: Inconsistent initialization for pic_offset_table_rtx?

2016-02-05 Thread Ilya Enkovich
2016-02-04 19:16 GMT+03:00 Bin.Cheng : > On Thu, Feb 4, 2016 at 3:18 PM, Ilya Enkovich wrote: >> 2016-02-04 17:12 GMT+03:00 Bin.Cheng : >>> Hi, >>> I noticed that pic_offset_table_rtx is initialized twice in GCC. Take >>> x86_32 as an example. >>> The first initialization is done in emit_init_reg

Re: Early inlining and function references from static const struct (bug?)

2016-02-05 Thread Richard Biener
On Thu, Feb 4, 2016 at 9:10 PM, Carlos Pita wrote: > PS 2 (last one, I swear): I've isolated what I think is the root of > the problem. When einline expands g, there is plenty of call sites for > f.call, so the full redundancy elimination pass replaces sum for > f.call, making things easy for the

Re: Early inlining and function references from static const struct (bug?)

2016-02-05 Thread Carlos Pita
Hi Richard, I'm not quite following you. I understand the non-cp issue. But are you saying it's somehow related to the non-inlining issue (in that case I'm unable to see the relationship, because the compound literal case always gets inlined)? Or maybe you consider there is no non-inlining problem

Re: Early inlining and function references from static const struct (bug?)

2016-02-05 Thread Richard Biener
On Fri, Feb 5, 2016 at 3:12 PM, Carlos Pita wrote: > Hi Richard, > > I'm not quite following you. I understand the non-cp issue. But are > you saying it's somehow related to the non-inlining issue (in that > case I'm unable to see the relationship, because the compound literal > case always gets i

Re: Early inlining and function references from static const struct (bug?)

2016-02-05 Thread Carlos Pita
> I was saying that early inlining is not supposed to catch this case > but IPA inlining. > it shouldn't need to inline g early to end up inlining the calls to sq. IPA > CP > should clone g for the case of it calling sq and then inlining should > just do its job. Ok, I fully agree with that, for

Re: Instruction scheduling for the R5900's 2 integer pipelines

2016-02-05 Thread Jeff Law
On 02/05/2016 05:35 AM, Woon yung Liu wrote: The current (GCC 5.3.0) MIPS divmod4 pattern emits an expand that allocates a temporary register (hi+lo) and emits other instructions, depending if whether the target is a 32-bit or 64-bit MIPS target. However, it uses gen_rtx_REG to allocate the hi+

Re: Early inlining and function references from static const struct (bug?)

2016-02-05 Thread Richard Biener
On February 5, 2016 3:27:17 PM GMT+01:00, Carlos Pita wrote: >> I was saying that early inlining is not supposed to catch this case >> but IPA inlining. >> it shouldn't need to inline g early to end up inlining the calls to >sq. IPA CP >> should clone g for the case of it calling sq and then inl