diff options
author | Jan Hubicka <jh@suse.cz> | 2003-06-06 11:24:26 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-06-06 09:24:26 +0000 |
commit | 9ee634e345c67ea1aa84591aa91c7e18020c19ae (patch) | |
tree | 366519e64f386e83f2c89bfffb438c340d608e78 /gcc/cfgcleanup.c | |
parent | 7654db1b6667c4bb7fa927c3628cf661ca8465d9 (diff) | |
download | gcc-9ee634e345c67ea1aa84591aa91c7e18020c19ae.zip gcc-9ee634e345c67ea1aa84591aa91c7e18020c19ae.tar.gz gcc-9ee634e345c67ea1aa84591aa91c7e18020c19ae.tar.bz2 |
function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
* function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
* i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic stack frames.
(pro_epilogue_adjust_stack_rex64_2): New pattern
* cfghooks.h, cfghooks.c: New files.
* Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
(OBJS): Add cfghooks.o.
(cfghooks.o): New rule.
* basic-block.h (split_edge): Rename to rtl_split_edge.
(verify_flow_info): Rename to rtl_verify_flow_info.
(cfghooks.h): Included here.
* cfgrtl.c (split_edge): Renamed rtl_split_edge.
(verify_flow_info): Renamed rtl_verify_flow_info.
* toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
* basic-block.h (split_block, split_edge, flow_delete_block,
redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
(flow_delete_block_noexpunge): Return void.
* cfg.c (verify_flow_info): New function.
* cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
Use delete_block.
* cfglayout.c (function_footer): Rename to...
(cfg_layout_function_footer): ... this variable
(unlink_insn_chain): Make global.
(fixup_reorder_chain, record_effective_endpoints): Update.
(cleanup_unconditional_jumps): Use delete_block.
(cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
(cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
(cfg_layout_initialize, cfg_layout_finalize): Update hooks.
* cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
(cfg_layout_function_footer): Declare.
* cfgloopmanip (split_loop_bb): Do not update RBI.
(remove_bbs): Use delete_block.
(loop_reidrect_edge, loop_delete_branch_edge): Use
redirect_edge_and_branch.
(create_preheader): Use split_block and redirect_edge_and_branch_force.
(split_edge_with): Likewise.
* cfgrtl.c: Include cfglayout.h
(split_edge): Rename to ...
(rtl_split_edge) ... this one; make local.
(redirect_edge_and_branch): Rename to ...
(rtl_redirect_edge_and_branch) ... this one; make local.
(redirect_edge_and_branch_force): Rename to ...
(rtl_redirect_edge_and_branch_force) ... this one; make local.
(cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
(cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
cfglayout.c; update to directly call RTL counterparts.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
* ifcvt.c (find_cond_trap): Use delete_block.
(find_if_case_1): Use delete_block.
(find_if_case_2): Use delete_block.
* rtl.h (unlink_insn_chain): Declare.
* toplev.c (rtl_reigster_cfg_hooks): New.
From-SVN: r67535
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index cfb838c..b61d287 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -180,7 +180,7 @@ try_simplify_condjump (cbranch_block) update_br_prob_note (cbranch_block); /* Delete the block with the unconditional jump, and clean up the mess. */ - flow_delete_block (jump_block); + delete_block (jump_block); tidy_fallthru_edge (cbranch_jump_edge, cbranch_block, cbranch_dest_block); return true; @@ -1271,7 +1271,7 @@ outgoing_edges_match (mode, bb1, bb2) /* The labels should never be the same rtx. If they really are same the jump tables are same too. So disable crossjumping of blocks BB1 and BB2 because when deleting the common insns in the end of BB1 - by flow_delete_block () the jump table would be deleted too. */ + by delete_block () the jump table would be deleted too. */ /* If LABEL2 is referenced in BB1->END do not do anything because we would loose information when replacing LABEL1 by LABEL2 and then LABEL2 by LABEL1 in BB1->END. */ @@ -1568,7 +1568,7 @@ try_crossjump_to_edge (mode, e1, e2) to_remove = redirect_from->succ->dest; redirect_edge_and_branch_force (redirect_from->succ, redirect_to); - flow_delete_block (to_remove); + delete_block (to_remove); update_forwarder_flag (redirect_from); @@ -1721,7 +1721,7 @@ try_optimize_cfg (mode) fprintf (rtl_dump_file, "Deleting block %i.\n", b->index); - flow_delete_block (b); + delete_block (b); changed = true; b = c; } @@ -1772,7 +1772,7 @@ try_optimize_cfg (mode) c = b->prev_bb == ENTRY_BLOCK_PTR ? b->next_bb : b->prev_bb; redirect_edge_succ_nodup (b->pred, b->succ->dest); - flow_delete_block (b); + delete_block (b); changed = true; b = c; } @@ -1871,7 +1871,7 @@ delete_unreachable_blocks () if (!(b->flags & BB_REACHABLE)) { - flow_delete_block (b); + delete_block (b); changed = true; } } |