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

Reply via email to