diff options
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 3 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 2 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 1 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 1 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 1 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 1 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 1 | ||||
-rw-r--r-- | gcc/gimple-low.c | 2 |
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 = |