This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/12630] New: [3.4 regression] Various unrecognizable insns and ICEs at -O3
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Oct 2003 23:24:47 -0000
- Subject: [Bug optimization/12630] New: [3.4 regression] Various unrecognizable insns and ICEs at -O3
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12630
Summary: [3.4 regression] Various unrecognizable insns and ICEs
at -O3
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,jh at suse dot cz
GCC build triplet: hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11
GCC host triplet: hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11
GCC target triplet: hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11
The following patch introduced numerous regressions on the PA at -O3:
2003-10-11 Jan Hubicka <jh@suse.cz>
* Makefile.in (web.o): New.
* web.c: New file.
* rtl.h (web_main): Declare.
* timervar.def (TV_WEB): New.
* toplev.c (dump_file_index, dump_file_info): Add DFI_web.
(rest_of_hanle_web): New.
(flag_web): New static variable.
(lang_independent_options): Add "web".
(rest_of_compilation): Call rest_of_handle_web.
* invoke.texi (-fweb): Document.
* common.opt (fweb): New.
* flags.h (flag_web): New.
* opts.c (decode_options): Set flag_web at -O3.
* passes.texi (web construction): Document.
* invoke.texi (-O3): Document that -fweb is enabled.
* regrename.c (regrename_optimize): Deal better with situation when
replacement failed.
* sched-ebb.c: Include params.h and profile.h
(schedule_ebbs): Use tracer parameters to discover superblocks
* Makefile.in (sched-ebb.o): Add dependencies.
See for example the difference in testsuite results between
<http://gcc.gnu.org/ml/gcc-testresults/2003-10/msg00653.html>
and
<http://gcc.gnu.org/ml/gcc-testresults/2003-10/msg00612.html>.
Here is an example of one of the common failures:
dave@hiauly6:~/gnu/gcc-3.4/objdir/gcc/testsuite$
/home/dave/gnu/gcc-3.4/objdir/gcc/stage1/xgcc
-B/home/dave/gnu/gcc-3.4/objdir/gcc/stage1/ -O3 -w -c -o 20011109-1.o
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/20011109-1.c
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/20011109-1.c: In
function `die':
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/20011109-1.c:51:
error: unrecognizable insn:
(insn 188 187 189 17 (parallel [
(set (mem/s:BLK (reg/f:SI 169 [ u ]) [12 S8 A16])
(mem/s:BLK (reg/f:SI 170) [12 S8 A16]))
(clobber (reg/f:SI 206 [ u ]))
(clobber (reg/f:SI 205))
(clobber (reg:SI 171))
(clobber (reg:SI 172))
(clobber (reg:SI 173))
(use (const_int 8 [0x8]))
(use (const_int 2 [0x2]))
]) -1 (insn_list 186 (insn_list 187 (nil)))
(expr_list:REG_DEAD (reg/f:SI 170)
(expr_list:REG_DEAD (reg/f:SI 169 [ u ])
(expr_list:REG_UNUSED (reg/f:SI 206 [ u ])
(expr_list:REG_UNUSED (reg/f:SI 205)
(expr_list:REG_UNUSED (reg:SI 171)
(expr_list:REG_UNUSED (reg:SI 172)
(expr_list:REG_UNUSED (reg:SI 173)
(expr_list:REG_EQUAL (mem/s:BLK (reg/f:SI 167)
[12 S8 A16])
(nil))))))))))
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/20011109-1.c:51:
internal compiler error: in extract_insn, at recog.c:2064
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Another is
dave@hiauly6:~/gnu/gcc-3.4/objdir/gcc/testsuite$
/home/dave/gnu/gcc-3.4/objdir/gcc/stage1/xgcc
-B/home/dave/gnu/gcc-3.4/objdir/gcc/stage1/ -O3 -fomit-frame-pointer -w -c
-o structs.o
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/structs.c
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/structs.c: In
function `main':
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/structs.c:263:
error: unrecognizable insn:
(insn 735 93 705 0 (set (plus:SI (reg/f:SI 30 %r30)
(const_int -296 [0xfffffed8]))
(reg:SI 23 %r23)) -1 (nil)
(nil))
/home/dave/gnu/gcc-3.4/gcc/gcc/testsuite/gcc.c-torture/compile/structs.c:263:
internal compiler error: in extract_insn, at recog.c:2064