aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRask Ingemann Lambertsen <rask@sygehus.dk>2007-06-19 23:41:43 +0200
committerRask Ingemann Lambertsen <rask@gcc.gnu.org>2007-06-19 21:41:43 +0000
commitc105ee098f6d6e855d2fee00fa898883726ccd39 (patch)
tree45faeaa95aeebd2fed6ee6239bdd7ce02013877a
parent4aa0f91154fea25a5434fa68943da765246b2914 (diff)
downloadgcc-c105ee098f6d6e855d2fee00fa898883726ccd39.zip
gcc-c105ee098f6d6e855d2fee00fa898883726ccd39.tar.gz
gcc-c105ee098f6d6e855d2fee00fa898883726ccd39.tar.bz2
m68hc11.c: Include dataflow header file.
2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk> * config/m68hc11/m68hc11.c: Include dataflow header file. (m68hc11_reorg): Port to dataflow. From-SVN: r125861
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/m68hc11/m68hc11.c29
2 files changed, 10 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 61f6833..9c6108b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ * config/m68hc11/m68hc11.c: Include dataflow header file.
+ (m68hc11_reorg): Port to dataflow.
+
2007-06-19 Kenneth Zadeck <zadeck@naturalbridge.com>
* df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index ca75758..431af78 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 = &REG_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;