diff options
author | Jan Hubicka <jh@suse.cz> | 2013-08-10 00:53:00 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-08-09 22:53:00 +0000 |
commit | 634ab819546e358bae26a7f798652f1271ae099d (patch) | |
tree | 8a4fa2cb049df6b6085971ee7b7c3615601cc693 /gcc/cgraph.h | |
parent | 537a6f7b4752b04a5ce4cb1fb96f1f1e9c407402 (diff) | |
download | gcc-634ab819546e358bae26a7f798652f1271ae099d.zip gcc-634ab819546e358bae26a7f798652f1271ae099d.tar.gz gcc-634ab819546e358bae26a7f798652f1271ae099d.tar.bz2 |
cgraph.c (cgraph_resolve_speculation): Cut frequency to CGRAPH_FREQ_MAX.
* cgraph.c (cgraph_resolve_speculation): Cut frequency to
CGRAPH_FREQ_MAX.
(dump_cgraph_node): Dump profile-id.
* cgraph.h (cgraph_indirect_call_info): Add common_target_id
and common_target_probability.
* lto-cgraph.c (lto_output_edge): Stream common targets.
(lto_output_node): Stream profile ids.
(input_node): Stream profile ids.
(input_edge): Stream common targets.
* lto-streamer-in.c (fixup_call_stmt_edges_1): Fix formatting.
* ipa.c: Include value-prof.h
(ipa_profile_generate_summary): Turn indirect call statement histograms
into common targets.
(ipa_profile): Turn common targets into speculative edges.
* gcc.dg/tree-prof/crossmodule-indircall-1.c: New testcase.
* gcc.dg/tree-prof/crossmodule-indircall-1a.c: New testcase.
From-SVN: r201639
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index f67287f..e430533 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -435,6 +435,10 @@ struct GTY(()) cgraph_indirect_call_info int param_index; /* ECF flags determined from the caller. */ int ecf_flags; + /* Profile_id of common target obtrained from profile. */ + int common_target_id; + /* Probability that call will land in function with COMMON_TARGET_ID. */ + int common_target_probability; /* Set when the call is a virtual call with the parameter being the associated object pointer rather than a simple direct call. */ |