This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.3 branch, 6 regressions] Re: 'fix' for 11350 causes bootstrap hang on Darwin
Jan Hubicka writes:
> >
> >
> > On Fri, 23 Jan 2004, Krister Walfridsson wrote:
> >
> > > The change
> > >
> > > 2004-01-18 Jan Hubicka <jh@suse.cz>
> > >
> > > * basic-block.h (try_redirect_by_replacing_jump): Declare.
> > > * cfgcleanup.c (try_optimize_cfg): Use it.
> > > * cfgrtl.c (try_redirect_by_replacing_jump): Export.
> > > (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
> > > Kill hack.
> > > (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
> > >
> > > Revert:
> > > 2004-01-16 Geoffrey Keating <geoffk@apple.com>
> > >
> > > * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
> > > even after reload, just don't remove the actual jump tables.
> > >
> > > causes bootstrap comparison failure for i386-unknown-netbsdelf1.6.
> > > It looks like all .o files differs...
> > >
> > > I'll try to dig up some more info, but I'm not really sure where to
> > > start...
> >
> > Running the testsuite on the compiler from the first stage shows
> > that the change introduces these new failures:
> >
> > FAIL: gcc.c-torture/compile/goto-1.c (test for excess errors)
> > FAIL: gcc.c-torture/compile/goto-1.c (test for excess errors)
> > FAIL: gcc.c-torture/compile/goto-1.c (test for excess errors)
> > FAIL: gcc.c-torture/compile/goto-1.c (test for excess errors)
> > FAIL: gcc.c-torture/compile/goto-1.c (test for excess errors)
> > FAIL: gcc.c-torture/execute/930603-2.c compilation, -O3 -fomit-frame-pointer -funroll-loops
> > FAIL: gcc.c-torture/execute/930603-2.c compilation, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
>
> You did so with the patch backported to gcc-3.3 or is it about the
> mainline GCC?
> Can you forward me the errors produced by these testcases?
re-ran this on i486-linux. the current 3.3 branch, compared to the 3.3
branch with the following backported patch applied, has four
regressions:
Update for PR11350
2004-01-16 Geoffrey Keating <geoffk@apple.com>
* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
even after reload, just don't remove the actual jump tables.
+FAIL: gcc.c-torture/execute/20011219-1.c compilation, -O1
+UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -O1
+FAIL: gcc.c-torture/execute/20011219-1.c compilation, -O2
+UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -O2
+FAIL: gcc.c-torture/execute/20011219-1.c compilation, -O3 -g
+UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -O3 -g
+FAIL: gcc.c-torture/execute/20011219-1.c compilation, -Os
+UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -Os
+FAIL: gcc.dg/20030309-1.c (test for excess errors)
I didn't check, if the 3.3 branch without this patch fails to
bootstrap on powerpc-linux.
Matthias
[extract from testsuite/gcc.log]:
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c -w -O0 -lm -o /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x0 (timeout = 450)
PASS: gcc.c-torture/execute/20011219-1.c compilation, -O0
PASS: gcc.c-torture/execute/20011219-1.c execution, -O0
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c -w -O1 -lm -o /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x1 (timeout = 450)
/tmp/ccOdHcfn.o(.rodata+0xc): undefined reference to `.L7'
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/ccOdHcfn.o(.rodata+0xc): undefined reference to `.L7'
collect2: ld returned 1 exit status
FAIL: gcc.c-torture/execute/20011219-1.c compilation, -O1
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -O1
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c -w -O2 -lm -o /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x2 (timeout = 450)
/tmp/cccVT2ev.o(.rodata+0x0): undefined reference to `.L8'
/tmp/cccVT2ev.o(.rodata+0x4): undefined reference to `.L8'
/tmp/cccVT2ev.o(.rodata+0x8): undefined reference to `.L8'
/tmp/cccVT2ev.o(.rodata+0xc): undefined reference to `.L7'
/tmp/cccVT2ev.o(.rodata+0x10): undefined reference to `.L8'
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/cccVT2ev.o(.rodata+0x0): undefined reference to `.L8'
/tmp/cccVT2ev.o(.rodata+0x4): undefined reference to `.L8'
/tmp/cccVT2ev.o(.rodata+0x8): undefined reference to `.L8'
/tmp/cccVT2ev.o(.rodata+0xc): undefined reference to `.L7'
/tmp/cccVT2ev.o(.rodata+0x10): undefined reference to `.L8'
collect2: ld returned 1 exit status
FAIL: gcc.c-torture/execute/20011219-1.c compilation, -O2
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -O2
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c -w -O3 -fomit-frame-pointer -lm -o /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x3 (timeout = 450)
PASS: gcc.c-torture/execute/20011219-1.c compilation, -O3 -fomit-frame-pointer
PASS: gcc.c-torture/execute/20011219-1.c execution, -O3 -fomit-frame-pointer
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c -w -O3 -g -lm -o /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x4 (timeout = 450)
/tmp/cck7d3YL.o(.rodata+0x0): In function `main':
/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:44: undefined reference to `.L20'
/tmp/cck7d3YL.o(.rodata+0x4):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:44: undefined reference to `.L20'
/tmp/cck7d3YL.o(.rodata+0x8):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:45: undefined reference to `.L20'
/tmp/cck7d3YL.o(.rodata+0xc):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:45: undefined reference to `.L19'
/tmp/cck7d3YL.o(.rodata+0x10):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:48: undefined reference to `.L20'
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/cck7d3YL.o(.rodata+0x0): In function `main':
/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:44: undefined reference to `.L20'
/tmp/cck7d3YL.o(.rodata+0x4):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:44: undefined reference to `.L20'
/tmp/cck7d3YL.o(.rodata+0x8):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:45: undefined reference to `.L20'
/tmp/cck7d3YL.o(.rodata+0xc):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:45: undefined reference to `.L19'
/tmp/cck7d3YL.o(.rodata+0x10):/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c:48: undefined reference to `.L20'
collect2: ld returned 1 exit status
FAIL: gcc.c-torture/execute/20011219-1.c compilation, -O3 -g
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -O3 -g
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c -w -Os -lm -o /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x5 (timeout = 450)
/tmp/cc8XwLTU.o(.rodata+0x0): undefined reference to `.L8'
/tmp/cc8XwLTU.o(.rodata+0x4): undefined reference to `.L8'
/tmp/cc8XwLTU.o(.rodata+0x8): undefined reference to `.L8'
/tmp/cc8XwLTU.o(.rodata+0xc): undefined reference to `.L7'
/tmp/cc8XwLTU.o(.rodata+0x10): undefined reference to `.L8'
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/cc8XwLTU.o(.rodata+0x0): undefined reference to `.L8'
/tmp/cc8XwLTU.o(.rodata+0x4): undefined reference to `.L8'
/tmp/cc8XwLTU.o(.rodata+0x8): undefined reference to `.L8'
/tmp/cc8XwLTU.o(.rodata+0xc): undefined reference to `.L7'
/tmp/cc8XwLTU.o(.rodata+0x10): undefined reference to `.L8'
collect2: ld returned 1 exit status
FAIL: gcc.c-torture/execute/20011219-1.c compilation, -Os
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution, -Os