This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/37633] [4.4 Regression] wrong register use on sh64
- From: "vmakarov at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Oct 2008 21:55:20 -0000
- Subject: [Bug target/37633] [4.4 Regression] wrong register use on sh64
- References: <bug-37633-5208@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from vmakarov at redhat dot com 2008-10-08 21:55 -------
Thanks for working on the problem. I am afraid that preventing to use
partially clobbered hard regs for allocnos living through calls is wrong. In
most general case I believe the problem should be fixed in caller-saves.c: they
should saved and restored around calls. As temporary workaround would be
correct calculation of costs in IRA for partially clobbered hard regs (as it
was done in global.c) in order to force IRA avoid the hard regs.
But without fixing the problem in caller-saves.c IRA and the old RA are still
error-prune for this problem in general case.
I'll work on the patch for correct partially clobbered hard register
calculation.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37633