OSDN Git Service

* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
[pf3gnuchains/gcc-fork.git] / gcc / sched-ebb.c
index 1ff7cea..d4a9f77 100644 (file)
@@ -1,24 +1,24 @@
 /* Instruction scheduling pass.
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   1999, 2000, 2001 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
    and currently maintained by, Jim Wilson (wilson@cygnus.com)
 
-This file is part of GNU CC.
+This file is part of GCC.
 
-GNU CC is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
 
-GNU CC is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to the Free
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+along with GCC; see the file COPYING.  If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 02111-1307, USA.  */
 \f
 #include "config.h"
@@ -193,7 +193,7 @@ static struct sched_info ebb_sched_info =
 
   NULL, NULL,
   NULL, NULL,
-  0
+  0, 1
 };
 \f
 /* Schedule a single extended basic block, defined by the boundaries HEAD
@@ -236,10 +236,7 @@ schedule_ebb (head, tail)
      or after the last real insn of the block.  So if the first insn
      has a REG_SAVE_NOTE which would otherwise be emitted before the
      insn, it is redundant with the note before the start of the
-     block, and so we have to take it out.
-
-     FIXME: Probably the same thing should be done with REG_SAVE_NOTEs
-     referencing NOTE_INSN_SETJMP at the end of the block.  */
+     block, and so we have to take it out.  */
   if (INSN_P (head))
     {
       rtx note;
@@ -247,14 +244,9 @@ schedule_ebb (head, tail)
       for (note = REG_NOTES (head); note; note = XEXP (note, 1))
        if (REG_NOTE_KIND (note) == REG_SAVE_NOTE)
          {
-           if (INTVAL (XEXP (note, 0)) != NOTE_INSN_SETJMP)
-             {
-               remove_note (head, note);
-               note = XEXP (note, 1);
-               remove_note (head, note);
-             }
-           else
-             note = XEXP (note, 1);
+           remove_note (head, note);
+           note = XEXP (note, 1);
+           remove_note (head, note);
          }
     }
 
@@ -274,7 +266,7 @@ schedule_ebb (head, tail)
   tail = current_sched_info->tail;
 
   if (write_symbols != NO_DEBUG)
-    restore_line_notes (0, head, tail);
+    restore_line_notes (head, tail);
 
   finish_deps_global ();
 }