Re: pre-patch-2.1.37-3 comment / compile fixes

Colin Plumb (
Mon, 5 May 97 00:13:22 MDT

Our fearless leader wrote:
> Note to performance people: I used to think that using local labels was
> a great idea, but I'm not all that certain any more. The problem is
> that gcc seems to implement local labels through a similar mechanism as
> local functions, which in turn means that any function that has a local
> label will aqcuire a stack frame. No, don't ask me why, but that is
> what seems to happen.
> End result: avoid local labels if you really care about that last bit of
> performance

Um, Linus, you're getting __label__ declarations mixed up with *asm* local
labels like the asm("1:") ones in

extern inline char * strcpy(char * dest,const char *src)
__asm__ __volatile__(
"testb %%al,%%al\n\t"
"jne 1b"
: /* no output */
:"S" (src),"D" (dest):"si","di","ax","memory");
return dest;

The GCC code generator never sees those, so it can't possibly use them
as an excuse to generate a stack frame.