diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/sched-ebb.c | 6 | ||||
-rw-r--r-- | gcc/sched-rgn.c | 6 |
3 files changed, 9 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 96c3bafa27b..19a5b78c453 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-12-04 Alan Modra <amodra@bigpond.net.au> + + PR middle end/18718 + * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are + in pairs. + * sched-ebb.c (schedule_ebb): Likewise. + 2004-12-03 Andreas Schwab <schwab@suse.de> * Makefile.in (HOSTHOOKS_DEF_H): Define. diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c index 4643478b3cb..560faf3620f 100644 --- a/gcc/sched-ebb.c +++ b/gcc/sched-ebb.c @@ -525,11 +525,7 @@ schedule_ebb (rtx head, rtx tail) for (note = REG_NOTES (head); note; note = XEXP (note, 1)) if (REG_NOTE_KIND (note) == REG_SAVE_NOTE) - { - remove_note (head, note); - note = XEXP (note, 1); - remove_note (head, note); - } + remove_note (head, note); } /* Remove remaining note insns from the block, save them in diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c index c478b773b82..162576a0c92 100644 --- a/gcc/sched-rgn.c +++ b/gcc/sched-rgn.c @@ -2324,11 +2324,7 @@ schedule_region (int rgn) for (note = REG_NOTES (head); note; note = XEXP (note, 1)) if (REG_NOTE_KIND (note) == REG_SAVE_NOTE) - { - remove_note (head, note); - note = XEXP (note, 1); - remove_note (head, note); - } + remove_note (head, note); } /* Remove remaining note insns from the block, save them in |