aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2004-05-05 10:53:00 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2004-05-05 10:53:00 +0000
commitbb8a619e12e06104939fac9969dcd07615ee7260 (patch)
tree03660da4d993a568cb0264f3a174eaea5804d852
parentaa720a546a2945095bfa7a8cfb2b0f1a4021763a (diff)
downloadgcc-bb8a619e12e06104939fac9969dcd07615ee7260.zip
gcc-bb8a619e12e06104939fac9969dcd07615ee7260.tar.gz
gcc-bb8a619e12e06104939fac9969dcd07615ee7260.tar.bz2
basic-block.h (free_basic_block_vars): Update prototype.
* basic-block.h (free_basic_block_vars): Update prototype. * flow.c (free_basic_block_vars): Remove the keep_head_end_p argument. (life_analysis): Update call. * ifcvt.c (if_convert): Likewise. * passes.c (rest_of_handle_final): Likewise. (rest_of_compilation): Likewise. * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * emit-rtl.c (next_real_insn): Use INSN_P. (prev_real_insn): Likewise. From-SVN: r81520
-rw-r--r--gcc/ChangeLog47
-rw-r--r--gcc/basic-block.h2
-rw-r--r--gcc/config/sh/sh.c2
-rw-r--r--gcc/emit-rtl.c6
-rw-r--r--gcc/flow.c31
-rw-r--r--gcc/ifcvt.c4
-rw-r--r--gcc/passes.c4
-rw-r--r--gcc/sibcall.c2
8 files changed, 50 insertions, 48 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7aac8dc..147f1c7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,18 @@
+2004-05-05 Steven Bosscher <stevenb@suse.de>
+
+ * basic-block.h (free_basic_block_vars): Update prototype.
+ * flow.c (free_basic_block_vars): Remove the keep_head_end_p
+ argument.
+ (life_analysis): Update call.
+ * ifcvt.c (if_convert): Likewise.
+ * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
+ * passes.c (rest_of_handle_final): Likewise.
+ (rest_of_compilation): Likewise.
+ * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+
+ * emit-rtl.c (next_real_insn): Use INSN_P.
+ (prev_real_insn): Likewise.
+
2004-05-05 Eric Christopher <echristo@redhat.com>
* config/mips/mips.md: Update the madd define_split for new mflo/mfhi
@@ -133,8 +148,8 @@
* dwarf2out.c (dwarf2out_imported_module_or_decl): Use
force_type_die for CONST_DECL.
-2004-05-03  Eric Botcazou <ebotcazou@libertysurf.fr>
- Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+2004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+ Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
tm-dwarf2.h to tm_file.
@@ -300,20 +315,20 @@
* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
2004-04-30 Brian Ford <ford@vss.fsi.com>
- DJ Delorie <dj@redhat.com>
-
- * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
- (DWARF2_DEBUGGING_INFO): Define to enable.
- (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
- DWARF2.
- * configure.ac (Target-specific assembler checks)
- <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
- relocs.
- * configure: Regenerate.
- * config.in: Likewise.
-
- * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
- (ASM_OUPUT_DWARF_OFFSET): Define.
+ DJ Delorie <dj@redhat.com>
+
+ * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
+ (DWARF2_DEBUGGING_INFO): Define to enable.
+ (DBX_REGISTER_NUMBER): Define to use the svr4 register map for
+ DWARF2.
+ * configure.ac (Target-specific assembler checks)
+ <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
+ relocs.
+ * configure: Regenerate.
+ * config.in: Likewise.
+
+ * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
+ (ASM_OUPUT_DWARF_OFFSET): Define.
2004-04-29 Andreas Krebbel <krebbel1@de.ibm.com>
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 2c3ef58..ccbecf1 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -363,7 +363,7 @@ extern void compute_bb_for_insn (void);
extern void free_bb_for_insn (void);
extern void update_bb_for_insn (basic_block);
-extern void free_basic_block_vars (int);
+extern void free_basic_block_vars (void);
extern void insert_insn_on_edge (rtx, edge);
bool safe_insert_insn_on_edge (rtx, edge);
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index ed4b714..e3d15b9 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -9482,7 +9482,7 @@ sh_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
if (optimize > 0 && flag_schedule_insns_after_reload)
{
/* Release all memory allocated by flow. */
- free_basic_block_vars (0);
+ free_basic_block_vars ();
/* Release all memory held by regsets now. */
regset_release_memory ();
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 9a5533c..d7633e5 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -2960,8 +2960,7 @@ next_real_insn (rtx insn)
while (insn)
{
insn = NEXT_INSN (insn);
- if (insn == 0 || GET_CODE (insn) == INSN
- || GET_CODE (insn) == CALL_INSN || GET_CODE (insn) == JUMP_INSN)
+ if (insn == 0 || INSN_P (insn))
break;
}
@@ -2978,8 +2977,7 @@ prev_real_insn (rtx insn)
while (insn)
{
insn = PREV_INSN (insn);
- if (insn == 0 || GET_CODE (insn) == INSN || GET_CODE (insn) == CALL_INSN
- || GET_CODE (insn) == JUMP_INSN)
+ if (insn == 0 || INSN_P (insn))
break;
}
diff --git a/gcc/flow.c b/gcc/flow.c
index 1cd0823..49729bb 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -488,8 +488,6 @@ life_analysis (rtx f, FILE *file, int flags)
if (file)
dump_flow_info (file);
- free_basic_block_vars (1);
-
/* Removing dead insns should have made jumptables really dead. */
delete_dead_jumptables ();
}
@@ -809,28 +807,23 @@ update_life_info_in_dirty_blocks (enum update_life_extent extent, int prop_flags
return retval;
}
-/* Free the variables allocated by find_basic_blocks.
-
- KEEP_HEAD_END_P is nonzero if basic_block_info is not to be freed. */
+/* Free the variables allocated by find_basic_blocks. */
void
-free_basic_block_vars (int keep_head_end_p)
+free_basic_block_vars (void)
{
- if (! keep_head_end_p)
+ if (basic_block_info)
{
- if (basic_block_info)
- {
- clear_edges ();
- VARRAY_FREE (basic_block_info);
- }
- n_basic_blocks = 0;
- last_basic_block = 0;
-
- ENTRY_BLOCK_PTR->aux = NULL;
- ENTRY_BLOCK_PTR->global_live_at_end = NULL;
- EXIT_BLOCK_PTR->aux = NULL;
- EXIT_BLOCK_PTR->global_live_at_start = NULL;
+ clear_edges ();
+ VARRAY_FREE (basic_block_info);
}
+ n_basic_blocks = 0;
+ last_basic_block = 0;
+
+ ENTRY_BLOCK_PTR->aux = NULL;
+ ENTRY_BLOCK_PTR->global_live_at_end = NULL;
+ EXIT_BLOCK_PTR->aux = NULL;
+ EXIT_BLOCK_PTR->global_live_at_start = NULL;
}
/* Delete any insns that copy a register to itself. */
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index f080237..7968b2b 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -3291,10 +3291,6 @@ if_convert (int x_life_data_ok)
&& (!flag_reorder_blocks_and_partition || !no_new_pseudos))
mark_loop_exit_edges ();
- /* Free up basic_block_for_insn so that we don't have to keep it
- up to date, either here or in merge_blocks. */
- free_basic_block_vars (1);
-
/* Compute postdominators if we think we'll use them. */
if (HAVE_conditional_execution || life_data_ok)
calculate_dominance_info (CDI_POST_DOMINATORS);
diff --git a/gcc/passes.c b/gcc/passes.c
index 2453c74..eaf4de5 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -465,7 +465,7 @@ rest_of_handle_final (tree decl, rtx insns)
fflush (asm_out_file);
/* Release all memory allocated by flow. */
- free_basic_block_vars (0);
+ free_basic_block_vars ();
/* Release all memory held by regsets now. */
regset_release_memory ();
@@ -2095,7 +2095,7 @@ rest_of_compilation (tree decl)
/* Show no temporary slots allocated. */
init_temp_slots ();
- free_basic_block_vars (0);
+ free_basic_block_vars ();
free_bb_for_insn ();
timevar_pop (TV_FINAL);
diff --git a/gcc/sibcall.c b/gcc/sibcall.c
index facc9ac..cfd1a62 100644
--- a/gcc/sibcall.c
+++ b/gcc/sibcall.c
@@ -748,6 +748,6 @@ optimize_sibling_and_tail_recursive_calls (void)
reorder_blocks ();
/* This information will be invalid after inline expansion. Kill it now. */
- free_basic_block_vars (0);
+ free_basic_block_vars ();
free_EXPR_LIST_list (&tail_recursion_label_list);
}