diff options
author | Jeffrey A Law <law@cygnus.com> | 1998-10-23 20:25:09 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-10-23 14:25:09 -0600 |
commit | a1ef0af4d2446643321edaee44b04c741a3ba0db (patch) | |
tree | 24d3b594ae80d725b82ea1146c5e6b4972e8f4c2 /gcc | |
parent | d9db46fd480c055c4559a4b820a7c96df0fcf676 (diff) | |
download | gcc-a1ef0af4d2446643321edaee44b04c741a3ba0db.zip gcc-a1ef0af4d2446643321edaee44b04c741a3ba0db.tar.gz gcc-a1ef0af4d2446643321edaee44b04c741a3ba0db.tar.bz2 |
sched.c (update_flow_info): Revert Oct 19, 1998 change.
* sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
back Oct 15, 1998 change.
* haifa-sched.c (update_flow_info): Likewise.
* flow.c (life_analysis_1): Delete CLOBBER insns after reload.
Real fix was in flow.c...
From-SVN: r23261
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 16 | ||||
-rw-r--r-- | gcc/sched.c | 16 |
3 files changed, 5 insertions, 30 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7c0212d..7762367 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -26,6 +26,9 @@ Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com) + * sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings + back Oct 15, 1998 change. + * haifa-sched.c (update_flow_info): Likewise. * flow.c (life_analysis_1): Delete CLOBBER insns after reload. * mn10200.md (truncated shift): Accept constant inputs too. diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index abc45d3..806bb39 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -7987,21 +7987,7 @@ update_flow_info (notes, first, last, orig_insn) register that was not needed by this instantiation of the pattern, so we can safely ignore it. */ if (insn == first) - { - /* We have accurate death notes after reload now, but this - code is still necessary. Consider splitting a store into - (subreg:DF (reg:DC) 0). The death notes will claim the - entire DCmode value is dead. But after splitting we know - that only part of it is dead. Ie, the splitting action - actually eliminated the death of one or more hard - registers. */ - if (reload_completed && REG_NOTE_KIND (note) == REG_DEAD) - { - XEXP (note, 1) = REG_NOTES (insn); - REG_NOTES (insn) = note; - break; - } - + { if (REG_NOTE_KIND (note) != REG_UNUSED) abort (); diff --git a/gcc/sched.c b/gcc/sched.c index ce2f248..1d81407 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -3828,21 +3828,7 @@ update_flow_info (notes, first, last, orig_insn) register that was not needed by this instantiation of the pattern, so we can safely ignore it. */ if (insn == first) - { - /* We have accurate death notes after reload now, but this - code is still necessary. Consider splitting a store into - (subreg:DF (reg:DC) 0). The death notes will claim the - entire DCmode value is dead. But after splitting we know - that only part of it is dead. Ie, the splitting action - actually eliminated the death of one or more hard - registers. */ - if (reload_completed && REG_NOTE_KIND (note) == REG_DEAD) - { - XEXP (note, 1) = REG_NOTES (insn); - REG_NOTES (insn) = note; - break; - } - + { if (REG_NOTE_KIND (note) != REG_UNUSED) abort (); |