This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/53381] [4.8 Regression] Bootstrap fails building stage1 libgcc
- From: "dave.anglin at bell dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 17 May 2012 00:18:46 +0000
- Subject: [Bug middle-end/53381] [4.8 Regression] Bootstrap fails building stage1 libgcc
- Auto-submitted: auto-generated
- References: <bug-53381-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53381
--- Comment #5 from dave.anglin at bell dot net 2012-05-17 00:18:46 UTC ---
On 16-May-12, at 7:14 PM, bernds at gcc dot gnu.org wrote:
> Ok, seriously weird call insns. If you can fix that in the port,
> it'll benefit
> from the optimization. Otherwise, try the following which disables
> it for
> targets with strange call insns.
Agreed. In PIC, the runtime architecture mandates that the PIC register
is saved and restored across function calls. It's been quite a few
years
since the current scheme was worked out. There were previous
implementations
where the save wasn't part of the call but there were always
occasional cases
where the restore was lost resulting in wrong code. Part of the
problem is
not all uses of the PIC register are exposed prior to reload. There are
splitters to optimize things a bit after reload.
I'm reluctant to change the current implementation because the situation
is quite tricky.
Dave
--
John David Anglin dave.anglin@bell.net