Related articles |
---|
[2 earlier articles] |
Re: Argument passing conventions and optimization fjh@cs.mu.oz.au (Fergus Henderson) (2003-10-31) |
Re: Argument passing conventions and optimization marcov@stack.nl (Marco van de Voort) (2003-10-31) |
Re: Argument passing conventions and optimization nmm1@cus.cam.ac.uk (2003-11-01) |
Re: Argument passing conventions and optimization ptumati@yahoo.com (pradeep tumati) (2003-11-02) |
Re: Argument passing conventions and optimization nmm1@cus.cam.ac.uk (2003-11-08) |
Re: Argument passing conventions and optimization bobduff@shell01.TheWorld.com (Robert A Duff) (2003-11-08) |
Re: Argument passing conventions and optimization robert.thorpe@antenova.com (Rob Thorpe) (2003-11-11) |
Re: Argument passing conventions and optimization nmm1@cus.cam.ac.uk (2003-11-11) |
From: | Rob Thorpe <robert.thorpe@antenova.com> |
Newsgroups: | comp.compilers |
Date: | 11 Nov 2003 13:48:13 -0500 |
Organization: | Compilers Central |
References: | 03-10-116 03-10-147 03-11-012 |
Keywords: | code, optimize |
Posted-Date: | 11 Nov 2003 13:48:13 EST |
> There could be a scenario where this kind of optimization can be
> entrusted to the linker, but I guess its going to be a costly
> stuff. Any thoughts...?
This is rather difficult. The linker could notice the relationships
between callers and callees, but it would be difficult since argument
passing is quite a high level business. The only way it can be done
generally is by burying the compiler in the linker, as some high
performance compilers do. Otherwise it would be limited to static
functions. The alternative is to have different types of calls as
windows compilers do (function attributes), for instance Borlands has
"fastcall" which passes some arguments in registers. So the
programmer can control it.
In the compilers I've seen even inlining doesn't affect the calling
convention, as a copy of the function uninlined is always added just in
case, it is later removed by the linker.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.