This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Sparc tail calls (take 4)
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: [PATCH] Sparc tail calls (take 4)
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Fri, 24 Mar 2000 13:27:40 -0700
- cc: Jakub Jelinek <jakub at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <20000324122246.A19852@cygnus.com>you write:
> On Fri, Mar 24, 2000 at 12:27:16PM -0700, Jeffrey A Law wrote:
> > A similar check used to be in the code. Presumably it got lost when
> > you had to revamp the block note handling:
>
> Hmm. No, it's still there.
>
> if (pass == 0)
> {
> tail_call_insns = insns;
>
> /* If the current function's argument block is not large enough
> to hold the outoing arguments, or we encountered some other
> situation we couldn't handle, zero out the sequence. */
> if (current_function_args_size < args_size.constant
> || sibcall_failure)
> tail_call_insns = NULL_RTX;
>
> So, Jakub, what exactly prompted you to add the other bit,
> a failure, or just inspection? I'd probably agree that the
> check should be moved up there next to the other argument
> checks, just for clarity.
No idea why I put the test way down there. Probably because it was
written at a different time than the others. It does seem rather odd
since we can test it as soon as the know the size of the argument list.
I've got no objections to moving the test elsewhere, though like you I
would like to know why Jakub added the test elsewhere.
jeff