Related articles |
---|
[8 earlier articles] |
Re: Optimizing empty functions in C wasowski@data.pl (Andrzej Wasowski) (2002-06-20) |
Re: Optimizing empty functions in C mlacey@microsoft.com (Mark Lacey \[MSFT\]) (2002-06-20) |
Re: Optimizing empty functions in C dnovillo@redhat.com (Diego Novillo) (2002-06-28) |
Re: Optimizing empty functions in C snicol@apk.net (Scott Nicol) (2002-06-28) |
Re: Optimizing empty functions in C haberg@matematik.su.se (Hans Aberg) (2002-06-28) |
Re: Optimizing empty functions in C ralph@inputplus.co.uk (Ralph Corderoy) (2002-06-28) |
Re: Optimizing empty functions in C iddw@hotmail.com (Dave Hansen) (2002-06-28) |
Re: Optimizing empty functions in C Peter-Lawrence.Montgomery@cwi.nl (Peter L. Montgomery) (2002-06-28) |
From: | "Dave Hansen" <iddw@hotmail.com> |
Newsgroups: | comp.compilers |
Date: | 28 Jun 2002 18:12:06 -0400 |
Organization: | Compilers Central |
References: | 02-06-025 02-06-047 02-06-060 |
Keywords: | C, optimize |
Posted-Date: | 28 Jun 2002 18:12:06 EDT |
Keyowrds: | C, optimize |
On 20 Jun 2002 21:43:34 -0400, "Andrzej Wasowski" <wasowski@data.pl>
wrote:
>VBDis wrote:
>> IMO the key is "inline".
>
>Wait a moment. I meant *C* compilers not C++. Do you mean that there is
>a kind of automatic inilining employed for small functions in most of C
>compilers?
>
>andrzej
>--
>[Not that I ever saw, unless you mean preprocessor macros. -John]
I don't know about "most" compilers. It depends on the
implementation. The compiler is allowed to inline functions as long
as it behaves "as-if" it hadn't.
FWIW, the Metaware High C compiler for protected mode x86 I used two
jobs ago compiled the following file:
static int square(int n)
{
return n*n;
}
int f(void)
{
return square(3);
}
into
f:
mov eax, 9
ret
Note that square is static and its address is never taken, so the
compiler didn't even bother to generate code for it.
Of course, C99 does have inline, though it's different than inline in
C++. And most C compilers don't (yet?) comply with C99.
Regards,
-=Dave
--
Change is inevitable, progress is not.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.