This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH for sibcalls on i386
On Tue, Sep 24, 2002 at 02:31:40PM +1000, Andreas Bauer wrote:
> Hi Zack and others,
>
> I have followed your advise and attached the first rather "mechanical"
> patch of my series of patches. However, I did have to make a _small_
> change to calls.c in order to let it use the new interface to
> FUNCTION_OK_FOR_SIBCALL:
...
> - || !FUNCTION_OK_FOR_SIBCALL (fndecl)
> + || !FUNCTION_OK_FOR_SIBCALL (fndecl, exp)
Yes, that's fine. But did you consider the target hook conversion
which I suggested earlier?
> Attached is a rather large patch which adds the 'exp' to all the targets
> in the config/ directory. This alone, of course, does not offer the new
> functionality, but it extends the interfaces, compiles & doesn't break
> anything, and (hopefully) let's us continue with Step 2.
As Andrew pointed out, these
> -#define FUNCTION_OK_FOR_SIBCALL(DECL) arm_function_ok_for_sibcall ((DECL))
> +#define FUNCTION_OK_FOR_SIBCALL(DECL, EXP) arm_function_ok_for_sibcall ((DECL, EXP))
are incorrect. I don't know why the double parentheses were there in
the first place, but they should be removed. Every time you see a
definition of this form, you need to add the second argument to the
function on the right-hand side, too.
zw