This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc.dg/funcorder.c failure on pa64 - need advice
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: law at redhat dot com
- Cc: zack at codesourcery dot com, gcc at gcc dot gnu dot org, dave at hiauly2 dot hia dot nrc dot ca, jh at suse dot cz
- Date: Fri, 16 Apr 2004 17:14:12 -0400 (EDT)
- Subject: Re: gcc.dg/funcorder.c failure on pa64 - need advice
> Presumably the problem is the use of the DP register ($r27)? It's been a
> long long time since I looked at this stuff, but IIRC:
>
> 1. %dp must have its correct value at each and every call site. It's
> used in various ways inside the call sequences themselves. It may
> even be used in the linker stubs. This use needs to be exposed
> so that restores of the PIC register do not schedule after the
> call itself. There may also be an ABI mandate that the PIC register
> be valid at a call site.
This isn't the issue. The save and restore of %dp are not exposed
until after reload. This is after the determination as to whether
or not a function is pure.
Now, I suppose Zack is going to ask about the sibcall failures on hppa64 ;)
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)