Re: [MIPS] Optimizing stack frames for codesize

2013-10-06 Thread Richard Sandiford
Matthew Fortune  writes:
>> If you have time to benchmark it then let's go with whatever turns out best.
>
> I have already done some investigation (only with bare metal tools so
> far) and that shows that growing the frame downward almost universally
> improves code size. This is looking at the detail of function level size
> comparison as well as overall library sizes. I have not done any
> performance analysis as yet.

OK.  Was that with all of MIPS, microMIPS and MIPS16?

I wouldn't have expected any benefit for plain MIPS, and the negative
offsets would probably pessimise the handling of large frames.  If there
are improvements for plain MIPS it'd be interesting to see an example.
If not, we should probably leave it as-is.

If it's a win for microMIPS then that sounds like a good sign.  I wouldn't
have expected the LRA transition to affect the number of spills for microMIPS
too much.  So if it's a win there now, hopefully it will be for LRA too.

But if you saw an improvement for MIPS16, were the results run against a
tree with:

2013-07-11  Steve Ellcey  

* config/mips/mips.c (mips_conditional_register_usage): Do not
use t[0-7] registers in MIPS16 mode when optimizing for size.

applied?  That patch deliberately encouraged spills to stack over spills
to non-MIPS16 registers, so I think results against current mainline
will emphasise them too much.

Sorry, I realise I'm probably being inconsistent by thinking that that
patch was OK to go in pre-LRA but this one isn't.  But we definitely want
to be able to revert to using temporary registers as spill space if possible,
so I'm hoping Steve's patch will only end up being temporary.  And it sounds
from PR58461 like reenabling the registers is already on your radar, thanks.
On the other hand, switching to negative frame offsets should be a
longer-term change, so I'd rather we did it based on post-LRA results.

>> However, I think it'd be better to get the LRA transition done first,
>> including
>> fixing the spilling of MIPS16 registers into temporary non-MIPS16 registers
>> rather than the stack.  At the moment we're using stack reloads far more
>> than we ought to, which I think would skew the figures a bit.
>
> I would like to get the LRA transition in progress but I was/am under
> the impression that I'd have to do this for all ISAs/variants of MIPS at
> the same time rather than just mip16 and as such it will take time to
> test sufficiently.

Thanks.  Let me know if there's anything I can help with.

Richard


Update the c++1y/c++14 support page

2013-10-06 Thread Morwenn Ed
Three new papers were adopted at the Chicago meeting a few days ago:
* [[deprecated]] attribute (N3760)
* Sized deallocation (N3778)
* Single-quotation-mark as a digit separator (N3481)

Shouldn't the GCC C++1y/C++14 support page be modified to reflect these 
additions?

Re: Update the c++1y/c++14 support page

2013-10-06 Thread Paolo Carlini


Hi,

Morwenn Ed  ha scritto:
>Three new papers were adopted at the Chicago meeting a few days ago:
>* [[deprecated]] attribute (N3760)
>* Sized deallocation (N3778)
>* Single-quotation-mark as a digit separator (N3481)
>
>Shouldn't the GCC C++1y/C++14 support page be modified to reflect these
>additions?

Yes, I think so. Why don't you prepare a doc patchlet? You may want to add 
Gerald in CC.

Thanks,
Paolo



RE: Update the c++1y/c++14 support page

2013-10-06 Thread Morwenn Ed

> Subject: Re: Update the c++1y/c++14 support page
> From: paolo.carl...@oracle.com
> Date: Sun, 6 Oct 2013 14:06:32 +0200
> To: morwen...@hotmail.fr; gcc@gcc.gnu.org
>
>
>
> Hi,
>
> Morwenn Ed  ha scritto:
>>Three new papers were adopted at the Chicago meeting a few days ago:
>>* [[deprecated]] attribute (N3760)
>>* Sized deallocation (N3778)
>>* Single-quotation-mark as a digit separator (N3481)
>>
>>Shouldn't the GCC C++1y/C++14 support page be modified to reflect these
>>additions?
>
> Yes, I think so. Why don't you prepare a doc patchlet? You may want to add 
> Gerald in CC.
>
> Thanks,
> Paolo

Well, it never got to sign the copyright assignment. So technically, I can not 
really contribute to GCC.
I would be happy to do so, but if I remember well, I have to send the signed 
paper by regular mail, so it
may take some time even if I do so... 

RE: Update the c++1y/c++14 support page

2013-10-06 Thread Paolo Carlini


Hi,

Morwenn Ed  ha scritto:
>Well, it never got to sign the copyright assignment.

Certainly you don't need an assignment for 3 lines of docs!

Paolo


RE: Update the c++1y/c++14 support page

2013-10-06 Thread Morwenn Ed

> Subject: RE: Update the c++1y/c++14 support page
> From: paolo.carl...@oracle.com
> Date: Sun, 6 Oct 2013 14:48:27 +0200
> To: morwen...@hotmail.fr; gcc@gcc.gnu.org
>
>
>
> Hi,
>
> Morwenn Ed  ha scritto:
>>Well, it never got to sign the copyright assignment.
>
> Certainly you don't need an assignment for 3 lines of docs!
>
> Paolo
Ok, no problem then, here is the patch. And the changelog. I hope they are ok, 
I have never
properly submitted anything before.   

a.CL
Description: Binary data


a.patch
Description: Binary data


Re: Update the c++1y/c++14 support page

2013-10-06 Thread Jeff Hammond
Given your company (Oracle) sued Google over 9 lines of Java (the now
infamous rangeCheck function), I hardly think it's appropriate for you
to discourage someone from following through with copyright assignment
for a minor contribution.

Jeff

On Sun, Oct 6, 2013 at 7:48 AM, Paolo Carlini  wrote:
>
>
> Hi,
>
> Morwenn Ed  ha scritto:
>>Well, it never got to sign the copyright assignment.
>
> Certainly you don't need an assignment for 3 lines of docs!
>
> Paolo



-- 
Jeff Hammond
jeff.scie...@gmail.com


Re: Update the c++1y/c++14 support page

2013-10-06 Thread Andrey Belevantsev

On 07.10.2013 9:54, Jeff Hammond wrote:

Given your company (Oracle) sued Google over 9 lines of Java (the now
infamous rangeCheck function), I hardly think it's appropriate for you
to discourage someone from following through with copyright assignment
for a minor contribution.


This has nothing to do with Oracle v. Google, but with GCC policy of not 
requiring a copyright assignment for small patches from the first-time 
contributors (which Paolo knows as a long-time GCC hacker).  Of course, 
after a certain limit the assignment is required.  See 
http://gcc.gnu.org/contribute.html.


Also, please don't top post on this list.

Andrey



Jeff

On Sun, Oct 6, 2013 at 7:48 AM, Paolo Carlini  wrote:



Hi,

Morwenn Ed  ha scritto:

Well, it never got to sign the copyright assignment.


Certainly you don't need an assignment for 3 lines of docs!

Paolo