diff options
author | Richard Guenther <rguenther@suse.de> | 2010-10-05 10:42:24 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-10-05 10:42:24 +0000 |
commit | 4d3814a514c4854cdc44242d383ea245c413b1d5 (patch) | |
tree | ff7a8ef56d2fdbc4a060af939444fce16b626c97 /gcc/ipa-inline.c | |
parent | 65b1d8ea3ed53d03f92a614c93faf637fa708772 (diff) | |
download | gcc-4d3814a514c4854cdc44242d383ea245c413b1d5.zip gcc-4d3814a514c4854cdc44242d383ea245c413b1d5.tar.gz gcc-4d3814a514c4854cdc44242d383ea245c413b1d5.tar.bz2 |
value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
2010-10-05 Richard Guenther <rguenther@suse.de>
* value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
(gimple_mod_pow2): Likewise.
(gimple_mod_subtract): Likewise.
(gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-profile.c (tree_init_edge_profiler): Mark profile
functions nothrow and leaf.
(add_abnormal_goto_call_edges): Remove.
(tree_gen_edge_profiler): Work on SSA form.
(tree_gen_ic_profiler): Likewise. Simplify.
(do_tree_profiling): Update SSA form.
(pass_tree_profile): Remove.
(do_tree_profiling): Likewise.
(gate_tree_profile_ipa): New function.
(pass_ipa_tree_profile): New.
(tree_profiling): Re-write as IPA pass. Properly drop const/pure
state of instrumented functions.
* passes.c (init_optimization_passes): Remove early non-SSA
inlining. Move profiling after early optimizations.
* ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
(pass_ipa_early_inline): Likewise.
* tree-pass.h (pass_ipa_early_inline): Remove.
(pass_tree_profile): Likewise.
(pass_ipa_tree_profile): Declare.
* gcc.dg/tree-prof/val-prof-1.c: Adjust.
* gcc.dg/tree-prof/val-prof-2.c: Likewise.
* gcc.dg/tree-prof/val-prof-3.c: Likewise.
* gcc.dg/tree-prof/val-prof-4.c: Likewise.
* gcc.dg/tree-prof/val-prof-5.c: Likewise.
* gcc.dg/tree-prof/val-prof-7.c: Likewise.
* gcc.dg/tree-prof/stringop-1.c: Likewise.
* gcc.dg/tree-prof/stringop-2.c: Likewise.
* gcc.dg/tree-prof/ic-misattribution-1.c: Likewise.
* gcc.dg/tree-prof/indir-call-prof.c: Likewise.
* gcc.dg/tree-prof/update-loopch.c: Likewise.
* g++.dg/tree-prof/indir-call-prof.C: Likewise.
* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
* gcc.dg/tree-prof/tracer-1.c: Likewise.
* gcc.dg/tree-ssa/inline-4.c: Likewise.
* gcc.dg/tree-ssa/inline-3.c: Likewise.
* gcc.dg/tree-ssa/20080530.c: Likewise.
* g++.dg/tree-ssa/inline-3.C: Likewise.
* g++.dg/tree-ssa/inline-1.C: Likewise.
* g++.dg/tree-ssa/inline-2.C: Likewise.
* gcc.dg/profile-dir-1.c: Likewise.
* gcc.dg/profile-dir-2.c: Likewise.
* gcc.dg/profile-dir-3.c: Likewise.
From-SVN: r164986
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index ca3823b..8d9db0b 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1841,36 +1841,6 @@ struct gimple_opt_pass pass_early_inline = } }; -/* When inlining shall be performed. */ -static bool -cgraph_gate_ipa_early_inlining (void) -{ - return (flag_early_inlining - && !in_lto_p - && (flag_branch_probabilities || flag_test_coverage - || profile_arc_flag)); -} - -/* IPA pass wrapper for early inlining pass. We need to run early inlining - before tree profiling so we have stand alone IPA pass for doing so. */ -struct simple_ipa_opt_pass pass_ipa_early_inline = -{ - { - SIMPLE_IPA_PASS, - "einline_ipa", /* name */ - cgraph_gate_ipa_early_inlining, /* gate */ - NULL, /* execute */ - NULL, /* sub */ - NULL, /* next */ - 0, /* static_pass_number */ - TV_INLINE_HEURISTICS, /* tv_id */ - 0, /* properties_required */ - 0, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - TODO_dump_cgraph /* todo_flags_finish */ - } -}; /* See if statement might disappear after inlining. We are not terribly sophisficated, basically looking for simple abstraction penalty wrappers. */ |