http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52287

             Bug #: 52287
           Summary: [4.7 regression] ICE in ready_remove_first, at
                    haifa-sched.c:1927
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: r...@gcc.gnu.org
                CC: ber...@gcc.gnu.org, ebotca...@gcc.gnu.org
              Host: sparc-sun-solaris2.8
            Target: sparc-sun-solaris2.8
             Build: sparc-sun-solaris2.8


Between rev. 184203 and 184303, Solaris 8/SPARC bootstrap broke in stage2:

$ cc1plus -fpreprocessed reginfo.ii -quiet -mcpu=v9 -g -O2 -fno-exceptions
-fno-rtti -o reginfo.s
/vol/gcc/src/hg/trunk/local/gcc/reginfo.c: In function 'int
memory_move_secondary_cost(machine_mode, reg_class_t, bool)':
/vol/gcc/src/hg/trunk/local/gcc/reginfo.c:716:1: internal compiler error: in
ready_remove_first, at haifa-sched.c:1927

gdb finds

(gdb) up
#1  0x02ae1c64 in ready_remove_first (ready=0x346e558)
    at /vol/gcc/src/hg/trunk/local/gcc/haifa-sched.c:1927
1927      gcc_assert (QUEUE_INDEX (t) == QUEUE_READY);
(gdb) p t
$1 = (rtx) 0xf95db748
(gdb) pr
(debug_insn 49 48 50 6 (var_location:SI from (reg/v:SI 119 [ rclass ])) -1
     (nil))

I wonder if this could be related to

2012-02-14  Bernd Schmidt  <ber...@codesourcery.com>

    * haifa-sched.c (prune_ready_list): Ensure that if there is a
    sched-group insn, it either remains alone or the entire list is
    pruned.

Strangely, this doesn't occur on Solaris 9 and up.

  Rainer

Reply via email to