aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-01-28 14:22:50 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-01-28 14:22:50 -0800
commit19d3c25c9a4da9526a2012b47d14bc731fd0422e (patch)
tree838b5c749cb462341ad1b64dc6cc0bd1daa6820f /gcc/gcse.c
parent47e6ea667d23d2fd20ad3664e39654cc8a44502f (diff)
downloadgcc-19d3c25c9a4da9526a2012b47d14bc731fd0422e.zip
gcc-19d3c25c9a4da9526a2012b47d14bc731fd0422e.tar.gz
gcc-19d3c25c9a4da9526a2012b47d14bc731fd0422e.tar.bz2
flow.c (find_basic_blocks): Remove do_cleanup argument.
* 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. From-SVN: r31676
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index a61463d..482a590 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)