diff options
author | Jan Hubicka <jh@suse.cz> | 2001-07-30 22:30:23 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-07-30 20:30:23 +0000 |
commit | 0ecf09f9cc1ee9c4c2daa91d2f2a844013f81cdb (patch) | |
tree | df492d486710873b66c3b9b278a0eac02a7df6c8 /gcc/toplev.c | |
parent | 1490f39253ed06e99aec28d0c265154039fa9b2b (diff) | |
download | gcc-0ecf09f9cc1ee9c4c2daa91d2f2a844013f81cdb.zip gcc-0ecf09f9cc1ee9c4c2daa91d2f2a844013f81cdb.tar.gz gcc-0ecf09f9cc1ee9c4c2daa91d2f2a844013f81cdb.tar.bz2 |
i386.c (ix86_output_main_function_alignment_hack): New function.
* i386.c (ix86_output_main_function_alignment_hack): New function.
(TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
* flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
edges by EDGE_DFS_BACK flag.
(dump_edge_info): Add dfs_back flag.
* basic-block.h (EDGE_DFS_BACK): New constant.
(mark_dfs_back_edges): Declare.
* alias.c (loop_p): Remove.
(mark_constant_function): Use mark_dfs_back_edges.
* reg-stack.c (block_info_def): Add predecesors counter and stack_out.
(reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
(compensate_edge): Break out from ...
(convert_regs_1): ... here; do smart choosing of stack_out to copy.
(convert_regs_2): Set block_done once block is really done;
Do updating of the predecesors counts.
* toplev.c (rest_of_compilation): Recompute block_for_insn
before post-reload cfg_cleanup.
* function.c (thread_prologue_epilogue_insns):
Call set_block_for_new_insns when emitting prologue directly.
From-SVN: r44486
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 07de29b..f3b50d1 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3473,11 +3473,13 @@ rest_of_compilation (decl) verify_flow_info (); #endif + compute_bb_for_insn (get_max_uid ()); + /* If optimizing, then go ahead and split insns now. */ if (optimize > 0) split_all_insns (0); - cleanup_cfg (0); + cleanup_cfg (optimize ? CLEANUP_EXPENSIVE : 0); /* On some machines, the prologue and epilogue code, or parts thereof, can be represented as RTL. Doing so lets us schedule insns between @@ -3485,8 +3487,6 @@ rest_of_compilation (decl) scheduling to operate in the epilogue. */ thread_prologue_and_epilogue_insns (insns); - compute_bb_for_insn (get_max_uid ()); - if (optimize) { cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_CROSSJUMP); |