This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix PR64876, regressions in powerpc64 Go testsuite
- From: Alan Modra <amodra at gmail dot com>
- To: David Edelsohn <dje dot gcc at gmail dot com>, Jakub Jelinek <jakub at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 5 Feb 2015 14:09:54 +1030
- Subject: Re: Fix PR64876, regressions in powerpc64 Go testsuite
- Authentication-results: sourceware.org; auth=none
- References: <20150203135735 dot GJ14796 at bubble dot grove dot modra dot org> <CAGWvnykygYkakPVTASG_UuGM=f7tXPSdnUzS-seMe=gB3EUqhQ at mail dot gmail dot com> <20150204001605 dot GL14796 at bubble dot grove dot modra dot org> <CAGWvnykMMtzV6n54cWsa16u53MiRLE1FNEKScvvagK_wv9qUww at mail dot gmail dot com>
On Wed, Feb 04, 2015 at 09:06:02PM -0500, David Edelsohn wrote:
> Testing only crtl->emit.sequence_stack->last
> does not seem to be sufficient. It seems like it really needs to test
> for more of the CALL sequence.
Ugh. You're right, we do need to test more of the call sequence.
Shame on me, I've poked at function.c and calls.c before, and ought to
know this code.
The one thing that might save this approach of inspecting rtl to
determine whether the static chain is loaded, is that a SET of r11
must be the static chain. I just have to be careful to not look
beyond the call sequence into a previous call or into the prologue,
which is why get_last_insn_anywhere() isn't correct.
Testing another patch..
Jakub, was your suggestion to use get_last_insn_anywhere() based on
not wanting to expose details that should be internal to
emit-rtl.[ch]? If so, I can implement an accessor function to give me
the previous sequence, but see m32c.c use of crtl->emit.sequence_stack.
--
Alan Modra
Australia Development Lab, IBM