* 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
+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
* 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.
* 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>
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);
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 ();
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;
}
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;
}
if (file)
dump_flow_info (file);
- free_basic_block_vars (1);
-
/* Removing dead insns should have made jumptables really dead. */
delete_dead_jumptables ();
}
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. */
&& (!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);
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 ();
/* 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);
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);
}