test patch for computed gotos
Brad Lucier
lucier@math.purdue.edu
Fri Mar 7 12:37:00 GMT 2003
> Try the below patch. It's neither bootstrapped nor tested in any way
> (except that it compiles).
Bootstrapped and regtested on alphaev6-unknown-linux-gnu, many fewer errors
in the test-suite than without it for some reason; ah, I also upgraded
my binutils since then. (I had to apply the differences to cfg.c by hand
in my tree.) Also, it fixes the performance problem with bb-reorder:
cfg construction : 1.76 ( 1%) usr 0.10 ( 3%) sys 1.86 ( 1%) wall
cfg cleanup : 7.57 ( 4%) usr 0.01 ( 0%) sys 7.58 ( 4%) wall
trivially dead code : 4.52 ( 3%) usr 0.00 ( 0%) sys 4.52 ( 2%) wall
life analysis : 17.73 (10%) usr 0.04 ( 1%) sys 17.77 (10%) wall
life info update : 6.34 ( 4%) usr 0.01 ( 0%) sys 6.35 ( 4%) wall
alias analysis : 2.57 ( 1%) usr 0.04 ( 1%) sys 2.61 ( 1%) wall
register scan : 1.42 ( 1%) usr 0.00 ( 0%) sys 1.42 ( 1%) wall
rebuild jump labels : 0.62 ( 0%) usr 0.00 ( 0%) sys 0.62 ( 0%) wall
preprocessing : 3.98 ( 2%) usr 0.41 (11%) sys 4.51 ( 2%) wall
lexical analysis : 5.58 ( 3%) usr 0.87 (24%) sys 6.40 ( 4%) wall
parser : 12.64 ( 7%) usr 0.71 (20%) sys 13.40 ( 7%) wall
expand : 6.38 ( 4%) usr 0.11 ( 3%) sys 6.50 ( 4%) wall
varconst : 0.84 ( 0%) usr 0.02 ( 0%) sys 0.85 ( 0%) wall
integration : 1.48 ( 1%) usr 0.02 ( 1%) sys 1.50 ( 1%) wall
jump : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall
CSE : 8.56 ( 5%) usr 0.01 ( 0%) sys 8.57 ( 5%) wall
loop analysis : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
branch prediction : 6.34 ( 4%) usr 0.03 ( 1%) sys 6.37 ( 4%) wall
flow analysis : 0.45 ( 0%) usr 0.00 ( 0%) sys 0.46 ( 0%) wall
combiner : 14.43 ( 8%) usr 0.07 ( 2%) sys 14.49 ( 8%) wall
if-conversion : 2.30 ( 1%) usr 0.01 ( 0%) sys 2.31 ( 1%) wall
local alloc : 3.37 ( 2%) usr 0.02 ( 0%) sys 3.39 ( 2%) wall
global alloc : 8.79 ( 5%) usr 0.19 ( 5%) sys 8.98 ( 5%) wall
reload CSE regs : 15.03 ( 8%) usr 0.06 ( 2%) sys 15.09 ( 8%) wall
flow 2 : 1.51 ( 1%) usr 0.01 ( 0%) sys 1.52 ( 1%) wall
if-conversion 2 : 4.12 ( 2%) usr 0.01 ( 0%) sys 4.12 ( 2%) wall
rename registers : 3.08 ( 2%) usr 0.02 ( 0%) sys 3.09 ( 2%) wall
scheduling 2 : 12.22 ( 7%) usr 0.04 ( 1%) sys 12.26 ( 7%) wall
reorder blocks : 9.70 ( 5%) usr 0.64 (18%) sys 10.33 ( 6%) wall
shorten branches : 1.29 ( 1%) usr 0.01 ( 0%) sys 1.30 ( 1%) wall
final : 5.11 ( 3%) usr 0.09 ( 2%) sys 5.20 ( 3%) wall
rest of compilation : 7.18 ( 4%) usr 0.05 ( 1%) sys 7.22 ( 4%) wall
TOTAL : 177.20 3.62 180.88
There is no difference in the .s file for this test.
It would be *great* to have this patch installed and -freorder-blocks
actually enabled at -O1, since this would put the computed gotos back
to their original spots.
I've included mail-report-with-warnings.log below.
Brad
cat <<'EOF' |
LAST_UPDATED: Thu Mar 6 04:24:16 UTC 2003
Native configuration is alphaev6-unknown-linux-gnu
=== libjava tests ===
Running target unix
WARNING: program timed out.
FAIL: SyncTest execution - gij test
WARNING: program timed out.
FAIL: SyncTest execution - bytecode->native test
WARNING: program timed out.
FAIL: SyncTest execution - gij test
WARNING: program timed out.
FAIL: SyncTest -O execution - bytecode->native test
FAIL: Thread_Interrupt output - source compiled test
FAIL: Thread_Interrupt -O output - source compiled test
FAIL: initexc execution - gij test
FAIL: initexc execution - gij test
=== libjava Summary ===
# of expected passes 2929
# of unexpected failures 8
# of expected failures 16
# of untested testcases 18
=== libstdc++-v3 tests ===
Running target unix
FAIL: 22_locale/codecvt/always_noconv/wchar_t/3.cc execution test
FAIL: 22_locale/codecvt/encoding/wchar_t/3.cc execution test
FAIL: 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc execution test
FAIL: 22_locale/codecvt/in/wchar_t/3.cc execution test
FAIL: 22_locale/codecvt/length/wchar_t/3.cc execution test
FAIL: 22_locale/codecvt/max_length/wchar_t/3.cc execution test
FAIL: 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc execution test
FAIL: 22_locale/codecvt/out/wchar_t/3.cc execution test
FAIL: 22_locale/codecvt/unshift/wchar_t/3.cc execution test
FAIL: 22_locale/collate/transform/char/2.cc execution test
FAIL: 22_locale/collate/transform/char/wrapped_env.cc execution test
FAIL: 22_locale/collate/transform/char/wrapped_locale.cc execution test
FAIL: 22_locale/collate/transform/wchar_t/2.cc execution test
FAIL: 22_locale/collate/transform/wchar_t/wrapped_env.cc execution test
FAIL: 22_locale/collate/transform/wchar_t/wrapped_locale.cc execution test
FAIL: 22_locale/collate_byname/1.cc execution test
FAIL: 26_numerics/fabs_inline.cc (test for excess errors)
WARNING: 26_numerics/fabs_inline.cc compilation failed to produce executable
FAIL: 27_io/ios_init.cc execution test
=== libstdc++-v3 Summary ===
# of expected passes 1168
# of unexpected failures 18
# of expected failures 3
=== g77 tests ===
Running target unix
FAIL: g77.dg/f77-edit-colon-out.f (test for excess errors)
WARNING: g77.dg/f77-edit-colon-out.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-colon-out.f (test for excess errors)
WARNING: g77.dg/f77-edit-colon-out.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-i-in.f (test for excess errors)
WARNING: g77.dg/f77-edit-i-in.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-slash-out.f (test for excess errors)
WARNING: g77.dg/f77-edit-slash-out.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-slash-out.f (test for excess errors)
WARNING: g77.dg/f77-edit-slash-out.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-t-in.f (test for excess errors)
WARNING: g77.dg/f77-edit-t-in.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-t-in.f (test for excess errors)
WARNING: g77.dg/f77-edit-t-in.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-t-in.f (test for excess errors)
WARNING: g77.dg/f77-edit-t-in.f compilation failed to produce executable
FAIL: g77.dg/f77-edit-t-out.f (test for excess errors)
WARNING: g77.dg/f77-edit-t-out.f compilation failed to produce executable
FAIL: g77.dg/fno-backslash.f (test for excess errors)
WARNING: g77.dg/fno-backslash.f compilation failed to produce executable
FAIL: g77.f-torture/execute/980520-1.f compilation, -O0
FAIL: g77.f-torture/noncompile/check0.f
=== g77 Summary ===
# of expected passes 1616
# of unexpected failures 12
# of untested testcases 1
# of unsupported tests 8
/export/home/lucier/programs/gcc/objdir/gcc/testsuite/../g77 version 3.4 20030306 (experimental)
=== gcc tests ===
Running target unix
WARNING: program timed out.
FAIL: gcc.c-torture/compile/20001226-1.c, -O2
WARNING: program timed out.
FAIL: gcc.c-torture/compile/20001226-1.c, -O3 -fomit-frame-pointer
WARNING: program timed out.
FAIL: gcc.c-torture/compile/20001226-1.c, -O3 -g
WARNING: program timed out.
FAIL: gcc.c-torture/compile/20001226-1.c, -Os
FAIL: gcc.dg/Wreturn-type.c (test for excess errors)
FAIL: gcc.dg/duff-2.c (test for excess errors)
FAIL: gcc.dg/warn-1.c (test for warnings, line 8)
FAIL: gcc.dg/warn-1.c (test for warnings, line 15)
FAIL: gcc.dg/pch/inline-1.c (test for excess errors)
=== gcc Summary ===
# of expected passes 21747
# of unexpected failures 9
# of expected failures 79
# of untested testcases 1
# of unsupported tests 178
/export/home/lucier/programs/gcc/objdir/gcc/xgcc version 3.4 20030306 (experimental)
=== g++ tests ===
Running target unix
FAIL: g++.dg/warn/Wunused-2.C (test for warnings, line 5)
FAIL: pch/system-1.C -g assembly comparison
FAIL: pch/system-1.C -O2 -g assembly comparison
FAIL: g++.pt/repo3.C (test for excess errors)
=== g++ Summary ===
# of expected passes 8274
# of unexpected failures 4
# of expected failures 70
# of untested testcases 22
# of unsupported tests 18
/export/home/lucier/programs/gcc/objdir/gcc/testsuite/../g++ version 3.4 20030306 (experimental)
=== objc tests ===
Running target unix
=== objc Summary ===
# of expected passes 1153
/export/home/lucier/programs/gcc/objdir/gcc/xgcc version 3.4 20030306 (experimental)
Compiler version: 3.4 20030306 (experimental)
Platform: alphaev6-unknown-linux-gnu
configure flags: --prefix=/usr/local/gcc-3.4
Counting all warnings,
there are 15 warnings in stage3 of this bootstrap.
Number of warnings per file:
6 gcc/crtstuff.c
2 lib/bison.simple
2 gcc/gcc.c
2 gcc/f/sta.c
1 insn-conditions.c
1 gcc/objc/lang-specs.h
1 gcc/java/jvspec.c
Number of warning types:
6 passing arg ??? of \`???' discards qualifiers from pointer target type
5 string length \`???' is greater than the length \`???' ISO C89 compilers are required to support
2 dereferencing type-punned pointer will break strict-aliasing rules
2 comparison between signed and unsigned
EOF
Mail -s "Results for 3.4 20030306 (experimental) testsuite on alphaev6-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&
true
More information about the Gcc-patches
mailing list