Bug#430957: Regression in PRE
found 430957 20070916-1
tags 430957 - fixed_upstream
thanks
I tried again with latest gcc-snapshot.
The testcase you provided on
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32540 compiles fast. Since
on gcc's bugzilla it is marked as fixed, I think that fix is in the
debian package to, nor?
However the *original* testcase takes a long time to compile with -O3 again.
I've come up with this testcase, that is just a very tiny change from
yours (notice the additional if):
int f(void);
void acceptloop_th(int *t) {
int options = 0;
if (f()) options |= 0x1 << 0;
if (f()) options |= 0x1 << 1;
if (f()) options |= 0x1 << 2;
if (f()) options |= 0x1 << 3;
if (f()) options |= 0x1 << 4;
if (f()) options |= 0x1 << 5;
if (f()) options |= 0x1 << 6;
if (f()) options |= 0x1 << 7;
if (f()) options |= 0x1 << 8;
if (f()) options |= 0x1 << 9;
if (f()) options |= 0x1 << 10;
if (f()) options |= 0x1 << 11;
if (f()) options |= 0x1 << 12;
if (f()) options |= 0x1 << 13;
if (f()) options |= 0x1 << 14;
if (f()) options |= 0x1 << 15;
if (f()) options |= 0x1 << 16;
if (f()) options |= 0x1 << 17;
if (f()) options |= 0x1 << 18;
if (f()) options |= 0x1 << 19;
if (f()) options |= 0x1 << 20;
if (f()) options |= 0x1 << 21;
if (f()) options |= 0x1 << 22;
if (f()) options |= 0x1 << 23;
if (f()) options |= 0x1 << 24;
if (f()) options |= 0x1 << 25;
if (f()) options |= 0x1 << 26;
if (f()) *t = options;
}
timings:
17 ifs: time /usr/lib/gcc-snapshot/bin/gcc -c -O3 x.c
user 0m1.784s
22 ifs: time /usr/lib/gcc-snapshot/bin/gcc -c -O3 x.c
Stopped after 2m25.514s (didn't finish), it was using all of available
RAM (2G), and it generated lot of disk activity (swap).
/usr/lib/gcc-snapshot/bin/gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian
20070916-1' --with-bugurl=file:///usr/share/doc/gcc-snapshot/README.Bugs
--enable-languages=c,c++,java,fortran,objc,obj-c++,ada,treelang
--prefix=/usr/lib/gcc-snapshot --enable-shared --with-system-zlib
--disable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-java-awt=gtk --enable-gtk-cairo --disable-plugin
--with-java-home=/usr/lib/gcc-snapshot/jre
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-mpfr
--disable-werror --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.0 20070916 (experimental) [trunk revision 128522]
(Debian 20070916-1)
P.S.: should I submit bugs like this to debian or directly to gcc
bugzilla in the future?
Thanks,
edwin
Reply to: