summaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-08-13 21:02:19 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-08-13 21:02:19 +0000
commitc302207e352d7372845458212fa30251ff1ae730 (patch)
tree1c95fd4683bc594cb2132acdc6e4392391693368 /gcc/tree-vrp.c
parent2942db6337e4982a520f596554c9ae409afc69af (diff)
downloadgcc-c302207e352d7372845458212fa30251ff1ae730.tar.gz
tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points of potentially huge memset overhead.
* tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points of potentially huge memset overhead. (do_partial_partial_insertion): Likewise. * cfgexpand.c (gimple_expand_cfg): Use XCNEWVEC instead of xcalloc. * tree-vrp.c (find_assert_locations): Use XNEWVEC instead of XCNEWVEC for arrays to be filled by pre_and_rev_post_order_compute. Allocate the right number of slots, not that number plus NUM_FIXED_BLOCKS. * tree-ssa-reassoc.c (init_reassoc): Likewise. * cfganal.c (dfs_enumerate_from): Use XNEWVEC instead of XCNEWVEC for array used as stack. * tree-ssa-sccvn.c (init_scc_vn): Use XNEWVEC instead of XCNEWVEC for arrays to be filled by pre_and_rev_post_order_compute. * cfgloopmanip.c (find_path): Use XNEWVEC instead of XCNEWVEC for array to be filled by dfs_enumerate_from. (remove_path): Likewise. (duplicate_loop_to_header_edge): Use XNEWVEC instead of XCNEWVEC for array of loops that is filled on the next lines. * cfgloop.c (get_loop_body): Use XNEWVEC instead of XCNEWVEC for array of basic blocks to be returned. (get_loop_body_in_dom_order): Likewise. (get_loop_body_in_bfs_order): Likewise. * tree-ssa-loop-manip.c (loop_renamer_obstack): New static obstack for all bitmaps used for rewriting into loop-closed SSA form. (add_exit_phis_var): Allocate the def bitmap on it. Clear the livein bitmap at the end to release a lot of memory. (add_exit_phis): Allocate the exits bitmap on the new obstack. (get_loops_exits): Allocate the exits bitmap on the new obstack. (find_uses_to_rename_use): Allocate a use_blocks bitmap if ver is seen for the first time. (find_uses_to_rename): Add "???" for why the whole function must be re-scanned if changed_bbs is empty. (rewrite_into_loop_closed_ssa): Allocate bitmaps on the new obstack. Use XNEWVEC to allocate the use_blocks array. Initialize the new obstack, and free it at the end. Remove loop over all SSA names. (check_loop_closed_ssa_stmt): Look only at SSA_OP_USE operands. * tree-cfg.c (move_sese_region_to_fn): Use XNEWVEC instead of xcalloc to allocate edge_pred and edge_flag arrays. From-SVN: r190359
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index eb6402bd281..65aa6c1169b 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -5574,19 +5574,19 @@ find_assert_locations_1 (basic_block bb, sbitmap live)
static bool
find_assert_locations (void)
{
- int *rpo = XCNEWVEC (int, last_basic_block + NUM_FIXED_BLOCKS);
- int *bb_rpo = XCNEWVEC (int, last_basic_block + NUM_FIXED_BLOCKS);
- int *last_rpo = XCNEWVEC (int, last_basic_block + NUM_FIXED_BLOCKS);
+ int *rpo = XNEWVEC (int, last_basic_block);
+ int *bb_rpo = XNEWVEC (int, last_basic_block);
+ int *last_rpo = XCNEWVEC (int, last_basic_block);
int rpo_cnt, i;
bool need_asserts;
- live = XCNEWVEC (sbitmap, last_basic_block + NUM_FIXED_BLOCKS);
+ live = XCNEWVEC (sbitmap, last_basic_block);
rpo_cnt = pre_and_rev_post_order_compute (NULL, rpo, false);
for (i = 0; i < rpo_cnt; ++i)
bb_rpo[rpo[i]] = i;
need_asserts = false;
- for (i = rpo_cnt-1; i >= 0; --i)
+ for (i = rpo_cnt - 1; i >= 0; --i)
{
basic_block bb = BASIC_BLOCK (rpo[i]);
edge e;
@@ -5647,7 +5647,7 @@ find_assert_locations (void)
XDELETEVEC (rpo);
XDELETEVEC (bb_rpo);
XDELETEVEC (last_rpo);
- for (i = 0; i < last_basic_block + NUM_FIXED_BLOCKS; ++i)
+ for (i = 0; i < last_basic_block; ++i)
if (live[i])
sbitmap_free (live[i]);
XDELETEVEC (live);