This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/53381] [4.8 Regression] Bootstrap fails building stage1 libgcc


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]