From 4025c040c5d5676e50b8a46d8c3820feb7f55fd8 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 30 Jun 2004 18:12:19 -0700 Subject: [PATCH] function.h (struct function): Remove x_whole_function_mode_p. * function.h (struct function): Remove x_whole_function_mode_p. * c-decl.c (store_parm_decls): Don't set it. * tree-optimize.c (tree_rest_of_compilation): Likewise. * passes.c (rest_of_compilation): Don't check it. * stmt.c (expand_fixup): Likewise. * function.c (fixup_var_refs_insn): Remove unused variable. fortran/ * trans-decl.c (gfc_generate_function_code): Don't set x_whole_function_mode_p. (gfc_generate_constructors): Likewise. From-SVN: r83947 --- gcc/ChangeLog | 9 +++++++++ gcc/c-decl.c | 3 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-decl.c | 5 ----- gcc/function.c | 1 - gcc/function.h | 6 ------ gcc/passes.c | 8 +------- gcc/stmt.c | 19 ++++++------------- gcc/tree-optimize.c | 3 --- 9 files changed, 22 insertions(+), 38 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bcf1b222730..8d63cd7a2a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2004-06-30 Richard Henderson + + * function.h (struct function): Remove x_whole_function_mode_p. + * c-decl.c (store_parm_decls): Don't set it. + * tree-optimize.c (tree_rest_of_compilation): Likewise. + * passes.c (rest_of_compilation): Don't check it. + * stmt.c (expand_fixup): Likewise. + * function.c (fixup_var_refs_insn): Remove unused variable. + 2004-06-30 Richard Henderson * tree.h (immediate_size_expand): Delete. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 16eb49d26e5..00bb5872da0 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -6151,9 +6151,6 @@ store_parm_decls (void) } } - /* This function is being processed in whole-function mode. */ - cfun->x_whole_function_mode_p = 1; - /* Even though we're inside a function body, we still don't want to call expand_expr to calculate the size of a variable-sized array. We haven't necessarily assigned RTL to all variables yet, so it's diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index d19b4f5083d..a314248cbde 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2004-06-30 Richard Henderson + + * trans-decl.c (gfc_generate_function_code): Don't set + x_whole_function_mode_p. + (gfc_generate_constructors): Likewise. + 2004-06-30 Richard Henderson * trans-decl.c (gfc_generate_function_code): Don't set diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 0b09555e611..480a8be563d 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -2028,9 +2028,6 @@ gfc_generate_function_code (gfc_namespace * ns) /* line and file should not be 0 */ init_function_start (fndecl); - /* We're in function-at-a-time mode. */ - cfun->x_whole_function_mode_p = 1; - /* Even though we're inside a function body, we still don't want to call expand_expr to calculate the size of a variable-sized array. We haven't necessarily assigned RTL to all variables yet, so it's @@ -2188,8 +2185,6 @@ gfc_generate_constructors (void) init_function_start (fndecl, input_filename, input_line); - cfun->x_whole_function_mode_p = 1; - pushlevel (0); for (; gfc_static_ctors; gfc_static_ctors = TREE_CHAIN (gfc_static_ctors)) diff --git a/gcc/function.c b/gcc/function.c index f6c73a64a19..3a9fc902860 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -1768,7 +1768,6 @@ fixup_var_refs_insn (rtx insn, rtx var, enum machine_mode promoted_mode, else { struct fixup_replacement *replacements = 0; - rtx next_insn = NEXT_INSN (insn); if (SMALL_REGISTER_CLASSES) { diff --git a/gcc/function.h b/gcc/function.h index b83418f0cc4..39dde5335e8 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -461,12 +461,6 @@ struct function GTY(()) /* Nonzero if current function uses stdarg.h or equivalent. */ unsigned int stdarg : 1; - /* Nonzero if this function is being processed in function-at-a-time - mode. In other words, if all tree structure for this function, - including the BLOCK tree, is created before RTL generation - commences. */ - unsigned int x_whole_function_mode_p : 1; - /* Nonzero if the back-end should not keep track of expressions that determine the size of variable-sized objects. Normally, such expressions are saved away, and then expanded when the next diff --git a/gcc/passes.c b/gcc/passes.c index 34fdf7660c7..8ed0f305449 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1376,15 +1376,9 @@ rest_of_compilation (void) if (!cfun->dont_emit_block_notes) { - /* First, make sure that NOTE_BLOCK is set correctly for each - NOTE_INSN_BLOCK_BEG/NOTE_INSN_BLOCK_END note. */ - if (!cfun->x_whole_function_mode_p) - identify_blocks (); - /* In function-at-a-time mode, we do not attempt to keep the BLOCK tree in sensible shape. So, we just recalculate it here. */ - if (cfun->x_whole_function_mode_p) - reorder_blocks (); + reorder_blocks (); } else finalize_block_changes (); diff --git a/gcc/stmt.c b/gcc/stmt.c index 0b282bb623e..a1520e49585 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -745,24 +745,17 @@ expand_fixup (tree tree_label, rtx rtl_label, rtx last_insn) block = make_node (BLOCK); TREE_USED (block) = 1; - if (!cfun->x_whole_function_mode_p) - lang_hooks.decls.insert_block (block); - else - { - BLOCK_CHAIN (block) - = BLOCK_CHAIN (DECL_INITIAL (current_function_decl)); - BLOCK_CHAIN (DECL_INITIAL (current_function_decl)) - = block; - } + BLOCK_CHAIN (block) + = BLOCK_CHAIN (DECL_INITIAL (current_function_decl)); + BLOCK_CHAIN (DECL_INITIAL (current_function_decl)) + = block; start_sequence (); start = emit_note (NOTE_INSN_BLOCK_BEG); - if (cfun->x_whole_function_mode_p) - NOTE_BLOCK (start) = block; + NOTE_BLOCK (start) = block; fixup->before_jump = emit_note (NOTE_INSN_DELETED); end = emit_note (NOTE_INSN_BLOCK_END); - if (cfun->x_whole_function_mode_p) - NOTE_BLOCK (end) = block; + NOTE_BLOCK (end) = block; fixup->context = block; end_sequence (); emit_insn_after (start, original_before_jump); diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index a4ee979d45f..cfac6f7adba 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -467,9 +467,6 @@ tree_rest_of_compilation (tree fndecl, bool nested_p) input_location = DECL_SOURCE_LOCATION (fndecl); init_function_start (fndecl); - /* This function is being processed in whole-function mode. */ - cfun->x_whole_function_mode_p = 1; - /* Even though we're inside a function body, we still don't want to call expand_expr to calculate the size of a variable-sized array. We haven't necessarily assigned RTL to all variables yet, so it's -- 2.30.2