[new-regalloc] tidy rest_of_compilation
Daniel Berlin
dberlin@redhat.com
Thu Feb 1 17:38:00 GMT 2001
On Thu, 1 Feb 2001, Richard Henderson wrote:
> No ifdefs; we don't have a local-alloc anymore.
Works for me.
>
>
> r~
>
>
> * toplev.c (NEW_REGISTER_ALLOCATOR): Remove.
> (dump_file_index, dump_file): Remove lreg dump file.
> (rest_of_compilation): Don't ifdef NEW_REGISTER_ALLOCATOR.
> Use the global register time var and dump files for the
> new allocator.
> * timevar.def (TV_LOCAL_ALLOC): Remove.
>
> Index: toplev.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
> retrieving revision 1.418.2.2
> diff -c -p -d -r1.418.2.2 toplev.c
> *** toplev.c 2001/01/30 04:52:49 1.418.2.2
> --- toplev.c 2001/02/02 00:14:41
> *************** Boston, MA 02111-1307, USA. */
> *** 64,73 ****
> #include "diagnostic.h"
> #include "ssa.h"
>
> - #ifndef NEW_REGISTER_ALLOCATOR
> - #define NEW_REGISTER_ALLOCATOR 1
> - #endif
> -
> #ifndef ACCUMULATE_OUTGOING_ARGS
> #define ACCUMULATE_OUTGOING_ARGS 0
> #endif
> --- 64,69 ----
> *************** enum dump_file_index
> *** 276,282 ****
> DFI_ce,
> DFI_regmove,
> DFI_sched,
> - DFI_lreg,
> DFI_greg,
> DFI_postreload,
> DFI_flow2,
> --- 272,277 ----
> *************** struct dump_file_info dump_file[DFI_MAX]
> *** 321,327 ****
> { "ce", 'C', 1, 0, 0 },
> { "regmove", 'N', 1, 0, 0 },
> { "sched", 'S', 1, 0, 0 },
> - { "lreg", 'l', 1, 0, 0 },
> { "greg", 'g', 1, 0, 0 },
> { "postreload", 'o', 1, 0, 0 },
> { "flow2", 'w', 1, 0, 0 },
> --- 316,321 ----
> *************** rest_of_compilation (decl)
> *** 3406,3469 ****
> since this can impact optimizations done by the prologue and
> epilogue thus changing register elimination offsets. */
> current_function_is_leaf = leaf_function_p ();
> -
> - timevar_push (TV_LOCAL_ALLOC);
> - open_dump_file (DFI_lreg, decl);
> -
> - /* Allocate pseudo-regs that are used only within 1 basic block.
>
> ! RUN_JUMP_AFTER_RELOAD records whether or not we need to rerun the
> ! jump optimizer after register allocation and reloading are finished. */
>
> if (! register_life_up_to_date)
> recompute_reg_usage (insns, ! optimize_size);
> regclass (insns, max_reg_num (), rtl_dump_file);
> ! #ifdef NEW_REGISTER_ALLOCATOR
> ! init_new_regalloc();
> ! timevar_pop (TV_LOCAL_ALLOC);
> ! #else
> ! rebuild_label_notes_after_reload = local_alloc ();
> !
> ! timevar_pop (TV_LOCAL_ALLOC);
> !
> ! if (dump_file[DFI_lreg].enabled)
> ! {
> ! timevar_push (TV_DUMP);
> !
> ! dump_flow_info (rtl_dump_file);
> ! dump_local_alloc (rtl_dump_file);
> !
> ! close_dump_file (DFI_lreg, print_rtl_with_bb, insns);
> ! timevar_pop (TV_DUMP);
> ! }
> !
> ! ggc_collect ();
> !
> ! timevar_push (TV_GLOBAL_ALLOC);
> ! open_dump_file (DFI_greg, decl);
> !
> ! /* If optimizing, allocate remaining pseudo-regs. Do the reload
> ! pass fixing up any insns that are invalid. */
> !
> ! if (optimize)
> ! failure = global_alloc (rtl_dump_file);
> ! else
> ! {
> ! build_insn_chain (insns);
> ! failure = reload (insns, 0);
> ! }
>
> timevar_pop (TV_GLOBAL_ALLOC);
> - #endif
> - if (dump_file[DFI_greg].enabled)
> - {
> - timevar_push (TV_DUMP);
> -
> - dump_global_regs (rtl_dump_file);
> -
> - close_dump_file (DFI_greg, print_rtl_with_bb, insns);
> - timevar_pop (TV_DUMP);
> - }
>
> if (failure)
> goto exit_rest_of_compilation;
> --- 3400,3416 ----
> since this can impact optimizations done by the prologue and
> epilogue thus changing register elimination offsets. */
> current_function_is_leaf = leaf_function_p ();
>
> ! timevar_push (TV_GLOBAL_ALLOC);
> ! open_dump_file (DFI_greg, decl);
>
> if (! register_life_up_to_date)
> recompute_reg_usage (insns, ! optimize_size);
> regclass (insns, max_reg_num (), rtl_dump_file);
> ! init_new_regalloc ();
>
> + close_dump_file (DFI_greg, print_rtl_with_bb, insns);
> timevar_pop (TV_GLOBAL_ALLOC);
>
> if (failure)
> goto exit_rest_of_compilation;
> Index: timevar.def
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/timevar.def,v
> retrieving revision 1.6
> diff -c -p -d -r1.6 timevar.def
> *** timevar.def 2000/09/07 00:37:09 1.6
> --- timevar.def 2001/02/02 00:19:12
> *************** DEFTIMEVAR (TV_COMBINE , "
> *** 57,63 ****
> DEFTIMEVAR (TV_IFCVT , "if-conversion")
> DEFTIMEVAR (TV_REGMOVE , "regmove")
> DEFTIMEVAR (TV_SCHED , "scheduling")
> - DEFTIMEVAR (TV_LOCAL_ALLOC , "local alloc")
> DEFTIMEVAR (TV_GLOBAL_ALLOC , "global alloc")
> DEFTIMEVAR (TV_RELOAD_CSE_REGS , "reload CSE regs")
> DEFTIMEVAR (TV_FLOW2 , "flow 2")
> --- 57,62 ----
>
More information about the Gcc-patches
mailing list