[PATCH] Jump bypassing and improved constant propagation

Roger Sayle roger@eyesopen.com
Thu Jun 6 07:24:00 GMT 2002

Hi Joern,
> > This patch has been tested with "make bootstrap" and "make -k check"
> > on i686-pc-linux-gnu with all languages except Ada (and treelang)
> > with no new regressions.  As an added benefit, this patch even fixes
> > two XFAILs; gcc.dg/uninit-A.c uninitialized variable warnings on lines
> > 52 and 53.  The simplification of the CFG from jump bypassing makes
> > the flow of control clear enough for GCC to see that these variables
> > are actually always assigned before they're used.
> It doesn't for sh-elf.  I wonder if we should make these tests xfail for
> sh*, sparc* (http://gcc.gnu.org/ml/gcc-testresults/2002-06/msg00151.html)
> and powerpc* (http://gcc.gnu.org/ml/gcc-testresults/2002-06/msg00123.html),
> or rather xfail for everything but i?86-*, mips and hppa.

If you check the gcc-testresults mailing list, you'll notice that
uninit-A.c is also failing again on i686.  The problem is not that
jump_bypassing doesn't work on some architectures, but rather that
a later patch to gcse.c contained a typo that's effectively broken
this optimization.

I've posted a correction to the typo to gcc-patches in

If these tests still fail after the above patch has been applied
we can come back to the issue. However I wouldn't expect many
platforms would require an xfail.

Roger Sayle,                         E-mail: roger@eyesopen.com
OpenEye Scientific Software,         WWW: http://www.eyesopen.com/
Suite 1107, 3600 Cerrillos Road,     Tel: (+1) 505-473-7385
Santa Fe, New Mexico, 87507.         Fax: (+1) 505-473-0833

More information about the Gcc-patches mailing list