Related articles |
---|
Argument passing conventions and optimization ptumati@yahoo.com (pradeep tumati) (2003-10-27) |
Re: Argument passing conventions and optimization derkgwen@HotPOP.com (Derk Gwen) (2003-10-31) |
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: | nmm1@cus.cam.ac.uk (Nick Maclaren) |
Newsgroups: | comp.compilers |
Date: | 8 Nov 2003 01:33:32 -0500 |
Organization: | University of Cambridge, England |
References: | 03-10-116 03-10-153 03-11-018 |
Keywords: | code |
Posted-Date: | 08 Nov 2003 01:33:32 EST |
pradeep tumati <ptumati@yahoo.com> wrote:
>> I think you need to look for non-C compilers for this? If a compiler
>> encounters a C function, it can't be sure it is not exported via a
>> header somewhere, and those headers expect standard C calling
>> conventions.
>
>Most C compiler try following the standard ABI specifications of the
>target processor. Now, if a compiler optimizes the function call
>conventions, its not going to be sure if the callee is a library
>function. So, its better to follow the starndard conventions.
That applies to Unix and derived systems (including Microsoft ones),
where C is the definition language for the system call API. On a
system where it is not, such as IBM MVS, the converse applies. The C
calling conventions on that are legion, weird and VERY much unlike the
standard calling sequence in almost all cases!
>Does this case even apply to parameter passing in the case of static
>functions (in C)? Logically, we can perform optimization, but I am not
>sure what kind of side effects this causes... The same can be the case
>with functions calling other functions within the same C++ Namespace.
What's a static function in this context?
>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...?
It is. It is done. Many HPC vendors have such an option.
Regards,
Nick Maclaren.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.