diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-28 22:22:50 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-01-28 22:22:50 +0000 |
commit | 777e249ae8010727efffb45959cbdf7a2eed5c1b (patch) | |
tree | 838b5c749cb462341ad1b64dc6cc0bd1daa6820f /gcc/gcse.c | |
parent | 271f3c2e97c4ffb6dcf82ba570f6be2244bf963d (diff) | |
download | gcc-777e249ae8010727efffb45959cbdf7a2eed5c1b.tar.gz |
* flow.c (find_basic_blocks): Remove do_cleanup argument.
Break out that code ...
(cleanup_cfg): ... here.
(commit_one_edge_insertion): Detect a return instruction being
emitted to an edge. Emit a barrier following; clear fallthru.
(commit_edge_insertions): Verify CFG consistency.
* function.c (expand_function_start): Kill unused variable.
(expand_function_end): Likewise.
(thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
to insert the epilogue.
* gcse.c (gcse_main): Adjust for find_basic_blocks change.
(delete_null_pointer_checks): Likewise.
* output.h: Likewise.
* reg-stack.c (reg_to_stack): Likewise.
* toplev.c (rest_of_compilation): Likewise. Run
thread_prologue_and_epilogue_insns after rebuilding the CFG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31676 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index a61463d5929..482a5907010 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -673,7 +673,8 @@ gcse_main (f, file) /* Identify the basic block information for this function, including successors and predecessors. */ max_gcse_regno = max_reg_num (); - find_basic_blocks (f, max_gcse_regno, file, 1); + find_basic_blocks (f, max_gcse_regno, file); + cleanup_cfg (f); if (file) dump_flow_info (file); @@ -5201,7 +5202,8 @@ delete_null_pointer_checks (f) struct null_pointer_info npi; /* First break the program into basic blocks. */ - find_basic_blocks (f, max_reg_num (), NULL, 1); + find_basic_blocks (f, max_reg_num (), NULL); + cleanup_cfg (f); /* If we have only a single block, then there's nothing to do. */ if (n_basic_blocks <= 1) |