aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-profile.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2007-03-08 19:02:51 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2007-03-08 19:02:51 +0000
commitebb07520cddaa13da40dbd6775c5ff3f1b22494c (patch)
tree3617ec1a2bb412824e9bea9c93c38f76d7505941 /gcc/tree-profile.c
parent0c948c27462a668b4e01f7841c0cca812fbbdd8c (diff)
downloadgcc-ebb07520cddaa13da40dbd6775c5ff3f1b22494c.zip
gcc-ebb07520cddaa13da40dbd6775c5ff3f1b22494c.tar.gz
gcc-ebb07520cddaa13da40dbd6775c5ff3f1b22494c.tar.bz2
tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt instead of calling build2 with a GIMPLE_MODIFY_STMT.
* tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt instead of calling build2 with a GIMPLE_MODIFY_STMT. (honor_protect_cleanup_actions, lower_try_finally_switch): Likewise. * tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt, ifc_temp_var): Likewise. * tree-inline.c (setup_one_parameter): Likewise. * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for): Likewise. * tree-nested.c (init_tmp_var, save_tmp_var, finalize_nesting_tree_1): Likewise. * tree-outof-ssa.c (insert_copy_on_edge, insert_backedge_copies): Likewise. * tree-profile.c (tree_gen_edge_profiler, tree_gen_ic_profiler): Likewise. * tree-scalar-evolution.c (scev_const_prop): Likewise. * tree-sra.c (sra_build_assignment): Likewise. * tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise. * tree-ssa-math-opts.c (insert_reciprocals, execute_cse_sincos_1): Likewise. * tree-tailcall.c (adjust_accumulator_values, adjust_return_value): Likewise. * tree-vect-patterns.c (vect_pattern_recog_1): Likewise. * tree-vect-transform.c (vect_create_data_ref_ptr, bump_vector_ptr, vect_init_vector, get_initial_def_for_induction, vect_create_epilog_for_reduction, vectorizable_reduction, vectorizable_call, vectorizable_conversion, vectorizable_assignment, vectorizable_operation, vectorizable_type_demotion, vect_gen_widened_results_half, vect_permute_store_chain, vectorizable_store, vect_setup_realignment, vect_permute_load_chain, vectorizable_load, vectorizable_condition, vect_create_cond_for_align_checks): Likewise. * tree-vrp.c (build_assert_expr_for): Likewise. From-SVN: r122707
Diffstat (limited to 'gcc/tree-profile.c')
-rw-r--r--gcc/tree-profile.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index b8e54d4..54e8847 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -1,6 +1,7 @@
/* Calculate branch probabilities, and basic block execution counts.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+ Free Software Foundation, Inc.
Contributed by James E. Wilson, UC Berkeley/Cygnus Support;
based on some ideas from Dain Samples of UC Berkeley.
Further mangling by Bob Manson, Cygnus Support.
@@ -171,11 +172,12 @@ tree_gen_edge_profiler (int edgeno, edge e)
tree tmp1 = create_tmp_var (gcov_type_node, "PROF");
tree tmp2 = create_tmp_var (gcov_type_node, "PROF");
tree ref = tree_coverage_counter_ref (GCOV_COUNTER_ARCS, edgeno);
- tree stmt1 = build2 (GIMPLE_MODIFY_STMT, gcov_type_node, tmp1, ref);
- tree stmt2 = build2 (GIMPLE_MODIFY_STMT, gcov_type_node, tmp2,
- build2 (PLUS_EXPR, gcov_type_node,
- tmp1, integer_one_node));
- tree stmt3 = build2 (GIMPLE_MODIFY_STMT, gcov_type_node, ref, tmp2);
+ tree one = build_int_cst (gcov_type_node, 1);
+ tree stmt1 = build_gimple_modify_stmt (tmp1, ref);
+ tree stmt2 = build_gimple_modify_stmt (tmp2,
+ build2 (PLUS_EXPR, gcov_type_node,
+ tmp1, one));
+ tree stmt3 = build_gimple_modify_stmt (ref, tmp2);
bsi_insert_on_edge (e, stmt1);
bsi_insert_on_edge (e, stmt2);
bsi_insert_on_edge (e, stmt3);
@@ -282,13 +284,9 @@ tree_gen_ic_profiler (histogram_value value, unsigned tag, unsigned base)
*/
tmp1 = create_tmp_var (ptr_void, "PROF");
- stmt1 = build2 (GIMPLE_MODIFY_STMT,
- build_pointer_type (get_gcov_type ()),
- ic_gcov_type_ptr_var, ref_ptr);
- stmt2 = build2 (GIMPLE_MODIFY_STMT, ptr_void, tmp1,
- unshare_expr (value->hvalue.value));
- stmt3 = build2 (GIMPLE_MODIFY_STMT, ptr_void,
- ic_void_ptr_var, tmp1);
+ stmt1 = build_gimple_modify_stmt (ic_gcov_type_ptr_var, ref_ptr);
+ stmt2 = build_gimple_modify_stmt (tmp1, unshare_expr (value->hvalue.value));
+ stmt3 = build_gimple_modify_stmt (ic_void_ptr_var, tmp1);
bsi_insert_before (&bsi, stmt1, BSI_SAME_STMT);
bsi_insert_before (&bsi, stmt2, BSI_SAME_STMT);