This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]