This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/12630] New: [3.4 regression] Various unrecognizable insns and ICEs at -O3


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]