diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-10-23 20:25:09 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-10-23 20:25:09 +0000 |
commit | 3069aedd8441ebbbf571c769fd43a67458d7fda8 (patch) | |
tree | 24d3b594ae80d725b82ea1146c5e6b4972e8f4c2 | |
parent | af5199c09848c3f7254a7b6645579384a6e27a22 (diff) | |
download | ppe42-gcc-3069aedd8441ebbbf571c769fd43a67458d7fda8.tar.gz ppe42-gcc-3069aedd8441ebbbf571c769fd43a67458d7fda8.zip |
* 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...
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23261 138bc75d-0d04-0410-961f-82ee72b054a4
-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 7c0212d3e9c..776236750a5 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 abc45d33384..806bb396d88 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 ce2f248e00e..1d81407c3f4 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 (); |