This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Changing the frame layout of H8 port to reduce code size
- From: Paul Carpenter <paul at pcserv dot demon dot co dot uk>
- To: gnuh8 at gnuh8 dot org dot uk, gcc at gcc dot gnu dot org
- Cc: toshiyasu dot morita at renesas dot com, law at redhat dot com
- Date: Tue, 27 Jan 2004 14:00:45 +0000 (GMT)
- Subject: Re: Changing the frame layout of H8 port to reduce code size
- Reply-to: paul at pcserv dot demon dot co dot uk
In message <20040127.030240.48531905.kazu@cs.umass.edu>
Kazu Hirata writes:
>Hi,
>
>I am thinking about changing the frame layout of H8 port to reduce
>code size and would like to ask for comments. Currently, the frame
>layout used in h8300-{elf,hms}-gcc looks like
[... snip current method ...]
>with the stack pointer pointing to the stack location containing the
>last saved register. I am proposing to flip the order of the locals
>and the saved registers like so
>
> argument
> :
> argument
> program counter
> frame pointer (can be omitted)
> saved register
> :
> saved register
> local
> :
> local <- sp
[.. snip examples.. ]
>A quick test with uClinux for H8 shows that all the object files
>shrink or retain the same size.
For me a desirable effect, also for those wanting to do applications
in smaller processors like the H8/Tiny.
>Any comments? You won't be affected unless your application digs up
>the stack upward. Otherwise, you're in trouble. If that's the case,
>I'll refrain from checking in the above change or add a switch to go
>back to the old layout (or a switch to enable the new layout). Note
>that I am not changing the calling conventions, so linking code
>compiled with different versions of GCC would be OK.
My thoughts are that this is a better layout, and agree with your
observations above.
I would suggest a switch for old method to be deprecated later, unless
someone protests vehemently.
My vote is for the change, with a switch if somebody has need for it.
Otherwise consider no switch, but keep older version available for now.
--
Paul Carpenter | paul@pcserv.demon.co.uk
<http://www.pcserv.demon.co.uk/> Main Site
<http://www.snugglebot.co.uk/> Robot Wars entry using H8 and GNUH8
<http://www.gnuh8.org.uk/> GNU H8 & mailing list info
<http://www.readingsme.org.uk/> Reading SME Business Club info
<http://www.badweb.org.uk/> For those web sites you hate