aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/cfgexpand.c3
-rw-r--r--gcc/config/alpha/alpha.c2
-rw-r--r--gcc/config/ia64/ia64.c1
-rw-r--r--gcc/config/mips/mips.c1
-rw-r--r--gcc/config/rs6000/rs6000.c1
-rw-r--r--gcc/config/sh/sh.c1
-rw-r--r--gcc/config/sparc/sparc.c1
-rw-r--r--gcc/gimple-low.c2
9 files changed, 21 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bee41d4..6e8e002 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,16 @@
2004-07-01 Richard Henderson <rth@redhat.com>
+ * gimple-low.c (lower_function_body): Don't reset_block_changes here.
+ * cfgexpand.c (tree_expand_cfg): Do it here.
+ * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
+ * config/ia64/ia64.c (ia64_output_mi_thunk): And here.
+ * config/mips/mips.c (mips_output_mi_thunk): And here.
+ * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
+ * config/sh/sh.c (sh_output_mi_thunk): And here.
+ * config/sparc/sparc.c (sparc_output_mi_thunk): And here.
+
+2004-07-01 Richard Henderson <rth@redhat.com>
+
* tree.def (RTL_EXPR): Remove.
* c-typeck.c (lvalue_p): Don't handle it.
* expr.c (safe_from_p): Likewise.
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index b331e3d..05b3bc8 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -412,6 +412,9 @@ tree_expand_cfg (void)
walk_tree (&TREE_TYPE (current_function_decl), set_save_expr_context,
current_function_decl, NULL);
+ /* Prepare the rtl middle end to start recording block changes. */
+ reset_block_changes ();
+
/* Expand the variables recorded during gimple lowering. This must
occur before the call to expand_function_start to ensure that
all used variables are expanded before we expand anything on the
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index dd4409a..91aaae7 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -7899,6 +7899,8 @@ alpha_output_mi_thunk_osf (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
HOST_WIDE_INT hi, lo;
rtx this, insn, funexp;
+ reset_block_changes ();
+
/* We always require a valid GP. */
emit_insn (gen_prologue_ldgp ());
emit_note (NOTE_INSN_PROLOGUE_END);
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 48866ae..783ebf7 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -8926,6 +8926,7 @@ ia64_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
reload_completed = 1;
epilogue_completed = 1;
no_new_pseudos = 1;
+ reset_block_changes ();
/* Set things up as ia64_expand_prologue might. */
last_scratch_gr_reg = 15;
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index ba78b52..c2f7ce9 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -7070,6 +7070,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
/* Pretend to be a post-reload pass while generating rtl. */
no_new_pseudos = 1;
reload_completed = 1;
+ reset_block_changes ();
/* Pick a global pointer for -mabicalls. Use $15 rather than $28
for TARGET_NEWABI since the latter is a call-saved register. */
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 47c9bed..5fce266 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -13382,6 +13382,7 @@ rs6000_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
reload_completed = 1;
epilogue_completed = 1;
no_new_pseudos = 1;
+ reset_block_changes ();
/* Mark the end of the (empty) prologue. */
emit_note (NOTE_INSN_PROLOGUE_END);
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 3f5889d..6587e75 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -9494,6 +9494,7 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
epilogue_completed = 1;
no_new_pseudos = 1;
current_function_uses_only_leaf_regs = 1;
+ reset_block_changes ();
emit_note (NOTE_INSN_PROLOGUE_END);
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 01530cf..1f335a3 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -8361,6 +8361,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
epilogue_completed = 1;
no_new_pseudos = 1;
current_function_uses_only_leaf_regs = 1;
+ reset_block_changes ();
emit_note (NOTE_INSN_PROLOGUE_END);
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 67b7f2d..c29f591 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -123,8 +123,6 @@ lower_function_body (void)
= blocks_nreverse (BLOCK_SUBBLOCKS (data.block));
clear_block_marks (data.block);
-
- reset_block_changes ();
}
struct tree_opt_pass pass_lower_cf =