This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why IRA stores in frame, not in callee-saved reg?
- From: Jeff Law <law at redhat dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 08 Mar 2011 09:03:13 -0700
- Subject: Re: Why IRA stores in frame, not in callee-saved reg?
- References: <4D751182.20104@gjlay.de> <4D7614A3.8090708@gjlay.de>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 03/08/11 04:36, Georg-Johann Lay wrote:
>
> IRA doues not take into account costs implied by generating new stack
> slots and setting up frame pointer. AFAIK there is no hook to
> influence that. How can a target describe costs generated by setting
> up stack slots and accessing them?
IRA isn't particularly good about accounting for prologue/epilogue
costs, both the saves/restores and FP setup.
Part of the problem is the cost is really amortized across potentially
many allocnos which potentially use the callee-saved registers.
Unfortunately, there's no way to know that apriori. It's an issue Vlad
and I have discussed, but we haven't come to any kind of conclusions for
how to better model the costs of the prologue/epilogue vs the savings of
allocing more allocnos to callee-saved hard regs vs caller-saved hard
regs or memory.
jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJNdlNBAAoJEBRtltQi2kC7ShUIAJV2DgMhDV+t4rltCnnK6mDS
SKvAWBw9fYyenDmSHYyYR0ABZbltRe98Q2B1XsQw7Ah5e2zXD11Xmr5EzZ+W0+uE
LPLWphMDSnaQpy20qwnDhlOpgH3hChZ/4KwhtL3HHgzTq6dFw+v8k2UI2CBaMe2N
eTLy3YP4AbbYyvBPbwMUnyxurmbt4nz98lvCi6L+bqBV0iWMXTOY8hce3+aPj1ib
1a70eTEP8CD+PKCpq+xPkl3yVCcwKsOCyHhFxFHscBZGLtbOLhmBpdwED0eW0Jbe
dUxIYJyxFAZp4djm6+RFosPDIVJe2fBt/jW/ZzhV3h1zlcMxZNt2qxWsQi+2Y7E=
=Pjsd
-----END PGP SIGNATURE-----