diff options
author | rask <rask@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-19 21:41:43 +0000 |
---|---|---|
committer | rask <rask@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-19 21:41:43 +0000 |
commit | 0eb1d2b3f119381885f61fd97f9d21be53e9a35a (patch) | |
tree | 45faeaa95aeebd2fed6ee6239bdd7ce02013877a /gcc/config/m68hc11 | |
parent | 2e8432f2f763cde69220a310dbc5be728d3688c6 (diff) | |
download | gcc-0eb1d2b3f119381885f61fd97f9d21be53e9a35a.tar.gz |
2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk>
* config/m68hc11/m68hc11.c: Include dataflow header file.
(m68hc11_reorg): Port to dataflow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125861 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68hc11')
-rw-r--r-- | gcc/config/m68hc11/m68hc11.c | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index ca7575858a2..431af782623 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -59,6 +59,7 @@ Note: #include "reload.h" #include "target.h" #include "target-def.h" +#include "df.h" static void emit_move_after_reload (rtx, rtx, rtx); static rtx simplify_logical (enum machine_mode, int, rtx, rtx *); @@ -5004,7 +5005,7 @@ static void m68hc11_reorg (void) { int split_done = 0; - rtx insn, first; + rtx first; z_replacement_completed = 0; z_reg = gen_rtx_REG (HImode, HARD_Z_REGNUM); @@ -5036,29 +5037,9 @@ m68hc11_reorg (void) description to use the best assembly directives. */ if (optimize) { - /* Before recomputing the REG_DEAD notes, remove all of them. - This is necessary because the reload_cse_regs() pass can - have replaced some (MEM) with a register. In that case, - the REG_DEAD that could exist for that register may become - wrong. */ - for (insn = first; insn; insn = NEXT_INSN (insn)) - { - if (INSN_P (insn)) - { - rtx *pnote; - - pnote = ®_NOTES (insn); - while (*pnote != 0) - { - if (REG_NOTE_KIND (*pnote) == REG_DEAD) - *pnote = XEXP (*pnote, 1); - else - pnote = &XEXP (*pnote, 1); - } - } - } - - life_analysis (PROP_REG_INFO | PROP_DEATH_NOTES); + df_note_add_problem (); + df_analyze (); + df_remove_problem (df_note); } z_replacement_completed = 2; |