summaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-28 22:22:50 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-28 22:22:50 +0000
commit777e249ae8010727efffb45959cbdf7a2eed5c1b (patch)
tree838b5c749cb462341ad1b64dc6cc0bd1daa6820f /gcc/gcse.c
parent271f3c2e97c4ffb6dcf82ba570f6be2244bf963d (diff)
downloadgcc-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.c6
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)