summaryrefslogtreecommitdiffstats
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-07 09:23:29 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-07 09:23:29 +0000
commit1d1e21f3bf87c52c57390a0491a71cb0b948108a (patch)
tree11b24e45dc8d9d1e3c4634bb9728e6215d582c0c /gcc/gcse.c
parenta4c9602b787475d937587de6c3baa6ea25f1ee79 (diff)
downloadppe42-gcc-1d1e21f3bf87c52c57390a0491a71cb0b948108a.tar.gz
ppe42-gcc-1d1e21f3bf87c52c57390a0491a71cb0b948108a.zip
* gcse.c (gcse_main): Don't rebuild the CFG here.
(delete_null_pointer_checks): Likewise. * ssa.c (convert_to_ssa): Likewise. * toplev.c (rest_of_compilation): Do it here instead. Combine sequential calls to TIMEVAR. Consistently use `insns' instead of `get_insns()'. Always split insns after reload when optimizing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32995 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c32
1 files changed, 4 insertions, 28 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 7a646f1c5e7..996cde95e72 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -669,18 +669,13 @@ 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);
- cleanup_cfg (f);
if (file)
dump_flow_info (file);
/* Return if there's nothing to do. */
if (n_basic_blocks <= 1)
- {
- free_basic_block_vars (0);
- return 0;
- }
+ return 0;
/* Trying to perform global optimizations on flow graphs which have
a high connectivity will take a long time and is unlikely to be
@@ -691,10 +686,7 @@ gcse_main (f, file)
a couple switch statements. So we require a relatively large number
of basic blocks and the ratio of edges to blocks to be high. */
if (n_basic_blocks > 1000 && n_edges / n_basic_blocks >= 20)
- {
- free_basic_block_vars (0);
- return 0;
- }
+ return 0;
/* See what modes support reg/reg copy operations. */
if (! can_copy_init_p)
@@ -807,7 +799,6 @@ gcse_main (f, file)
obstack_free (&gcse_obstack, NULL_PTR);
free_reg_set_mem ();
- free_basic_block_vars (0);
return run_jump_opt_after_gcse;
}
@@ -5070,17 +5061,9 @@ delete_null_pointer_checks (f)
int max_reg;
struct null_pointer_info npi;
- /* First break the program into basic blocks. */
- 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)
- {
- /* Free storage allocated by find_basic_blocks. */
- free_basic_block_vars (0);
- return;
- }
+ return;
/* Trying to perform global optimizations on flow graphs which have
a high connectivity will take a long time and is unlikely to be
@@ -5091,11 +5074,7 @@ delete_null_pointer_checks (f)
a couple switch statements. So we require a relatively large number
of basic blocks and the ratio of edges to blocks to be high. */
if (n_basic_blocks > 1000 && n_edges / n_basic_blocks >= 20)
- {
- /* Free storage allocated by find_basic_blocks. */
- free_basic_block_vars (0);
- return;
- }
+ return;
/* We need four bitmaps, each with a bit for each register in each
basic block. */
@@ -5152,9 +5131,6 @@ delete_null_pointer_checks (f)
nonnull_avout, &npi);
}
- /* Free storage allocated by find_basic_blocks. */
- free_basic_block_vars (0);
-
/* Free the table of registers compared at the end of every block. */
free (block_reg);
OpenPOWER on IntegriCloud