diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2017-05-14 00:38:48 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2017-05-14 00:38:48 +0000 |
commit | 0e3de1d41eb6179eac75c8ae44c16c1ba1d2f5dd (patch) | |
tree | 6de1ecd2f719b8ec208ed45a232c64387837fa79 /gcc/predict.c | |
parent | 792bb49bb0732500fe4e87fbeae4aee3cb187112 (diff) | |
download | gcc-0e3de1d41eb6179eac75c8ae44c16c1ba1d2f5dd.zip gcc-0e3de1d41eb6179eac75c8ae44c16c1ba1d2f5dd.tar.gz gcc-0e3de1d41eb6179eac75c8ae44c16c1ba1d2f5dd.tar.bz2 |
use auto_bitmap more
gcc/ChangeLog:
2017-05-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
lifetime.
(migrate_btr_def): Likewise.
* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
* df-core.c (loop_post_order_compute): Likewise.
(loop_inverted_post_order_compute): Likewise.
* hsa-common.h: Likewise.
* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
* init-regs.c (initialize_uninitialized_regs): Likewise.
* ipa-inline.c (resolve_noninline_speculation): Likewise.
(inline_small_functions): Likewise.
* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
* ira.c (combine_and_move_insns): Likewise.
(build_insn_chain): Likewise.
* loop-invariant.c (find_invariants): Likewise.
* lower-subreg.c (propagate_pseudo_copies): Likewise.
* predict.c (tree_predict_by_opcode): Likewise.
(predict_paths_leading_to): Likewise.
(predict_paths_leading_to_edge): Likewise.
(estimate_loops_at_level): Likewise.
(estimate_loops): Likewise.
* shrink-wrap.c (try_shrink_wrapping): Likewise.
(spread_components): Likewise.
* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
* tree-loop-distribution.c (rdg_build_partitions): Likewise.
* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
(mark_threaded_blocks): Likewise.
(thread_through_all_blocks): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(execute_update_addresses_taken): Likewise.
* tree-ssanames.c (verify_ssaname_freelists): Likewise.
From-SVN: r248021
Diffstat (limited to 'gcc/predict.c')
-rw-r--r-- | gcc/predict.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/gcc/predict.c b/gcc/predict.c index fa4e626..0fc9fc5 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -2396,7 +2396,6 @@ tree_predict_by_opcode (basic_block bb) tree type; tree val; enum tree_code cmp; - bitmap visited; edge_iterator ei; enum br_predictor predictor; @@ -2409,10 +2408,8 @@ tree_predict_by_opcode (basic_block bb) op1 = gimple_cond_rhs (stmt); cmp = gimple_cond_code (stmt); type = TREE_TYPE (op0); - visited = BITMAP_ALLOC (NULL); - val = expr_expected_value_1 (boolean_type_node, op0, cmp, op1, visited, + val = expr_expected_value_1 (boolean_type_node, op0, cmp, op1, auto_bitmap (), &predictor); - BITMAP_FREE (visited); if (val && TREE_CODE (val) == INTEGER_CST) { if (predictor == PRED_BUILTIN_EXPECT) @@ -2917,9 +2914,7 @@ static void predict_paths_leading_to (basic_block bb, enum br_predictor pred, enum prediction taken, struct loop *in_loop) { - bitmap visited = BITMAP_ALLOC (NULL); - predict_paths_for_bb (bb, bb, pred, taken, visited, in_loop); - BITMAP_FREE (visited); + predict_paths_for_bb (bb, bb, pred, taken, auto_bitmap (), in_loop); } /* Like predict_paths_leading_to but take edge instead of basic block. */ @@ -2943,9 +2938,7 @@ predict_paths_leading_to_edge (edge e, enum br_predictor pred, } if (!has_nonloop_edge) { - bitmap visited = BITMAP_ALLOC (NULL); - predict_paths_for_bb (bb, bb, pred, taken, visited, in_loop); - BITMAP_FREE (visited); + predict_paths_for_bb (bb, bb, pred, taken, auto_bitmap (), in_loop); } else predict_edge_def (e, pred, taken); @@ -3119,7 +3112,7 @@ estimate_loops_at_level (struct loop *first_loop) edge e; basic_block *bbs; unsigned i; - bitmap tovisit = BITMAP_ALLOC (NULL); + auto_bitmap tovisit; estimate_loops_at_level (loop->inner); @@ -3132,7 +3125,6 @@ estimate_loops_at_level (struct loop *first_loop) bitmap_set_bit (tovisit, bbs[i]->index); free (bbs); propagate_freq (loop->header, tovisit); - BITMAP_FREE (tovisit); } } @@ -3141,7 +3133,7 @@ estimate_loops_at_level (struct loop *first_loop) static void estimate_loops (void) { - bitmap tovisit = BITMAP_ALLOC (NULL); + auto_bitmap tovisit; basic_block bb; /* Start by estimating the frequencies in the loops. */ @@ -3154,7 +3146,6 @@ estimate_loops (void) bitmap_set_bit (tovisit, bb->index); } propagate_freq (ENTRY_BLOCK_PTR_FOR_FN (cfun), tovisit); - BITMAP_FREE (tovisit); } /* Drop the profile for NODE to guessed, and update its frequency based on |