gcc 3.4.2 stack variable lifetime analysis
Jakub Jelinek
jakub@redhat.com
Wed May 4 14:46:00 GMT 2005
On Wed, May 04, 2005 at 07:22:12AM -0700, Earl Chew wrote:
> Can anyone tell me if there is a patch for this problem?
Yes, there is:
ftp://sources.redhat.com/pub/gcc/releases/gcc-4.0.0/diffs/gcc-3.4.3-4.0.0.diff.bz2
FYI, this is PR middle-end/9997
> Consider:
>
> void bar(char*);
>
> void foo(int x)
> {
> if (x) { char y[4096]; bar(y); }
> else { char z[4096]; bar(z); }
> }
>
> Cygwin gcc 3.4.2 -O2 yields:
>
> pushl %ebp
> movl $8216, %eax /* Should be about 4k */
> movl %esp, %ebp
> call __alloca
>
> PPC cross compiler 3.4.2 -O2 yields:
>
> cmpwi 7,3,0
> mflr 0
> stwu 1,-8208(1) /* Should be about 4k */
Jakub
More information about the Gcc
mailing list