From 6429e3bef352c9dc940977d3079f025f3268a8b9 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 1 Jul 2004 21:53:37 -0700 Subject: [PATCH] gimple-low.c (lower_function_body): Don't reset_block_changes here. * 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. From-SVN: r84012 --- gcc/ChangeLog | 11 +++++++++++ gcc/cfgexpand.c | 3 +++ gcc/config/alpha/alpha.c | 2 ++ gcc/config/ia64/ia64.c | 1 + gcc/config/mips/mips.c | 1 + gcc/config/rs6000/rs6000.c | 1 + gcc/config/sh/sh.c | 1 + gcc/config/sparc/sparc.c | 1 + gcc/gimple-low.c | 2 -- 9 files changed, 21 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bee41d45458..6e8e002d540 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2004-07-01 Richard Henderson + + * 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 * tree.def (RTL_EXPR): Remove. diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index b331e3de6c4..05b3bc803a3 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 dd4409a2176..91aaae78fa9 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 48866aee999..783ebf747f5 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 ba78b522d48..c2f7ce97f2f 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 47c9bed2e7d..5fce266db4d 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 3f5889d2d16..6587e75145d 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 01530cfe2b7..1f335a33e11 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 67b7f2d16ee..c29f591fe54 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 = -- 2.30.2