summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/c-decl.c3
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-decl.c5
-rw-r--r--gcc/function.c1
-rw-r--r--gcc/function.h6
-rw-r--r--gcc/passes.c8
-rw-r--r--gcc/stmt.c19
-rw-r--r--gcc/tree-optimize.c3
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,5 +1,14 @@
2004-06-30 Richard Henderson <rth@redhat.com>
+ * 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 <rth@redhat.com>
+
* tree.h (immediate_size_expand): Delete.
* stor-layout.c (immediate_size_expand): Delete.
(variable_size): Don't look at it.
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,6 +1,12 @@
2004-06-30 Richard Henderson <rth@redhat.com>
* trans-decl.c (gfc_generate_function_code): Don't set
+ x_whole_function_mode_p.
+ (gfc_generate_constructors): Likewise.
+
+2004-06-30 Richard Henderson <rth@redhat.com>
+
+ * trans-decl.c (gfc_generate_function_code): Don't set
immediate_size_expand.
(gfc_generate_constructors): Likewise.
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
OpenPOWER on IntegriCloud