From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Henderson To: John David Anglin Cc: Hans-Peter Nilsson , gcc-patches@gcc.gnu.org Subject: Re: PATCH for sibcalls on i386 Date: Mon, 30 Sep 2002 17:06:00 -0000 Message-id: <20021001000556.GK7646@redhat.com> References: <200209302107.g8UL7wAP024638@hiauly1.hia.nrc.ca> X-SW-Source: 2002-09/msg01855.html On Mon, Sep 30, 2002 at 05:07:58PM -0400, John David Anglin wrote: > I've been looking and I don't have a full explanation yet. I see in > expand call that try_tail_call is 0 and try_tail_recursion is 1. It > looks like try_tail_call == 1 is necessary for sibcall generation > (see line 2623 in calls.c). try_tail_call is 0 because > FUNCTION_OK_FOR_SIBCALL always is 0 for TARGET_64BIT. What I don't > understand is why we get a sibcall on hppa-linux which defines > FUNCTION_OK_FOR_SIBCALL to be 0. Do you get a sibcall? try_tail_recursion does not rely on the sibcall machinery, and is independent of it. It should not be shut off by FUNCTION_OK_FOR_SIBCALL. r~